aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/Select.spec.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Select.spec.jsx')
-rw-r--r--tests/Select.spec.jsx120
1 files changed, 120 insertions, 0 deletions
diff --git a/tests/Select.spec.jsx b/tests/Select.spec.jsx
index 2a15e7c..f414c18 100644
--- a/tests/Select.spec.jsx
+++ b/tests/Select.spec.jsx
@@ -552,5 +552,125 @@ describe('Select', () => {
552 done(); 552 done();
553 }); 553 });
554 }); 554 });
555
556 it('disabled correctly', done => {
557 let change;
558 const picker = renderPicker({
559 use12Hours: true,
560 format: undefined,
561 onChange(v) {
562 change = v;
563 },
564 disabledHours() {
565 return [0, 2, 6, 18, 12];
566 },
567 defaultValue: moment()
568 .hour(0)
569 .minute(0)
570 .second(0),
571 showSecond: false,
572 });
573 expect(picker.state.open).not.to.be.ok();
574 const input = TestUtils.scryRenderedDOMComponentsWithClass(picker, 'rc-time-picker-input')[0];
575 let header;
576 async.series(
577 [
578 next => {
579 expect(picker.state.open).to.be(false);
580
581 Simulate.click(input);
582 setTimeout(next, 100);
583 },
584 next => {
585 expect(picker.state.open).to.be(true);
586 header = TestUtils.scryRenderedDOMComponentsWithClass(
587 picker.panelInstance,
588 'rc-time-picker-panel-input',
589 )[0];
590 expect(header).to.be.ok();
591 expect(header.value).to.be('12:00 am');
592 expect(input.value).to.be('12:00 am');
593
594 const selector = TestUtils.scryRenderedDOMComponentsWithClass(
595 picker.panelInstance,
596 'rc-time-picker-panel-select',
597 )[0];
598 const option = selector.getElementsByTagName('li')[2];
599 Simulate.click(option);
600 setTimeout(next, 100);
601 },
602 next => {
603 expect(change).not.to.be.ok();
604 expect(header.value).to.be('12:00 am');
605 expect(input.value).to.be('12:00 am');
606 expect(picker.state.open).to.be.ok();
607
608 const selector = TestUtils.scryRenderedDOMComponentsWithClass(
609 picker.panelInstance,
610 'rc-time-picker-panel-select',
611 )[0];
612 const option = selector.getElementsByTagName('li')[5];
613 Simulate.click(option);
614 setTimeout(next, 100);
615 },
616 next => {
617 expect(change).to.be.ok();
618 expect(change.hour()).to.be(5);
619 expect(header.value).to.be('5:00 am');
620 expect(input.value).to.be('5:00 am');
621 expect(picker.state.open).to.be.ok();
622
623 const selector = TestUtils.scryRenderedDOMComponentsWithClass(
624 picker.panelInstance,
625 'rc-time-picker-panel-select',
626 )[2];
627 Simulate.click(selector.getElementsByTagName('li')[1]);
628
629 setTimeout(next, 200);
630 change = null;
631 },
632 next => {
633 expect(change).not.to.be.ok();
634 expect(header.value).to.be('5:00 pm');
635 expect(input.value).to.be('5:00 pm');
636 expect(picker.state.open).to.be.ok();
637
638 const selector = TestUtils.scryRenderedDOMComponentsWithClass(
639 picker.panelInstance,
640 'rc-time-picker-panel-select',
641 )[0];
642 const option = selector.getElementsByTagName('li')[0];
643 Simulate.click(option);
644 setTimeout(next, 100);
645 },
646 next => {
647 expect(change).not.to.be.ok();
648 expect(header.value).to.be('5:00 pm');
649 expect(input.value).to.be('5:00 pm');
650 expect(picker.state.open).to.be.ok();
651
652 const selector = TestUtils.scryRenderedDOMComponentsWithClass(
653 picker.panelInstance,
654 'rc-time-picker-panel-select',
655 )[0];
656 const option = selector.getElementsByTagName('li')[5];
657 Simulate.click(option);
658 setTimeout(next, 100);
659 },
660 next => {
661 expect(change).to.be.ok();
662 expect(change.hour()).to.be(17);
663 expect(header.value).to.be('5:00 pm');
664 expect(input.value).to.be('5:00 pm');
665 expect(picker.state.open).to.be.ok();
666
667 next();
668 },
669 ],
670 () => {
671 done();
672 },
673 );
674 });
555 }); 675 });
556}); 676});