@@ -477,35 +477,61 @@ describe('Picker.Keyboard', () => {
477477 expect ( preventDefault ) . toHaveBeenCalled ( ) ;
478478 } ) ;
479479
480- it ( 'keyboard should not trigger on disabledDate' , ( ) => {
481- const onChange = jest . fn ( ) ;
482- const onSelect = jest . fn ( ) ;
483- const wrapper = mount (
484- < MomentPicker
485- showTime
486- onSelect = { onSelect }
487- onChange = { onChange }
488- disabledDate = { date => date . date ( ) % 2 === 0 }
489- /> ,
490- ) ;
491- wrapper . find ( 'input' ) . simulate ( 'focus' ) ;
492- wrapper . keyDown ( KeyCode . ENTER ) ;
493- wrapper . keyDown ( KeyCode . TAB ) ;
494- wrapper . keyDown ( KeyCode . TAB ) ;
495- wrapper . keyDown ( KeyCode . DOWN ) ;
496- expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '1990-09-10' ) ) . toBeTruthy ( ) ;
480+ describe ( 'keyboard should not trigger on disabledDate' , ( ) => {
481+ it ( 'picker' , ( ) => {
482+ const onChange = jest . fn ( ) ;
483+ const onSelect = jest . fn ( ) ;
484+ const wrapper = mount (
485+ < MomentPicker
486+ showTime
487+ onSelect = { onSelect }
488+ onChange = { onChange }
489+ disabledDate = { date => date . date ( ) % 2 === 0 }
490+ /> ,
491+ ) ;
492+ wrapper . find ( 'input' ) . simulate ( 'focus' ) ;
493+ wrapper . keyDown ( KeyCode . ENTER ) ;
494+ wrapper . keyDown ( KeyCode . TAB ) ;
495+ wrapper . keyDown ( KeyCode . TAB ) ;
496+ wrapper . keyDown ( KeyCode . DOWN ) ;
497+ expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '1990-09-10' ) ) . toBeTruthy ( ) ;
497498
498- // Not enter to change
499- wrapper . keyDown ( KeyCode . ENTER ) ;
500- expect ( onChange ) . not . toHaveBeenCalled ( ) ;
499+ // Not enter to change
500+ wrapper . keyDown ( KeyCode . ENTER ) ;
501+ expect ( onChange ) . not . toHaveBeenCalled ( ) ;
501502
502- // Not button enabled
503- expect ( wrapper . find ( '.rc-picker-ok button' ) . props ( ) . disabled ) . toBeTruthy ( ) ;
503+ // Not button enabled
504+ expect ( wrapper . find ( '.rc-picker-ok button' ) . props ( ) . disabled ) . toBeTruthy ( ) ;
504505
505- // Another can be enter
506- wrapper . keyDown ( KeyCode . RIGHT ) ;
507- expect ( wrapper . find ( '.rc-picker-ok button' ) . props ( ) . disabled ) . toBeFalsy ( ) ;
508- wrapper . keyDown ( KeyCode . ENTER ) ;
509- expect ( onChange ) . toHaveBeenCalled ( ) ;
506+ // Another can be enter
507+ wrapper . keyDown ( KeyCode . RIGHT ) ;
508+ expect ( wrapper . find ( '.rc-picker-ok button' ) . props ( ) . disabled ) . toBeFalsy ( ) ;
509+ wrapper . keyDown ( KeyCode . ENTER ) ;
510+ expect ( onChange ) . toHaveBeenCalled ( ) ;
511+ } ) ;
512+
513+ it ( 'panel' , ( ) => {
514+ const onChange = jest . fn ( ) ;
515+ const onSelect = jest . fn ( ) ;
516+ const wrapper = mount (
517+ < MomentPickerPanel
518+ onSelect = { onSelect }
519+ onChange = { onChange }
520+ disabledDate = { date => date . date ( ) % 2 === 0 }
521+ /> ,
522+ ) ;
523+
524+ wrapper . find ( '.rc-picker-panel' ) . simulate ( 'focus' ) ;
525+
526+ // 9-10 is disabled
527+ wrapper . keyDown ( KeyCode . DOWN ) ;
528+ expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '1990-09-10' ) ) . toBeTruthy ( ) ;
529+ expect ( onChange ) . not . toHaveBeenCalled ( ) ;
530+
531+ // 9-17 is enabled
532+ wrapper . keyDown ( KeyCode . DOWN ) ;
533+ expect ( isSame ( onSelect . mock . calls [ 1 ] [ 0 ] , '1990-09-17' ) ) . toBeTruthy ( ) ;
534+ expect ( isSame ( onChange . mock . calls [ 0 ] [ 0 ] , '1990-09-17' ) ) . toBeTruthy ( ) ;
535+ } ) ;
510536 } ) ;
511537} ) ;
0 commit comments