@@ -1082,21 +1082,25 @@ describe('Picker.Basic', () => {
10821082 } ) ;
10831083
10841084 it ( 'not repeat scroll if disabledTime return same value' , ( ) => {
1085- const getDisabledTimeFn = ( ) => ( ) => ( {
1086- disabledHours : ( ) => [ 10 ] ,
1087- disabledMinutes : ( ) => [ 10 ] ,
1088- disabledSeconds : ( ) => [ 10 ] ,
1089- } ) ;
1085+ const getDisabledTimeFn =
1086+ ( num = 10 ) =>
1087+ ( ) => ( {
1088+ disabledHours : ( ) => [ num ] ,
1089+ disabledMinutes : ( ) => [ num ] ,
1090+ disabledSeconds : ( ) => [ num ] ,
1091+ } ) ;
10901092
1091- const { rerender } = render (
1093+ const renderDemo = ( disabledTime : any ) => (
10921094 < DayPicker
10931095 picker = "time"
10941096 defaultValue = { getDay ( '2020-07-22 09:03:28' ) }
10951097 open
1096- disabledTime = { getDisabledTimeFn ( ) }
1097- /> ,
1098+ disabledTime = { disabledTime }
1099+ />
10981100 ) ;
10991101
1102+ const { rerender } = render ( renderDemo ( getDisabledTimeFn ( ) ) ) ;
1103+
11001104 act ( ( ) => {
11011105 jest . advanceTimersByTime ( 1000 ) ;
11021106 jest . clearAllTimers ( ) ;
@@ -1105,20 +1109,23 @@ describe('Picker.Basic', () => {
11051109
11061110 // New disabledTime
11071111 triggered = false ;
1108- rerender (
1109- < DayPicker
1110- picker = "time"
1111- defaultValue = { getDay ( '2020-07-22 09:03:28' ) }
1112- open
1113- disabledTime = { getDisabledTimeFn ( ) }
1114- /> ,
1115- ) ;
1112+ renderDemo ( getDisabledTimeFn ( ) ) ;
11161113
11171114 act ( ( ) => {
11181115 jest . advanceTimersByTime ( 1000 ) ;
11191116 jest . clearAllTimers ( ) ;
11201117 } ) ;
11211118 expect ( triggered ) . toBeFalsy ( ) ;
1119+
1120+ // New disabledTime but different disabled value
1121+ triggered = false ;
1122+ rerender ( renderDemo ( getDisabledTimeFn ( 11 ) ) ) ;
1123+
1124+ act ( ( ) => {
1125+ jest . advanceTimersByTime ( 1000 ) ;
1126+ jest . clearAllTimers ( ) ;
1127+ } ) ;
1128+ expect ( triggered ) . toBeTruthy ( ) ;
11221129 } ) ;
11231130 } ) ;
11241131
0 commit comments