Skip to content

Commit 3be03df

Browse files
committed
test: update
1 parent 7e8b366 commit 3be03df

File tree

2 files changed

+64
-24
lines changed

2 files changed

+64
-24
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"@rc-component/form": "^1.4.0",
5454
"@rc-component/np": "^1.0.3",
5555
"@rc-component/trigger": "^3.0.0",
56-
"@testing-library/react": "^12.1.5",
56+
"@testing-library/react": "^16.3.0",
5757
"@types/jest": "^29.4.0",
5858
"@types/node": "^24.5.2",
5959
"@types/react": "^19.0.0",
@@ -74,8 +74,8 @@
7474
"less": "^4.2.0",
7575
"prettier": "^3.1.0",
7676
"rc-test": "^7.1.2",
77-
"react": "^18.0.0",
78-
"react-dom": "^18.0.0",
77+
"react": "^19.0.0",
78+
"react-dom": "^19.0.0",
7979
"typescript": "^5.3.2"
8080
},
8181
"peerDependencies": {

tests/keyboard.spec.tsx

Lines changed: 61 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { fireEvent, render } from '@testing-library/react';
1+
import { act, fireEvent, render } from '@testing-library/react';
22
import KeyCode from '@rc-component/util/lib/KeyCode';
33
import type { CascaderProps } from '../src';
44
import 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

Comments
 (0)