diff options
-rw-r--r-- | HISTORY.md | 2 | ||||
-rw-r--r-- | README.md | 31 | ||||
-rw-r--r-- | examples/pick-time.js | 6 | ||||
-rw-r--r-- | package.json | 4 | ||||
-rw-r--r-- | tests/Header.spec.jsx | 133 | ||||
-rw-r--r-- | tests/Select.spec.jsx | 133 | ||||
-rw-r--r-- | tests/TimePicker.spec.jsx | 101 |
7 files changed, 210 insertions, 200 deletions
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | --- | 3 | --- |
4 | 4 | ||
5 | 0.7.2 / 2015-12-03 | 5 | 1.0.0 / 2015-12-03 |
6 | ------------------ | 6 | ------------------ |
7 | 7 | ||
8 | `fix` IE8 compatible. | 8 | `fix` IE8 compatible. |
@@ -2,6 +2,31 @@ | |||
2 | 2 | ||
3 | React TimePicker | 3 | React TimePicker |
4 | 4 | ||
5 | [![NPM version][npm-image]][npm-url] | ||
6 | [![build status][travis-image]][travis-url] | ||
7 | [![Test coverage][coveralls-image]][coveralls-url] | ||
8 | [![gemnasium deps][gemnasium-image]][gemnasium-url] | ||
9 | [![node version][node-image]][node-url] | ||
10 | [![npm download][download-image]][download-url] | ||
11 | |||
12 | [npm-image]: http://img.shields.io/npm/v/rc-time-picker.svg?style=flat-square | ||
13 | [npm-url]: http://npmjs.org/package/rc-time-picker | ||
14 | [travis-image]: https://img.shields.io/travis/react-component/time-picker.svg?style=flat-square | ||
15 | [travis-url]: https://travis-ci.org/react-component/time-picker | ||
16 | [coveralls-image]: https://img.shields.io/coveralls/react-component/time-picker.svg?style=flat-square | ||
17 | [coveralls-url]: https://coveralls.io/r/react-component/time-picker?branch=master | ||
18 | [gemnasium-image]: http://img.shields.io/gemnasium/react-component/time-picker.svg?style=flat-square | ||
19 | [gemnasium-url]: https://gemnasium.com/react-component/time-picker | ||
20 | [node-image]: https://img.shields.io/badge/node.js-%3E=_4.0.0-green.svg?style=flat-square | ||
21 | [node-url]: http://nodejs.org/download/ | ||
22 | [download-image]: https://img.shields.io/npm/dm/rc-time-picker.svg?style=flat-square | ||
23 | [download-url]: https://npmjs.org/package/rc-time-picker | ||
24 | |||
25 | example | ||
26 | -------- | ||
27 | |||
28 | http://react-component.github.io/time-picker/ | ||
29 | |||
5 | install | 30 | install |
6 | ------- | 31 | ------- |
7 | 32 | ||
@@ -37,9 +62,9 @@ API | |||
37 | | showHour | Boolean | whether show hour | | | 62 | | showHour | Boolean | whether show hour | | |
38 | | showSecond | Boolean | whether show second | | | 63 | | showSecond | Boolean | whether show second | | |
39 | | formatter | String|GregorianCalendarFormatter | | | | 64 | | formatter | String|GregorianCalendarFormatter | | | |
40 | | hourOptions | Array<String> | hour options | | | 65 | | hourOptions | Array<Number> | hour options | | |
41 | | minuteOptions | Array<String> | minute options | | | 66 | | minuteOptions | Array<Number> | minute options | | |
42 | | secondOptions | Array<String> | second options | | | 67 | | secondOptions | Array<Number> | second options | | |
43 | | onChange | Function | null | called when select a different value | | 68 | | onChange | Function | null | called when select a different value | |
44 | | placement | String | bottomLeft | one of ['left','right','top','bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'] | | 69 | | placement | String | bottomLeft | one of ['left','right','top','bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'] | |
45 | | transitionName | String | '' | | | 70 | | transitionName | String | '' | | |
diff --git a/examples/pick-time.js b/examples/pick-time.js index f26952c..a8c5415 100644 --- a/examples/pick-time.js +++ b/examples/pick-time.js | |||
@@ -1,3 +1,5 @@ | |||
1 | /* eslint no-console:0 */ | ||
2 | |||
1 | import 'rc-time-picker/assets/index.less'; | 3 | import 'rc-time-picker/assets/index.less'; |
2 | 4 | ||
3 | import React from 'react'; | 5 | import React from 'react'; |
@@ -10,8 +12,8 @@ import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; | |||
10 | import TimePicker from 'rc-time-picker'; | 12 | import TimePicker from 'rc-time-picker'; |
11 | import TimePickerLocale from 'rc-time-picker/src/locale/zh_CN'; | 13 | import TimePickerLocale from 'rc-time-picker/src/locale/zh_CN'; |
12 | 14 | ||
13 | var showSecond = true; | 15 | const showSecond = true; |
14 | var str = showSecond ? 'HH:mm:ss' : 'HH:mm'; | 16 | const str = showSecond ? 'HH:mm:ss' : 'HH:mm'; |
15 | 17 | ||
16 | const formatter = new DateTimeFormat(str); | 18 | const formatter = new DateTimeFormat(str); |
17 | 19 | ||
diff --git a/package.json b/package.json index 59ca784..ee4e41d 100644 --- a/package.json +++ b/package.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "rc-time-picker", | 2 | "name": "rc-time-picker", |
3 | "version": "1.0.0-alpha2", | 3 | "version": "1.0.0", |
4 | "description": "React TimePicker", | 4 | "description": "React TimePicker", |
5 | "keywords": [ | 5 | "keywords": [ |
6 | "react", | 6 | "react", |
@@ -50,7 +50,7 @@ | |||
50 | "rc-server": "3.x", | 50 | "rc-server": "3.x", |
51 | "rc-tools": "4.x", | 51 | "rc-tools": "4.x", |
52 | "react": "0.14.x", | 52 | "react": "0.14.x", |
53 | "react-addons-test-utils": "~0.14.0", | 53 | "react-addons-test-utils": "0.14.x", |
54 | "react-dom": "0.14.x" | 54 | "react-dom": "0.14.x" |
55 | }, | 55 | }, |
56 | "pre-commit": [ | 56 | "pre-commit": [ |
diff --git a/tests/Header.spec.jsx b/tests/Header.spec.jsx index e574d38..cc8f954 100644 --- a/tests/Header.spec.jsx +++ b/tests/Header.spec.jsx | |||
@@ -3,22 +3,28 @@ import React from 'react'; | |||
3 | import TimePicker from '../src/TimePicker'; | 3 | import TimePicker from '../src/TimePicker'; |
4 | 4 | ||
5 | import TestUtils from 'react-addons-test-utils'; | 5 | import TestUtils from 'react-addons-test-utils'; |
6 | var Simulate = TestUtils.Simulate; | 6 | const Simulate = TestUtils.Simulate; |
7 | import expect from 'expect.js'; | 7 | import expect from 'expect.js'; |
8 | import async from 'async'; | 8 | import async from 'async'; |
9 | import {KeyCode} from 'rc-util'; | 9 | import {KeyCode} from 'rc-util'; |
10 | 10 | ||
11 | import DateTimeFormat from 'gregorian-calendar-format'; | 11 | import DateTimeFormat from 'gregorian-calendar-format'; |
12 | import GregorianCalendar from 'gregorian-calendar'; | ||
13 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; | 12 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; |
14 | import TimePickerLocale from '../src/locale/zh_CN'; | 13 | import TimePickerLocale from '../src/locale/zh_CN'; |
15 | 14 | ||
16 | describe('Header', function () { | 15 | function formatTime(time, formatter) { |
17 | var container; | 16 | return formatter.parse(time, { |
17 | locale: zhCn, | ||
18 | obeyCount: true, | ||
19 | }); | ||
20 | } | ||
21 | |||
22 | describe('Header', () => { | ||
23 | let container; | ||
18 | 24 | ||
19 | function renderPicker(props) { | 25 | function renderPicker(props) { |
20 | var showSecond = true; | 26 | const showSecond = true; |
21 | var formatter = new DateTimeFormat('HH:mm:ss'); | 27 | const formatter = new DateTimeFormat('HH:mm:ss'); |
22 | 28 | ||
23 | return ReactDOM.render( | 29 | return ReactDOM.render( |
24 | <TimePicker | 30 | <TimePicker |
@@ -30,33 +36,26 @@ describe('Header', function () { | |||
30 | />, container); | 36 | />, container); |
31 | } | 37 | } |
32 | 38 | ||
33 | function formatTime(time, formatter) { | 39 | beforeEach(() => { |
34 | return formatter.parse(time, { | ||
35 | locale: zhCn, | ||
36 | obeyCount: true, | ||
37 | }); | ||
38 | } | ||
39 | |||
40 | beforeEach(function () { | ||
41 | container = document.createElement('div'); | 40 | container = document.createElement('div'); |
42 | document.body.appendChild(container); | 41 | document.body.appendChild(container); |
43 | }); | 42 | }); |
44 | 43 | ||
45 | afterEach(function () { | 44 | afterEach(() => { |
46 | ReactDOM.unmountComponentAtNode(container); | 45 | ReactDOM.unmountComponentAtNode(container); |
47 | document.body.removeChild(container); | 46 | document.body.removeChild(container); |
48 | }); | 47 | }); |
49 | 48 | ||
50 | describe('input to change value', function () { | 49 | describe('input to change value', () => { |
51 | it('input correctly', function (done) { | 50 | it('input correctly', (done) => { |
52 | var picker = renderPicker(); | 51 | const picker = renderPicker(); |
53 | expect(picker.state.open).not.to.be.ok(); | 52 | expect(picker.state.open).not.to.be.ok(); |
54 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 53 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
55 | var header; | 54 | let header; |
56 | async.series([function (next) { | 55 | async.series([(next) => { |
57 | Simulate.click(input); | 56 | Simulate.click(input); |
58 | setTimeout(next, 100); | 57 | setTimeout(next, 100); |
59 | }, function (next) { | 58 | }, (next) => { |
60 | expect(picker.state.open).to.be(true); | 59 | expect(picker.state.open).to.be(true); |
61 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 60 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
62 | expect(header).to.be.ok(); | 61 | expect(header).to.be.ok(); |
@@ -66,26 +65,26 @@ describe('Header', function () { | |||
66 | ReactDOM.findDOMNode(header).value = '12:34:56'; | 65 | ReactDOM.findDOMNode(header).value = '12:34:56'; |
67 | Simulate.change(header); | 66 | Simulate.change(header); |
68 | setTimeout(next, 100); | 67 | setTimeout(next, 100); |
69 | }, function (next) { | 68 | }, (next) => { |
70 | expect(picker.state.open).to.be(true); | 69 | expect(picker.state.open).to.be(true); |
71 | expect(ReactDOM.findDOMNode(header).value).to.be('12:34:56'); | 70 | expect(ReactDOM.findDOMNode(header).value).to.be('12:34:56'); |
72 | expect(ReactDOM.findDOMNode(input).value).to.be('12:34:56'); | 71 | expect(ReactDOM.findDOMNode(input).value).to.be('12:34:56'); |
73 | 72 | ||
74 | next(); | 73 | next(); |
75 | }], function () { | 74 | }], () => { |
76 | done(); | 75 | done(); |
77 | }); | 76 | }); |
78 | }); | 77 | }); |
79 | 78 | ||
80 | it('carry correctly', function (done) { | 79 | it('carry correctly', (done) => { |
81 | var picker = renderPicker(); | 80 | const picker = renderPicker(); |
82 | expect(picker.state.open).not.to.be.ok(); | 81 | expect(picker.state.open).not.to.be.ok(); |
83 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 82 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
84 | var header; | 83 | let header; |
85 | async.series([function (next) { | 84 | async.series([(next) => { |
86 | Simulate.click(input); | 85 | Simulate.click(input); |
87 | setTimeout(next, 100); | 86 | setTimeout(next, 100); |
88 | }, function (next) { | 87 | }, (next) => { |
89 | expect(picker.state.open).to.be(true); | 88 | expect(picker.state.open).to.be(true); |
90 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 89 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
91 | expect(header).to.be.ok(); | 90 | expect(header).to.be.ok(); |
@@ -95,7 +94,7 @@ describe('Header', function () { | |||
95 | ReactDOM.findDOMNode(header).value = '33:44:55'; | 94 | ReactDOM.findDOMNode(header).value = '33:44:55'; |
96 | Simulate.change(header); | 95 | Simulate.change(header); |
97 | setTimeout(next, 100); | 96 | setTimeout(next, 100); |
98 | }, function (next) { | 97 | }, (next) => { |
99 | expect(picker.state.open).to.be(true); | 98 | expect(picker.state.open).to.be(true); |
100 | expect(ReactDOM.findDOMNode(header).value).to.be('09:44:55'); | 99 | expect(ReactDOM.findDOMNode(header).value).to.be('09:44:55'); |
101 | expect(ReactDOM.findDOMNode(input).value).to.be('09:44:55'); | 100 | expect(ReactDOM.findDOMNode(input).value).to.be('09:44:55'); |
@@ -103,7 +102,7 @@ describe('Header', function () { | |||
103 | ReactDOM.findDOMNode(header).value = '10:90:30'; | 102 | ReactDOM.findDOMNode(header).value = '10:90:30'; |
104 | Simulate.change(header); | 103 | Simulate.change(header); |
105 | setTimeout(next, 100); | 104 | setTimeout(next, 100); |
106 | }, function (next) { | 105 | }, (next) => { |
107 | expect(picker.state.open).to.be(true); | 106 | expect(picker.state.open).to.be(true); |
108 | expect(ReactDOM.findDOMNode(header).value).to.be('11:30:30'); | 107 | expect(ReactDOM.findDOMNode(header).value).to.be('11:30:30'); |
109 | expect(ReactDOM.findDOMNode(input).value).to.be('11:30:30'); | 108 | expect(ReactDOM.findDOMNode(input).value).to.be('11:30:30'); |
@@ -111,26 +110,26 @@ describe('Header', function () { | |||
111 | ReactDOM.findDOMNode(header).value = '34:56:78'; | 110 | ReactDOM.findDOMNode(header).value = '34:56:78'; |
112 | Simulate.change(header); | 111 | Simulate.change(header); |
113 | setTimeout(next, 100); | 112 | setTimeout(next, 100); |
114 | }, function (next) { | 113 | }, (next) => { |
115 | expect(picker.state.open).to.be(true); | 114 | expect(picker.state.open).to.be(true); |
116 | expect(ReactDOM.findDOMNode(header).value).to.be('10:57:18'); | 115 | expect(ReactDOM.findDOMNode(header).value).to.be('10:57:18'); |
117 | expect(ReactDOM.findDOMNode(input).value).to.be('10:57:18'); | 116 | expect(ReactDOM.findDOMNode(input).value).to.be('10:57:18'); |
118 | 117 | ||
119 | next(); | 118 | next(); |
120 | }], function () { | 119 | }], () => { |
121 | done(); | 120 | done(); |
122 | }); | 121 | }); |
123 | }); | 122 | }); |
124 | 123 | ||
125 | it('check correctly', function (done) { | 124 | it('check correctly', (done) => { |
126 | var picker = renderPicker(); | 125 | const picker = renderPicker(); |
127 | expect(picker.state.open).not.to.be.ok(); | 126 | expect(picker.state.open).not.to.be.ok(); |
128 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 127 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
129 | var header; | 128 | let header; |
130 | async.series([function (next) { | 129 | async.series([(next) => { |
131 | Simulate.click(input); | 130 | Simulate.click(input); |
132 | setTimeout(next, 100); | 131 | setTimeout(next, 100); |
133 | }, function (next) { | 132 | }, (next) => { |
134 | expect(picker.state.open).to.be(true); | 133 | expect(picker.state.open).to.be(true); |
135 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 134 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
136 | expect(header).to.be.ok(); | 135 | expect(header).to.be.ok(); |
@@ -140,7 +139,7 @@ describe('Header', function () { | |||
140 | ReactDOM.findDOMNode(header).value = '3:34:56'; | 139 | ReactDOM.findDOMNode(header).value = '3:34:56'; |
141 | Simulate.change(header); | 140 | Simulate.change(header); |
142 | setTimeout(next, 100); | 141 | setTimeout(next, 100); |
143 | }, function (next) { | 142 | }, (next) => { |
144 | expect(picker.state.open).to.be(true); | 143 | expect(picker.state.open).to.be(true); |
145 | expect(ReactDOM.findDOMNode(header).value).to.be('3:34:56'); | 144 | expect(ReactDOM.findDOMNode(header).value).to.be('3:34:56'); |
146 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 145 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
@@ -149,7 +148,7 @@ describe('Header', function () { | |||
149 | ReactDOM.findDOMNode(header).value = '13:3:56'; | 148 | ReactDOM.findDOMNode(header).value = '13:3:56'; |
150 | Simulate.change(header); | 149 | Simulate.change(header); |
151 | setTimeout(next, 100); | 150 | setTimeout(next, 100); |
152 | }, function (next) { | 151 | }, (next) => { |
153 | expect(picker.state.open).to.be(true); | 152 | expect(picker.state.open).to.be(true); |
154 | expect(ReactDOM.findDOMNode(header).value).to.be('13:3:56'); | 153 | expect(ReactDOM.findDOMNode(header).value).to.be('13:3:56'); |
155 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 154 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
@@ -158,39 +157,38 @@ describe('Header', function () { | |||
158 | ReactDOM.findDOMNode(header).value = '13:34:5'; | 157 | ReactDOM.findDOMNode(header).value = '13:34:5'; |
159 | Simulate.change(header); | 158 | Simulate.change(header); |
160 | setTimeout(next, 100); | 159 | setTimeout(next, 100); |
161 | }, function (next) { | 160 | }, (next) => { |
162 | expect(picker.state.open).to.be(true); | 161 | expect(picker.state.open).to.be(true); |
163 | expect(ReactDOM.findDOMNode(header).value).to.be('13:34:5'); | 162 | expect(ReactDOM.findDOMNode(header).value).to.be('13:34:5'); |
164 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 163 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
165 | expect(ReactDOM.findDOMNode(header).className).to.contain('rc-time-picker-panel-input-invalid'); | 164 | expect(ReactDOM.findDOMNode(header).className).to.contain('rc-time-picker-panel-input-invalid'); |
166 | next(); | 165 | next(); |
167 | }], function () { | 166 | }], () => { |
168 | done(); | 167 | done(); |
169 | }); | 168 | }); |
170 | }); | 169 | }); |
171 | |||
172 | }); | 170 | }); |
173 | 171 | ||
174 | describe('other operations', function () { | 172 | describe('other operations', () => { |
175 | it('clear correctly', function (done) { | 173 | it('clear correctly', (done) => { |
176 | var change; | 174 | let change; |
177 | var picker = renderPicker({ | 175 | const picker = renderPicker({ |
178 | onChange: function (v) { | 176 | onChange(v) { |
179 | change = v; | 177 | change = v; |
180 | } | 178 | }, |
181 | }); | 179 | }); |
182 | expect(picker.state.open).not.to.be.ok(); | 180 | expect(picker.state.open).not.to.be.ok(); |
183 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 181 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
184 | var header; | 182 | let header; |
185 | async.series([function (next) { | 183 | async.series([(next) => { |
186 | expect(picker.state.open).to.be(false); | 184 | expect(picker.state.open).to.be(false); |
187 | 185 | ||
188 | Simulate.click(input); | 186 | Simulate.click(input); |
189 | setTimeout(next, 100); | 187 | setTimeout(next, 100); |
190 | }, function (next) { | 188 | }, (next) => { |
191 | expect(picker.state.open).to.be(true); | 189 | expect(picker.state.open).to.be(true); |
192 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 190 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
193 | var clearButton = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-clear-btn')[0]; | 191 | const clearButton = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-clear-btn')[0]; |
194 | expect(header).to.be.ok(); | 192 | expect(header).to.be.ok(); |
195 | expect(clearButton).to.be.ok(); | 193 | expect(clearButton).to.be.ok(); |
196 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); | 194 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); |
@@ -198,29 +196,29 @@ describe('Header', function () { | |||
198 | 196 | ||
199 | Simulate.mouseDown(clearButton); | 197 | Simulate.mouseDown(clearButton); |
200 | setTimeout(next, 100); | 198 | setTimeout(next, 100); |
201 | }, function (next) { | 199 | }, (next) => { |
202 | expect(picker.state.open).to.be(false); | 200 | expect(picker.state.open).to.be(false); |
203 | expect(change).to.be(null); | 201 | expect(change).to.be(null); |
204 | expect(ReactDOM.findDOMNode(header).value).to.be(''); | 202 | expect(ReactDOM.findDOMNode(header).value).to.be(''); |
205 | expect(ReactDOM.findDOMNode(input).value).to.be(''); | 203 | expect(ReactDOM.findDOMNode(input).value).to.be(''); |
206 | 204 | ||
207 | next(); | 205 | next(); |
208 | }], function () { | 206 | }], () => { |
209 | done(); | 207 | done(); |
210 | }); | 208 | }); |
211 | }); | 209 | }); |
212 | 210 | ||
213 | it('exit correctly', function (done) { | 211 | it('exit correctly', (done) => { |
214 | var picker = renderPicker(); | 212 | const picker = renderPicker(); |
215 | expect(picker.state.open).not.to.be.ok(); | 213 | expect(picker.state.open).not.to.be.ok(); |
216 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 214 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
217 | var header; | 215 | let header; |
218 | async.series([function (next) { | 216 | async.series([(next) => { |
219 | expect(picker.state.open).to.be(false); | 217 | expect(picker.state.open).to.be(false); |
220 | 218 | ||
221 | Simulate.click(input); | 219 | Simulate.click(input); |
222 | setTimeout(next, 100); | 220 | setTimeout(next, 100); |
223 | }, function (next) { | 221 | }, (next) => { |
224 | expect(picker.state.open).to.be(true); | 222 | expect(picker.state.open).to.be(true); |
225 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 223 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
226 | expect(header).to.be.ok(); | 224 | expect(header).to.be.ok(); |
@@ -228,19 +226,18 @@ describe('Header', function () { | |||
228 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 226 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
229 | 227 | ||
230 | Simulate.keyDown(ReactDOM.findDOMNode(header), { | 228 | Simulate.keyDown(ReactDOM.findDOMNode(header), { |
231 | keyCode: KeyCode.ESC | 229 | keyCode: KeyCode.ESC, |
232 | }); | 230 | }); |
233 | setTimeout(next, 100); | 231 | setTimeout(next, 100); |
234 | }, function (next) { | 232 | }, (next) => { |
235 | expect(picker.state.open).to.be(false); | 233 | expect(picker.state.open).to.be(false); |
236 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); | 234 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); |
237 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 235 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
238 | 236 | ||
239 | next(); | 237 | next(); |
240 | }], function () { | 238 | }], () => { |
241 | done(); | 239 | done(); |
242 | }); | 240 | }); |
243 | }); | 241 | }); |
244 | |||
245 | }); | 242 | }); |
246 | }); | 243 | }); |
diff --git a/tests/Select.spec.jsx b/tests/Select.spec.jsx index 036a0f9..7e53c31 100644 --- a/tests/Select.spec.jsx +++ b/tests/Select.spec.jsx | |||
@@ -3,22 +3,26 @@ import React from 'react'; | |||
3 | import TimePicker from '../src/TimePicker'; | 3 | import TimePicker from '../src/TimePicker'; |
4 | 4 | ||
5 | import TestUtils from 'react-addons-test-utils'; | 5 | import TestUtils from 'react-addons-test-utils'; |
6 | var Simulate = TestUtils.Simulate; | 6 | const Simulate = TestUtils.Simulate; |
7 | import expect from 'expect.js'; | 7 | import expect from 'expect.js'; |
8 | import async from 'async'; | 8 | import async from 'async'; |
9 | import {KeyCode} from 'rc-util'; | ||
10 | |||
11 | import DateTimeFormat from 'gregorian-calendar-format'; | 9 | import DateTimeFormat from 'gregorian-calendar-format'; |
12 | import GregorianCalendar from 'gregorian-calendar'; | ||
13 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; | 10 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; |
14 | import TimePickerLocale from '../src/locale/zh_CN'; | 11 | import TimePickerLocale from '../src/locale/zh_CN'; |
15 | 12 | ||
16 | describe('Select', function () { | 13 | function formatTime(time, formatter) { |
17 | var container; | 14 | return formatter.parse(time, { |
15 | locale: zhCn, | ||
16 | obeyCount: true, | ||
17 | }); | ||
18 | } | ||
19 | |||
20 | describe('Select', () => { | ||
21 | let container; | ||
18 | 22 | ||
19 | function renderPicker(props) { | 23 | function renderPicker(props) { |
20 | var showSecond = true; | 24 | const showSecond = true; |
21 | var formatter = new DateTimeFormat('HH:mm:ss'); | 25 | const formatter = new DateTimeFormat('HH:mm:ss'); |
22 | 26 | ||
23 | return ReactDOM.render( | 27 | return ReactDOM.render( |
24 | <TimePicker | 28 | <TimePicker |
@@ -30,80 +34,70 @@ describe('Select', function () { | |||
30 | />, container); | 34 | />, container); |
31 | } | 35 | } |
32 | 36 | ||
33 | function formatTime(time, formatter) { | 37 | beforeEach(() => { |
34 | return formatter.parse(time, { | ||
35 | locale: zhCn, | ||
36 | obeyCount: true, | ||
37 | }); | ||
38 | } | ||
39 | |||
40 | beforeEach(function () { | ||
41 | container = document.createElement('div'); | 38 | container = document.createElement('div'); |
42 | document.body.appendChild(container); | 39 | document.body.appendChild(container); |
43 | }); | 40 | }); |
44 | 41 | ||
45 | afterEach(function () { | 42 | afterEach(() => { |
46 | ReactDOM.unmountComponentAtNode(container); | 43 | ReactDOM.unmountComponentAtNode(container); |
47 | document.body.removeChild(container); | 44 | document.body.removeChild(container); |
48 | }); | 45 | }); |
49 | 46 | ||
50 | describe('select number', function () { | 47 | describe('select number', () => { |
51 | 48 | it('select number correctly', (done) => { | |
52 | it('select number correctly', function (done) { | 49 | const picker = renderPicker(); |
53 | var picker = renderPicker(); | ||
54 | expect(picker.state.open).not.to.be.ok(); | 50 | expect(picker.state.open).not.to.be.ok(); |
55 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 51 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
56 | var selector; | 52 | let selector; |
57 | async.series([function (next) { | 53 | async.series([(next) => { |
58 | expect(picker.state.open).to.be(false); | 54 | expect(picker.state.open).to.be(false); |
59 | 55 | ||
60 | Simulate.click(input); | 56 | Simulate.click(input); |
61 | setTimeout(next, 100); | 57 | setTimeout(next, 100); |
62 | }, function (next) { | 58 | }, (next) => { |
63 | expect(picker.state.open).to.be(true); | 59 | expect(picker.state.open).to.be(true); |
64 | selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select'); | 60 | selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select'); |
65 | 61 | ||
66 | setTimeout(next, 100); | 62 | setTimeout(next, 100); |
67 | }, function (next) { | 63 | }, (next) => { |
68 | expect(selector.length).to.be(3); | 64 | expect(selector.length).to.be(3); |
69 | 65 | ||
70 | next(); | 66 | next(); |
71 | }], function () { | 67 | }], () => { |
72 | done(); | 68 | done(); |
73 | }); | 69 | }); |
74 | }); | 70 | }); |
75 | |||
76 | }); | 71 | }); |
77 | 72 | ||
78 | describe('select to change value', function () { | 73 | describe('select to change value', () => { |
79 | 74 | it('hour correctly', (done) => { | |
80 | it('hour correctly', function (done) { | 75 | let change; |
81 | var change; | 76 | const picker = renderPicker({ |
82 | var picker = renderPicker({ | 77 | onChange(v) { |
83 | onChange: function (v) { | ||
84 | change = v; | 78 | change = v; |
85 | } | 79 | }, |
86 | }); | 80 | }); |
87 | expect(picker.state.open).not.to.be.ok(); | 81 | expect(picker.state.open).not.to.be.ok(); |
88 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 82 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
89 | var header; | 83 | let header; |
90 | async.series([function (next) { | 84 | async.series([(next) => { |
91 | expect(picker.state.open).to.be(false); | 85 | expect(picker.state.open).to.be(false); |
92 | 86 | ||
93 | Simulate.click(input); | 87 | Simulate.click(input); |
94 | setTimeout(next, 100); | 88 | setTimeout(next, 100); |
95 | }, function (next) { | 89 | }, (next) => { |
96 | expect(picker.state.open).to.be(true); | 90 | expect(picker.state.open).to.be(true); |
97 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 91 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
98 | var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[0]; | 92 | const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[0]; |
99 | var option = selector.getElementsByTagName('li')[19]; | 93 | const option = selector.getElementsByTagName('li')[19]; |
100 | expect(header).to.be.ok(); | 94 | expect(header).to.be.ok(); |
101 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); | 95 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); |
102 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 96 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
103 | 97 | ||
104 | Simulate.click(option); | 98 | Simulate.click(option); |
105 | setTimeout(next, 100); | 99 | setTimeout(next, 100); |
106 | }, function (next) { | 100 | }, (next) => { |
107 | expect(change).to.be.ok(); | 101 | expect(change).to.be.ok(); |
108 | expect(change.getHourOfDay()).to.be(19); | 102 | expect(change.getHourOfDay()).to.be(19); |
109 | expect(ReactDOM.findDOMNode(header).value).to.be('19:02:03'); | 103 | expect(ReactDOM.findDOMNode(header).value).to.be('19:02:03'); |
@@ -111,38 +105,38 @@ describe('Select', function () { | |||
111 | expect(picker.state.open).to.be.ok(); | 105 | expect(picker.state.open).to.be.ok(); |
112 | 106 | ||
113 | next(); | 107 | next(); |
114 | }], function () { | 108 | }], () => { |
115 | done(); | 109 | done(); |
116 | }); | 110 | }); |
117 | }); | 111 | }); |
118 | 112 | ||
119 | it('minute correctly', function (done) { | 113 | it('minute correctly', (done) => { |
120 | var change; | 114 | let change; |
121 | var picker = renderPicker({ | 115 | const picker = renderPicker({ |
122 | onChange: function (v) { | 116 | onChange(v) { |
123 | change = v; | 117 | change = v; |
124 | } | 118 | }, |
125 | }); | 119 | }); |
126 | expect(picker.state.open).not.to.be.ok(); | 120 | expect(picker.state.open).not.to.be.ok(); |
127 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 121 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
128 | var header; | 122 | let header; |
129 | async.series([function (next) { | 123 | async.series([(next) => { |
130 | expect(picker.state.open).to.be(false); | 124 | expect(picker.state.open).to.be(false); |
131 | 125 | ||
132 | Simulate.click(input); | 126 | Simulate.click(input); |
133 | setTimeout(next, 100); | 127 | setTimeout(next, 100); |
134 | }, function (next) { | 128 | }, (next) => { |
135 | expect(picker.state.open).to.be(true); | 129 | expect(picker.state.open).to.be(true); |
136 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 130 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
137 | var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[1]; | 131 | const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[1]; |
138 | var option = selector.getElementsByTagName('li')[19]; | 132 | const option = selector.getElementsByTagName('li')[19]; |
139 | expect(header).to.be.ok(); | 133 | expect(header).to.be.ok(); |
140 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); | 134 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); |
141 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 135 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
142 | 136 | ||
143 | Simulate.click(option); | 137 | Simulate.click(option); |
144 | setTimeout(next, 100); | 138 | setTimeout(next, 100); |
145 | }, function (next) { | 139 | }, (next) => { |
146 | expect(change).to.be.ok(); | 140 | expect(change).to.be.ok(); |
147 | expect(change.getMinutes()).to.be(19); | 141 | expect(change.getMinutes()).to.be(19); |
148 | expect(ReactDOM.findDOMNode(header).value).to.be('01:19:03'); | 142 | expect(ReactDOM.findDOMNode(header).value).to.be('01:19:03'); |
@@ -150,38 +144,38 @@ describe('Select', function () { | |||
150 | expect(picker.state.open).to.be.ok(); | 144 | expect(picker.state.open).to.be.ok(); |
151 | 145 | ||
152 | next(); | 146 | next(); |
153 | }], function () { | 147 | }], () => { |
154 | done(); | 148 | done(); |
155 | }); | 149 | }); |
156 | }); | 150 | }); |
157 | 151 | ||
158 | it('second correctly', function (done) { | 152 | it('second correctly', (done) => { |
159 | var change; | 153 | let change; |
160 | var picker = renderPicker({ | 154 | const picker = renderPicker({ |
161 | onChange: function (v) { | 155 | onChange(v) { |
162 | change = v; | 156 | change = v; |
163 | } | 157 | }, |
164 | }); | 158 | }); |
165 | expect(picker.state.open).not.to.be.ok(); | 159 | expect(picker.state.open).not.to.be.ok(); |
166 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 160 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
167 | var header; | 161 | let header; |
168 | async.series([function (next) { | 162 | async.series([(next) => { |
169 | expect(picker.state.open).to.be(false); | 163 | expect(picker.state.open).to.be(false); |
170 | 164 | ||
171 | Simulate.click(input); | 165 | Simulate.click(input); |
172 | setTimeout(next, 100); | 166 | setTimeout(next, 100); |
173 | }, function (next) { | 167 | }, (next) => { |
174 | expect(picker.state.open).to.be(true); | 168 | expect(picker.state.open).to.be(true); |
175 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; | 169 | header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0]; |
176 | var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[2]; | 170 | const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[2]; |
177 | var option = selector.getElementsByTagName('li')[19]; | 171 | const option = selector.getElementsByTagName('li')[19]; |
178 | expect(header).to.be.ok(); | 172 | expect(header).to.be.ok(); |
179 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); | 173 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03'); |
180 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); | 174 | expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03'); |
181 | 175 | ||
182 | Simulate.click(option); | 176 | Simulate.click(option); |
183 | setTimeout(next, 100); | 177 | setTimeout(next, 100); |
184 | }, function (next) { | 178 | }, (next) => { |
185 | expect(change).to.be.ok(); | 179 | expect(change).to.be.ok(); |
186 | expect(change.getSeconds()).to.be(19); | 180 | expect(change.getSeconds()).to.be(19); |
187 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:19'); | 181 | expect(ReactDOM.findDOMNode(header).value).to.be('01:02:19'); |
@@ -189,10 +183,9 @@ describe('Select', function () { | |||
189 | expect(picker.state.open).to.be.ok(); | 183 | expect(picker.state.open).to.be.ok(); |
190 | 184 | ||
191 | next(); | 185 | next(); |
192 | }], function () { | 186 | }], () => { |
193 | done(); | 187 | done(); |
194 | }); | 188 | }); |
195 | }); | 189 | }); |
196 | |||
197 | }); | 190 | }); |
198 | }); | 191 | }); |
diff --git a/tests/TimePicker.spec.jsx b/tests/TimePicker.spec.jsx index 5bd056e..95a1fd1 100644 --- a/tests/TimePicker.spec.jsx +++ b/tests/TimePicker.spec.jsx | |||
@@ -3,21 +3,27 @@ import React from 'react'; | |||
3 | import TimePicker from '../src/TimePicker'; | 3 | import TimePicker from '../src/TimePicker'; |
4 | 4 | ||
5 | import TestUtils from 'react-addons-test-utils'; | 5 | import TestUtils from 'react-addons-test-utils'; |
6 | var Simulate = TestUtils.Simulate; | 6 | const Simulate = TestUtils.Simulate; |
7 | import expect from 'expect.js'; | 7 | import expect from 'expect.js'; |
8 | import async from 'async'; | 8 | import async from 'async'; |
9 | 9 | ||
10 | import DateTimeFormat from 'gregorian-calendar-format'; | 10 | import DateTimeFormat from 'gregorian-calendar-format'; |
11 | import GregorianCalendar from 'gregorian-calendar'; | ||
12 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; | 11 | import zhCn from 'gregorian-calendar/lib/locale/zh_CN'; |
13 | import TimePickerLocale from '../src/locale/zh_CN'; | 12 | import TimePickerLocale from '../src/locale/zh_CN'; |
14 | 13 | ||
15 | describe('TimePicker', function () { | 14 | function formatTime(time, formatter) { |
16 | var container; | 15 | return formatter.parse(time, { |
16 | locale: zhCn, | ||
17 | obeyCount: true, | ||
18 | }); | ||
19 | } | ||
20 | |||
21 | describe('TimePicker', () => { | ||
22 | let container; | ||
17 | 23 | ||
18 | function renderPicker(props) { | 24 | function renderPicker(props) { |
19 | var showSecond = true; | 25 | const showSecond = true; |
20 | var formatter = new DateTimeFormat('HH:mm:ss'); | 26 | const formatter = new DateTimeFormat('HH:mm:ss'); |
21 | 27 | ||
22 | return ReactDOM.render( | 28 | return ReactDOM.render( |
23 | <TimePicker | 29 | <TimePicker |
@@ -30,8 +36,8 @@ describe('TimePicker', function () { | |||
30 | } | 36 | } |
31 | 37 | ||
32 | function renderPickerWithoutSeconds(props) { | 38 | function renderPickerWithoutSeconds(props) { |
33 | var showSecond = false; | 39 | const showSecond = false; |
34 | var formatter = new DateTimeFormat('HH:mm'); | 40 | const formatter = new DateTimeFormat('HH:mm'); |
35 | 41 | ||
36 | return ReactDOM.render( | 42 | return ReactDOM.render( |
37 | <TimePicker | 43 | <TimePicker |
@@ -43,44 +49,37 @@ describe('TimePicker', function () { | |||
43 | />, container); | 49 | />, container); |
44 | } | 50 | } |
45 | 51 | ||
46 | function formatTime(time, formatter) { | 52 | beforeEach(() => { |
47 | return formatter.parse(time, { | ||
48 | locale: zhCn, | ||
49 | obeyCount: true, | ||
50 | }); | ||
51 | } | ||
52 | |||
53 | beforeEach(function () { | ||
54 | container = document.createElement('div'); | 53 | container = document.createElement('div'); |
55 | document.body.appendChild(container); | 54 | document.body.appendChild(container); |
56 | }); | 55 | }); |
57 | 56 | ||
58 | afterEach(function () { | 57 | afterEach(() => { |
59 | ReactDOM.unmountComponentAtNode(container); | 58 | ReactDOM.unmountComponentAtNode(container); |
60 | document.body.removeChild(container); | 59 | document.body.removeChild(container); |
61 | }); | 60 | }); |
62 | 61 | ||
63 | describe('render panel to body', function () { | 62 | describe('render panel to body', () => { |
64 | it('popup correctly', function (done) { | 63 | it('popup correctly', (done) => { |
65 | var change; | 64 | let change; |
66 | var picker = renderPicker({ | 65 | const picker = renderPicker({ |
67 | onChange: function (v) { | 66 | onChange(v) { |
68 | change = v; | 67 | change = v; |
69 | } | 68 | }, |
70 | }); | 69 | }); |
71 | expect(picker.state.open).not.to.be.ok(); | 70 | expect(picker.state.open).not.to.be.ok(); |
72 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 71 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
73 | expect(ReactDOM.findDOMNode(input).value).to.be('12:57:58'); | 72 | expect(ReactDOM.findDOMNode(input).value).to.be('12:57:58'); |
74 | async.series([function (next) { | 73 | async.series([(next) => { |
75 | Simulate.click(input); | 74 | Simulate.click(input); |
76 | setTimeout(next, 100); | 75 | setTimeout(next, 100); |
77 | }, function (next) { | 76 | }, (next) => { |
78 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok(); | 77 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok(); |
79 | expect(picker.state.open).to.be(true); | 78 | expect(picker.state.open).to.be(true); |
80 | var hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1]; | 79 | const hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1]; |
81 | Simulate.click(hour); | 80 | Simulate.click(hour); |
82 | setTimeout(next, 100); | 81 | setTimeout(next, 100); |
83 | }, function (next) { | 82 | }, (next) => { |
84 | expect(change).to.be.ok(); | 83 | expect(change).to.be.ok(); |
85 | expect(change.getHourOfDay()).to.be(1); | 84 | expect(change.getHourOfDay()).to.be(1); |
86 | expect(change.getMinutes()).to.be(57); | 85 | expect(change.getMinutes()).to.be(57); |
@@ -88,24 +87,19 @@ describe('TimePicker', function () { | |||
88 | expect(ReactDOM.findDOMNode(input).value).to.be('01:57:58'); | 87 | expect(ReactDOM.findDOMNode(input).value).to.be('01:57:58'); |
89 | expect(picker.state.open).to.be.ok(); | 88 | expect(picker.state.open).to.be.ok(); |
90 | next(); | 89 | next(); |
91 | }], function () { | 90 | }], () => { |
92 | done(); | 91 | done(); |
93 | }); | 92 | }); |
94 | }); | 93 | }); |
95 | 94 | ||
96 | it('destroy correctly', function (done) { | 95 | it('destroy correctly', (done) => { |
97 | var change; | 96 | const picker = renderPicker(); |
98 | var picker = renderPicker({ | ||
99 | onChange: function (v) { | ||
100 | change = v; | ||
101 | } | ||
102 | }); | ||
103 | expect(picker.state.open).not.to.be.ok(); | 97 | expect(picker.state.open).not.to.be.ok(); |
104 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 98 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
105 | async.series([function (next) { | 99 | async.series([(next) => { |
106 | Simulate.click(input); | 100 | Simulate.click(input); |
107 | setTimeout(next, 100); | 101 | setTimeout(next, 100); |
108 | }, function (next) { | 102 | }, (next) => { |
109 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-panel-inner')[0]).not.to.be.ok(); | 103 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-panel-inner')[0]).not.to.be.ok(); |
110 | expect(picker.state.open).to.be(true); | 104 | expect(picker.state.open).to.be(true); |
111 | if (document.querySelectorAll) { | 105 | if (document.querySelectorAll) { |
@@ -114,49 +108,48 @@ describe('TimePicker', function () { | |||
114 | expect(TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[0]).to.be.ok(); | 108 | expect(TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[0]).to.be.ok(); |
115 | ReactDOM.unmountComponentAtNode(container); | 109 | ReactDOM.unmountComponentAtNode(container); |
116 | setTimeout(next, 100); | 110 | setTimeout(next, 100); |
117 | }, function (next) { | 111 | }, (next) => { |
118 | if (document.querySelectorAll) { | 112 | if (document.querySelectorAll) { |
119 | expect(document.querySelectorAll('.rc-time-picker').length).to.be(0); | 113 | expect(document.querySelectorAll('.rc-time-picker').length).to.be(0); |
120 | } | 114 | } |
121 | expect(picker.panelInstance).not.to.be.ok(); | 115 | expect(picker.panelInstance).not.to.be.ok(); |
122 | next(); | 116 | next(); |
123 | }], function () { | 117 | }], () => { |
124 | done(); | 118 | done(); |
125 | }); | 119 | }); |
126 | }); | 120 | }); |
127 | }); | 121 | }); |
128 | 122 | ||
129 | describe('render panel to body (without seconds)', function () { | 123 | describe('render panel to body (without seconds)', () => { |
130 | it('popup correctly', function (done) { | 124 | it('popup correctly', (done) => { |
131 | var change; | 125 | let change; |
132 | var picker = renderPickerWithoutSeconds({ | 126 | const picker = renderPickerWithoutSeconds({ |
133 | onChange: function (v) { | 127 | onChange(v) { |
134 | change = v; | 128 | change = v; |
135 | } | 129 | }, |
136 | }); | 130 | }); |
137 | expect(picker.state.open).not.to.be.ok(); | 131 | expect(picker.state.open).not.to.be.ok(); |
138 | var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; | 132 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0]; |
139 | expect(ReactDOM.findDOMNode(input).value).to.be('08:24'); | 133 | expect(ReactDOM.findDOMNode(input).value).to.be('08:24'); |
140 | async.series([function (next) { | 134 | async.series([(next) => { |
141 | Simulate.click(input); | 135 | Simulate.click(input); |
142 | setTimeout(next, 100); | 136 | setTimeout(next, 100); |
143 | }, function (next) { | 137 | }, (next) => { |
144 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok(); | 138 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok(); |
145 | expect(picker.state.open).to.be(true); | 139 | expect(picker.state.open).to.be(true); |
146 | var hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1]; | 140 | const hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1]; |
147 | Simulate.click(hour); | 141 | Simulate.click(hour); |
148 | setTimeout(next, 100); | 142 | setTimeout(next, 100); |
149 | }, function (next) { | 143 | }, (next) => { |
150 | expect(change).to.be.ok(); | 144 | expect(change).to.be.ok(); |
151 | expect(change.getHourOfDay()).to.be(1); | 145 | expect(change.getHourOfDay()).to.be(1); |
152 | expect(change.getMinutes()).to.be(24); | 146 | expect(change.getMinutes()).to.be(24); |
153 | expect(ReactDOM.findDOMNode(input).value).to.be('01:24'); | 147 | expect(ReactDOM.findDOMNode(input).value).to.be('01:24'); |
154 | expect(picker.state.open).to.be.ok(); | 148 | expect(picker.state.open).to.be.ok(); |
155 | next(); | 149 | next(); |
156 | }], function () { | 150 | }], () => { |
157 | done(); | 151 | done(); |
158 | }); | 152 | }); |
159 | }); | 153 | }); |
160 | }); | 154 | }); |
161 | |||
162 | }); | 155 | }); |