---
-0.7.2 / 2015-12-03
+1.0.0 / 2015-12-03
------------------
`fix` IE8 compatible.
React TimePicker
+[![NPM version][npm-image]][npm-url]
+[![build status][travis-image]][travis-url]
+[![Test coverage][coveralls-image]][coveralls-url]
+[![gemnasium deps][gemnasium-image]][gemnasium-url]
+[![node version][node-image]][node-url]
+[![npm download][download-image]][download-url]
+
+[npm-image]: http://img.shields.io/npm/v/rc-time-picker.svg?style=flat-square
+[npm-url]: http://npmjs.org/package/rc-time-picker
+[travis-image]: https://img.shields.io/travis/react-component/time-picker.svg?style=flat-square
+[travis-url]: https://travis-ci.org/react-component/time-picker
+[coveralls-image]: https://img.shields.io/coveralls/react-component/time-picker.svg?style=flat-square
+[coveralls-url]: https://coveralls.io/r/react-component/time-picker?branch=master
+[gemnasium-image]: http://img.shields.io/gemnasium/react-component/time-picker.svg?style=flat-square
+[gemnasium-url]: https://gemnasium.com/react-component/time-picker
+[node-image]: https://img.shields.io/badge/node.js-%3E=_4.0.0-green.svg?style=flat-square
+[node-url]: http://nodejs.org/download/
+[download-image]: https://img.shields.io/npm/dm/rc-time-picker.svg?style=flat-square
+[download-url]: https://npmjs.org/package/rc-time-picker
+
+example
+--------
+
+http://react-component.github.io/time-picker/
+
install
-------
| showHour | Boolean | whether show hour | |
| showSecond | Boolean | whether show second | |
| formatter | String|GregorianCalendarFormatter | | |
-| hourOptions | Array<String> | hour options | |
-| minuteOptions | Array<String> | minute options | |
-| secondOptions | Array<String> | second options | |
+| hourOptions | Array<Number> | hour options | |
+| minuteOptions | Array<Number> | minute options | |
+| secondOptions | Array<Number> | second options | |
| onChange | Function | null | called when select a different value |
| placement | String | bottomLeft | one of ['left','right','top','bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'] |
| transitionName | String | '' | |
+/* eslint no-console:0 */
+
import 'rc-time-picker/assets/index.less';
import React from 'react';
import TimePicker from 'rc-time-picker';
import TimePickerLocale from 'rc-time-picker/src/locale/zh_CN';
-var showSecond = true;
-var str = showSecond ? 'HH:mm:ss' : 'HH:mm';
+const showSecond = true;
+const str = showSecond ? 'HH:mm:ss' : 'HH:mm';
const formatter = new DateTimeFormat(str);
{
"name": "rc-time-picker",
- "version": "1.0.0-alpha2",
+ "version": "1.0.0",
"description": "React TimePicker",
"keywords": [
"react",
"rc-server": "3.x",
"rc-tools": "4.x",
"react": "0.14.x",
- "react-addons-test-utils": "~0.14.0",
+ "react-addons-test-utils": "0.14.x",
"react-dom": "0.14.x"
},
"pre-commit": [
import TimePicker from '../src/TimePicker';
import TestUtils from 'react-addons-test-utils';
-var Simulate = TestUtils.Simulate;
+const Simulate = TestUtils.Simulate;
import expect from 'expect.js';
import async from 'async';
import {KeyCode} from 'rc-util';
import DateTimeFormat from 'gregorian-calendar-format';
-import GregorianCalendar from 'gregorian-calendar';
import zhCn from 'gregorian-calendar/lib/locale/zh_CN';
import TimePickerLocale from '../src/locale/zh_CN';
-describe('Header', function () {
- var container;
+function formatTime(time, formatter) {
+ return formatter.parse(time, {
+ locale: zhCn,
+ obeyCount: true,
+ });
+}
+
+describe('Header', () => {
+ let container;
function renderPicker(props) {
- var showSecond = true;
- var formatter = new DateTimeFormat('HH:mm:ss');
+ const showSecond = true;
+ const formatter = new DateTimeFormat('HH:mm:ss');
return ReactDOM.render(
<TimePicker
/>, container);
}
- function formatTime(time, formatter) {
- return formatter.parse(time, {
- locale: zhCn,
- obeyCount: true,
- });
- }
-
- beforeEach(function () {
+ beforeEach(() => {
container = document.createElement('div');
document.body.appendChild(container);
});
- afterEach(function () {
+ afterEach(() => {
ReactDOM.unmountComponentAtNode(container);
document.body.removeChild(container);
});
- describe('input to change value', function () {
- it('input correctly', function (done) {
- var picker = renderPicker();
+ describe('input to change value', () => {
+ it('input correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
expect(header).to.be.ok();
ReactDOM.findDOMNode(header).value = '12:34:56';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('12:34:56');
expect(ReactDOM.findDOMNode(input).value).to.be('12:34:56');
next();
- }], function () {
+ }], () => {
done();
});
});
- it('carry correctly', function (done) {
- var picker = renderPicker();
+ it('carry correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
expect(header).to.be.ok();
ReactDOM.findDOMNode(header).value = '33:44:55';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('09:44:55');
expect(ReactDOM.findDOMNode(input).value).to.be('09:44:55');
ReactDOM.findDOMNode(header).value = '10:90:30';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('11:30:30');
expect(ReactDOM.findDOMNode(input).value).to.be('11:30:30');
ReactDOM.findDOMNode(header).value = '34:56:78';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('10:57:18');
expect(ReactDOM.findDOMNode(input).value).to.be('10:57:18');
next();
- }], function () {
+ }], () => {
done();
});
});
- it('check correctly', function (done) {
- var picker = renderPicker();
+ it('check correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
expect(header).to.be.ok();
ReactDOM.findDOMNode(header).value = '3:34:56';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('3:34:56');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
ReactDOM.findDOMNode(header).value = '13:3:56';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('13:3:56');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
ReactDOM.findDOMNode(header).value = '13:34:5';
Simulate.change(header);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
expect(ReactDOM.findDOMNode(header).value).to.be('13:34:5');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
expect(ReactDOM.findDOMNode(header).className).to.contain('rc-time-picker-panel-input-invalid');
next();
- }], function () {
+ }], () => {
done();
});
});
-
});
- describe('other operations', function () {
- it('clear correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
+ describe('other operations', () => {
+ it('clear correctly', (done) => {
+ let change;
+ const picker = renderPicker({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
- var clearButton = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-clear-btn')[0];
+ const clearButton = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-clear-btn')[0];
expect(header).to.be.ok();
expect(clearButton).to.be.ok();
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03');
Simulate.mouseDown(clearButton);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(false);
expect(change).to.be(null);
expect(ReactDOM.findDOMNode(header).value).to.be('');
expect(ReactDOM.findDOMNode(input).value).to.be('');
next();
- }], function () {
+ }], () => {
done();
});
});
- it('exit correctly', function (done) {
- var picker = renderPicker();
+ it('exit correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
expect(header).to.be.ok();
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
Simulate.keyDown(ReactDOM.findDOMNode(header), {
- keyCode: KeyCode.ESC
+ keyCode: KeyCode.ESC,
});
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(false);
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
next();
- }], function () {
+ }], () => {
done();
});
});
-
});
});
import TimePicker from '../src/TimePicker';
import TestUtils from 'react-addons-test-utils';
-var Simulate = TestUtils.Simulate;
+const Simulate = TestUtils.Simulate;
import expect from 'expect.js';
import async from 'async';
-import {KeyCode} from 'rc-util';
-
import DateTimeFormat from 'gregorian-calendar-format';
-import GregorianCalendar from 'gregorian-calendar';
import zhCn from 'gregorian-calendar/lib/locale/zh_CN';
import TimePickerLocale from '../src/locale/zh_CN';
-describe('Select', function () {
- var container;
+function formatTime(time, formatter) {
+ return formatter.parse(time, {
+ locale: zhCn,
+ obeyCount: true,
+ });
+}
+
+describe('Select', () => {
+ let container;
function renderPicker(props) {
- var showSecond = true;
- var formatter = new DateTimeFormat('HH:mm:ss');
+ const showSecond = true;
+ const formatter = new DateTimeFormat('HH:mm:ss');
return ReactDOM.render(
<TimePicker
/>, container);
}
- function formatTime(time, formatter) {
- return formatter.parse(time, {
- locale: zhCn,
- obeyCount: true,
- });
- }
-
- beforeEach(function () {
+ beforeEach(() => {
container = document.createElement('div');
document.body.appendChild(container);
});
- afterEach(function () {
+ afterEach(() => {
ReactDOM.unmountComponentAtNode(container);
document.body.removeChild(container);
});
- describe('select number', function () {
-
- it('select number correctly', function (done) {
- var picker = renderPicker();
+ describe('select number', () => {
+ it('select number correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var selector;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let selector;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select');
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(selector.length).to.be(3);
next();
- }], function () {
+ }], () => {
done();
});
});
-
});
- describe('select to change value', function () {
-
- it('hour correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
+ describe('select to change value', () => {
+ it('hour correctly', (done) => {
+ let change;
+ const picker = renderPicker({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
- var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[0];
- var option = selector.getElementsByTagName('li')[19];
+ const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[0];
+ const option = selector.getElementsByTagName('li')[19];
expect(header).to.be.ok();
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
Simulate.click(option);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(change).to.be.ok();
expect(change.getHourOfDay()).to.be(19);
expect(ReactDOM.findDOMNode(header).value).to.be('19:02:03');
expect(picker.state.open).to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
- it('minute correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
+ it('minute correctly', (done) => {
+ let change;
+ const picker = renderPicker({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
- var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[1];
- var option = selector.getElementsByTagName('li')[19];
+ const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[1];
+ const option = selector.getElementsByTagName('li')[19];
expect(header).to.be.ok();
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
Simulate.click(option);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(change).to.be.ok();
expect(change.getMinutes()).to.be(19);
expect(ReactDOM.findDOMNode(header).value).to.be('01:19:03');
expect(picker.state.open).to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
- it('second correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
+ it('second correctly', (done) => {
+ let change;
+ const picker = renderPicker({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- var header;
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ let header;
+ async.series([(next) => {
expect(picker.state.open).to.be(false);
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(picker.state.open).to.be(true);
header = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-input')[0];
- var selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[2];
- var option = selector.getElementsByTagName('li')[19];
+ const selector = TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-select')[2];
+ const option = selector.getElementsByTagName('li')[19];
expect(header).to.be.ok();
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:03');
expect(ReactDOM.findDOMNode(input).value).to.be('01:02:03');
Simulate.click(option);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(change).to.be.ok();
expect(change.getSeconds()).to.be(19);
expect(ReactDOM.findDOMNode(header).value).to.be('01:02:19');
expect(picker.state.open).to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
-
});
});
import TimePicker from '../src/TimePicker';
import TestUtils from 'react-addons-test-utils';
-var Simulate = TestUtils.Simulate;
+const Simulate = TestUtils.Simulate;
import expect from 'expect.js';
import async from 'async';
import DateTimeFormat from 'gregorian-calendar-format';
-import GregorianCalendar from 'gregorian-calendar';
import zhCn from 'gregorian-calendar/lib/locale/zh_CN';
import TimePickerLocale from '../src/locale/zh_CN';
-describe('TimePicker', function () {
- var container;
+function formatTime(time, formatter) {
+ return formatter.parse(time, {
+ locale: zhCn,
+ obeyCount: true,
+ });
+}
+
+describe('TimePicker', () => {
+ let container;
function renderPicker(props) {
- var showSecond = true;
- var formatter = new DateTimeFormat('HH:mm:ss');
+ const showSecond = true;
+ const formatter = new DateTimeFormat('HH:mm:ss');
return ReactDOM.render(
<TimePicker
}
function renderPickerWithoutSeconds(props) {
- var showSecond = false;
- var formatter = new DateTimeFormat('HH:mm');
+ const showSecond = false;
+ const formatter = new DateTimeFormat('HH:mm');
return ReactDOM.render(
<TimePicker
/>, container);
}
- function formatTime(time, formatter) {
- return formatter.parse(time, {
- locale: zhCn,
- obeyCount: true,
- });
- }
-
- beforeEach(function () {
+ beforeEach(() => {
container = document.createElement('div');
document.body.appendChild(container);
});
- afterEach(function () {
+ afterEach(() => {
ReactDOM.unmountComponentAtNode(container);
document.body.removeChild(container);
});
- describe('render panel to body', function () {
- it('popup correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
+ describe('render panel to body', () => {
+ it('popup correctly', (done) => {
+ let change;
+ const picker = renderPicker({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
expect(ReactDOM.findDOMNode(input).value).to.be('12:57:58');
- async.series([function (next) {
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok();
expect(picker.state.open).to.be(true);
- var hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1];
+ const hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1];
Simulate.click(hour);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(change).to.be.ok();
expect(change.getHourOfDay()).to.be(1);
expect(change.getMinutes()).to.be(57);
expect(ReactDOM.findDOMNode(input).value).to.be('01:57:58');
expect(picker.state.open).to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
- it('destroy correctly', function (done) {
- var change;
- var picker = renderPicker({
- onChange: function (v) {
- change = v;
- }
- });
+ it('destroy correctly', (done) => {
+ const picker = renderPicker();
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
- async.series([function (next) {
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-panel-inner')[0]).not.to.be.ok();
expect(picker.state.open).to.be(true);
if (document.querySelectorAll) {
expect(TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[0]).to.be.ok();
ReactDOM.unmountComponentAtNode(container);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
if (document.querySelectorAll) {
expect(document.querySelectorAll('.rc-time-picker').length).to.be(0);
}
expect(picker.panelInstance).not.to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
});
- describe('render panel to body (without seconds)', function () {
- it('popup correctly', function (done) {
- var change;
- var picker = renderPickerWithoutSeconds({
- onChange: function (v) {
+ describe('render panel to body (without seconds)', () => {
+ it('popup correctly', (done) => {
+ let change;
+ const picker = renderPickerWithoutSeconds({
+ onChange(v) {
change = v;
- }
+ },
});
expect(picker.state.open).not.to.be.ok();
- var input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
+ const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
expect(ReactDOM.findDOMNode(input).value).to.be('08:24');
- async.series([function (next) {
+ async.series([(next) => {
Simulate.click(input);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(TestUtils.scryRenderedDOMComponentsWithClass(picker.panelInstance, 'rc-time-picker-panel-inner')[0]).to.be.ok();
expect(picker.state.open).to.be(true);
- var hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1];
+ const hour = TestUtils.scryRenderedDOMComponentsWithTag(picker.panelInstance, 'li')[1];
Simulate.click(hour);
setTimeout(next, 100);
- }, function (next) {
+ }, (next) => {
expect(change).to.be.ok();
expect(change.getHourOfDay()).to.be(1);
expect(change.getMinutes()).to.be(24);
expect(ReactDOM.findDOMNode(input).value).to.be('01:24');
expect(picker.state.open).to.be.ok();
next();
- }], function () {
+ }], () => {
done();
});
});
});
-
});