diff options
author | 偏右 <afc163@gmail.com> | 2017-03-09 10:33:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-09 10:33:55 +0800 |
commit | b6cc5aae93c7ce151adeca367b9c295b41157ede (patch) | |
tree | 3c784e38d0fe1facf5fe08d37fdbe701ef3f2ea5 | |
parent | e3b09ca0ac66c44f326584c0bd813437b96748ec (diff) | |
parent | 4f26f23b14ec9f1aa6260b1eee9a190639530b45 (diff) | |
download | time-picker-b6cc5aae93c7ce151adeca367b9c295b41157ede.tar.gz time-picker-b6cc5aae93c7ce151adeca367b9c295b41157ede.tar.zst time-picker-b6cc5aae93c7ce151adeca367b9c295b41157ede.zip |
Merge pull request #35 from shaleynikov/master
Fixed unwanted exception if value is undefined
-rw-r--r-- | src/Combobox.jsx | 2 | ||||
-rw-r--r-- | tests/TimePicker.spec.jsx | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/src/Combobox.jsx b/src/Combobox.jsx index 36b61cc..477c5ee 100644 --- a/src/Combobox.jsx +++ b/src/Combobox.jsx | |||
@@ -170,7 +170,7 @@ const Combobox = React.createClass({ | |||
170 | }, | 170 | }, |
171 | 171 | ||
172 | isAM() { | 172 | isAM() { |
173 | const { value } = this.props; | 173 | const value = (this.props.value || this.props.defaultOpenValue); |
174 | return value.hour() >= 0 && value.hour() < 12; | 174 | return value.hour() >= 0 && value.hour() < 12; |
175 | }, | 175 | }, |
176 | 176 | ||
diff --git a/tests/TimePicker.spec.jsx b/tests/TimePicker.spec.jsx index 1ea3b8b..6f9ac2d 100644 --- a/tests/TimePicker.spec.jsx +++ b/tests/TimePicker.spec.jsx | |||
@@ -174,4 +174,38 @@ describe('TimePicker', () => { | |||
174 | }); | 174 | }); |
175 | }); | 175 | }); |
176 | }); | 176 | }); |
177 | |||
178 | describe('render panel to body 12pm mode', () => { | ||
179 | it('popup correctly', (done) => { | ||
180 | let change; | ||
181 | const picker = renderPickerWithoutSeconds({ | ||
182 | use12Hours: true, | ||
183 | value: null, | ||
184 | onChange(v) { | ||
185 | change = v; | ||
186 | }, | ||
187 | }); | ||
188 | expect(picker.state.open).not.to.be.ok(); | ||
189 | const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, | ||
190 | 'rc-time-picker-input')[0]; | ||
191 | expect((input).value).to.be(''); | ||
192 | async.series([(next) => { | ||
193 | Simulate.click(input); | ||
194 | setTimeout(next, 100); | ||
195 | }, (next) => { | ||
196 | expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, | ||
197 | 'rc-time-picker-panel-inner')[0]).to.be.ok(); | ||
198 | expect(picker.state.open).to.be(true); | ||
199 | const hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1]; | ||
200 | Simulate.click(hour); | ||
201 | setTimeout(next, 100); | ||
202 | }, (next) => { | ||
203 | expect(change).to.be.ok(); | ||
204 | expect(picker.state.open).to.be.ok(); | ||
205 | next(); | ||
206 | }], () => { | ||
207 | done(); | ||
208 | }); | ||
209 | }); | ||
210 | }); | ||
177 | }); | 211 | }); |