1- import { fireEvent , render } from '@testing-library/react' ;
1+ import { act , fireEvent , render } from '@testing-library/react' ;
22import KeyCode from '@rc-component/util/lib/KeyCode' ;
33import type { CascaderProps } from '../src' ;
44import Cascader from '../src' ;
@@ -38,12 +38,16 @@ describe('Cascader.Keyboard', () => {
3838 ) ;
3939 keyDown ( container , which ) ;
4040 // Check if dropdown is open
41- jest . advanceTimersByTime ( 100000 ) ;
41+ act ( ( ) => {
42+ jest . advanceTimersByTime ( 100000 ) ;
43+ } ) ;
4244 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
4345
4446 keyDown ( container , KeyCode . ESC ) ;
4547 // Check if dropdown is closed
46- jest . advanceTimersByTime ( 100000 ) ;
48+ act ( ( ) => {
49+ jest . advanceTimersByTime ( 100000 ) ;
50+ } ) ;
4751 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
4852 } ) ;
4953 } ) ;
@@ -54,7 +58,9 @@ describe('Cascader.Keyboard', () => {
5458 ) ;
5559
5660 keyDown ( container , KeyCode . DOWN ) ;
57- jest . advanceTimersByTime ( 100000 ) ;
61+ act ( ( ) => {
62+ jest . advanceTimersByTime ( 100000 ) ;
63+ } ) ;
5864 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
5965 let menus = container . querySelectorAll ( '.rc-cascader-menu' ) ;
6066 expect ( menus . length ) . toBe ( 1 ) ;
@@ -98,7 +104,9 @@ describe('Cascader.Keyboard', () => {
98104 keyDown ( container , KeyCode . ENTER ) ;
99105
100106 // Check if dropdown is closed
101- jest . advanceTimersByTime ( 100000 ) ;
107+ act ( ( ) => {
108+ jest . advanceTimersByTime ( 100000 ) ;
109+ } ) ;
102110 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
103111 expect ( selectedValue ) . toEqual ( [ 'zj' , 'hangzhou' , 'yuhang' ] ) ;
104112 expect ( selectedOptions ) . toEqual ( [
@@ -164,7 +172,9 @@ describe('Cascader.Keyboard', () => {
164172
165173 keyDown ( container , KeyCode . DOWN ) ;
166174 // Check if dropdown is open
167- jest . advanceTimersByTime ( 100000 ) ;
175+ act ( ( ) => {
176+ jest . advanceTimersByTime ( 100000 ) ;
177+ } ) ;
168178 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
169179
170180 keyDown ( container , KeyCode . DOWN ) ;
@@ -187,7 +197,9 @@ describe('Cascader.Keyboard', () => {
187197
188198 keyDown ( container , KeyCode . RIGHT ) ;
189199 // Check if dropdown is closed
190- jest . advanceTimersByTime ( 100000 ) ;
200+ act ( ( ) => {
201+ jest . advanceTimersByTime ( 100000 ) ;
202+ } ) ;
191203 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
192204 } ) ;
193205
@@ -199,7 +211,9 @@ describe('Cascader.Keyboard', () => {
199211
200212 keyDown ( container , KeyCode . ENTER ) ;
201213 // Check if dropdown is open
202- jest . advanceTimersByTime ( 100000 ) ;
214+ act ( ( ) => {
215+ jest . advanceTimersByTime ( 100000 ) ;
216+ } ) ;
203217 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
204218
205219 keyDown ( container , KeyCode . UP ) ;
@@ -250,33 +264,45 @@ describe('Cascader.Keyboard', () => {
250264
251265 keyDown ( container , KeyCode . DOWN ) ;
252266 // Check if dropdown is open
253- jest . advanceTimersByTime ( 100000 ) ;
267+ act ( ( ) => {
268+ jest . advanceTimersByTime ( 100000 ) ;
269+ } ) ;
254270 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
255271
256272 keyDown ( container , KeyCode . LEFT ) ;
257273 // Check if dropdown is closed
258- jest . advanceTimersByTime ( 100000 ) ;
274+ act ( ( ) => {
275+ jest . advanceTimersByTime ( 100000 ) ;
276+ } ) ;
259277 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
260278
261279 keyDown ( container , KeyCode . DOWN ) ;
262280 // Check if dropdown is open
263- jest . advanceTimersByTime ( 100000 ) ;
281+ act ( ( ) => {
282+ jest . advanceTimersByTime ( 100000 ) ;
283+ } ) ;
264284 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
265285
266286 keyDown ( container , KeyCode . BACKSPACE ) ;
267287 // Check if dropdown is closed
268- jest . advanceTimersByTime ( 100000 ) ;
288+ act ( ( ) => {
289+ jest . advanceTimersByTime ( 100000 ) ;
290+ } ) ;
269291 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
270292
271293 keyDown ( container , KeyCode . DOWN ) ;
272294 // Check if dropdown is open
273- jest . advanceTimersByTime ( 100000 ) ;
295+ act ( ( ) => {
296+ jest . advanceTimersByTime ( 100000 ) ;
297+ } ) ;
274298 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
275299
276300 keyDown ( container , KeyCode . RIGHT ) ;
277301 keyDown ( container , KeyCode . ESC ) ;
278302 // Check if dropdown is closed
279- jest . advanceTimersByTime ( 100000 ) ;
303+ act ( ( ) => {
304+ jest . advanceTimersByTime ( 100000 ) ;
305+ } ) ;
280306 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
281307 } ) ;
282308
@@ -289,12 +315,16 @@ describe('Cascader.Keyboard', () => {
289315
290316 keyDown ( container , KeyCode . DOWN ) ;
291317 // Check if dropdown is open
292- jest . advanceTimersByTime ( 100000 ) ;
318+ act ( ( ) => {
319+ jest . advanceTimersByTime ( 100000 ) ;
320+ } ) ;
293321 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
294322
295323 keyDown ( container , KeyCode . ESC ) ;
296324 // Check if dropdown is closed
297- jest . advanceTimersByTime ( 100000 ) ;
325+ act ( ( ) => {
326+ jest . advanceTimersByTime ( 100000 ) ;
327+ } ) ;
298328 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
299329
300330 keyDown ( container , KeyCode . ENTER ) ;
@@ -309,7 +339,9 @@ describe('Cascader.Keyboard', () => {
309339
310340 keyDown ( container , KeyCode . ENTER ) ;
311341 // Check if dropdown is open
312- jest . advanceTimersByTime ( 100000 ) ;
342+ act ( ( ) => {
343+ jest . advanceTimersByTime ( 100000 ) ;
344+ } ) ;
313345 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
314346
315347 // 0-0
@@ -321,7 +353,9 @@ describe('Cascader.Keyboard', () => {
321353 // Select
322354 keyDown ( container , KeyCode . ENTER ) ;
323355 // Check if dropdown is closed
324- jest . advanceTimersByTime ( 100000 ) ;
356+ act ( ( ) => {
357+ jest . advanceTimersByTime ( 100000 ) ;
358+ } ) ;
325359 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
326360 expect ( selectedValue ) . toEqual ( [ 'fj' , 'fuzhou' ] ) ;
327361 } ) ;
@@ -355,12 +389,16 @@ describe('Cascader.Keyboard', () => {
355389 } ) ;
356390 keyDown ( container , KeyCode . LEFT ) ;
357391 // Check if dropdown is open
358- jest . advanceTimersByTime ( 100000 ) ;
392+ act ( ( ) => {
393+ jest . advanceTimersByTime ( 100000 ) ;
394+ } ) ;
359395 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
360396
361397 keyDown ( container , KeyCode . RIGHT ) ;
362398 // Check if dropdown is still open
363- jest . advanceTimersByTime ( 100000 ) ;
399+ act ( ( ) => {
400+ jest . advanceTimersByTime ( 100000 ) ;
401+ } ) ;
364402 expect ( isOpen ( container ) ) . toBeTruthy ( ) ;
365403 } ) ;
366404
@@ -374,7 +412,9 @@ describe('Cascader.Keyboard', () => {
374412
375413 keyDown ( container , KeyCode . DOWN ) ;
376414 // Check if dropdown is closed
377- jest . advanceTimersByTime ( 100000 ) ;
415+ act ( ( ) => {
416+ jest . advanceTimersByTime ( 100000 ) ;
417+ } ) ;
378418 expect ( isOpen ( container ) ) . toBeFalsy ( ) ;
379419 } ) ;
380420} ) ;
0 commit comments