Skip to content

Commit c979a04

Browse files
committed
Remove flushExpired
1 parent 60182d6 commit c979a04

File tree

11 files changed

+62
-120
lines changed

11 files changed

+62
-120
lines changed

packages/react-dom/src/__tests__/ReactDOMNativeEventHeuristic-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ describe('ReactDOMNativeEventHeuristic-test', () => {
250250

251251
// 3s should be enough to expire the updates
252252
Scheduler.unstable_advanceTime(3000);
253-
expect(Scheduler).toFlushExpired([]);
253+
expect(Scheduler).toFlushWithoutYielding();
254254
expect(container.textContent).toEqual('hovered');
255255
});
256256
});
@@ -282,7 +282,7 @@ describe('ReactDOMNativeEventHeuristic-test', () => {
282282

283283
// 3s should be enough to expire the updates
284284
Scheduler.unstable_advanceTime(3000);
285-
expect(Scheduler).toFlushExpired([]);
285+
expect(Scheduler).toFlushWithoutYielding();
286286
expect(container.textContent).toEqual('hovered');
287287
});
288288
});

packages/react-dom/src/events/plugins/__tests__/ChangeEventPlugin-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ describe('ChangeEventPlugin', () => {
766766

767767
// 3s should be enough to expire the updates
768768
Scheduler.unstable_advanceTime(3000);
769-
expect(Scheduler).toFlushExpired([]);
769+
expect(Scheduler).toFlushWithoutYielding();
770770
expect(container.textContent).toEqual('hovered');
771771
});
772772
});

packages/react-reconciler/src/__tests__/ReactExpiration-test.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ describe('ReactExpiration', () => {
323323

324324
Scheduler.unstable_advanceTime(10000);
325325

326-
expect(Scheduler).toFlushExpired(['D', 'E']);
326+
expect(Scheduler).toFlushUntilNextPaint(['D', 'E']);
327327
expect(root).toMatchRenderedOutput('ABCDE');
328328
});
329329

@@ -351,7 +351,7 @@ describe('ReactExpiration', () => {
351351

352352
Scheduler.unstable_advanceTime(10000);
353353

354-
expect(Scheduler).toFlushExpired(['D', 'E']);
354+
expect(Scheduler).toFlushUntilNextPaint(['D', 'E']);
355355
expect(root).toMatchRenderedOutput('ABCDE');
356356
});
357357

@@ -373,12 +373,12 @@ describe('ReactExpiration', () => {
373373
ReactNoop.render('Hi');
374374

375375
// The update should not have expired yet.
376-
expect(Scheduler).toFlushExpired([]);
376+
expect(Scheduler).toFlushAndYieldThrough([]);
377377
expect(ReactNoop).toMatchRenderedOutput(null);
378378

379379
// Advance the time some more to expire the update.
380380
Scheduler.unstable_advanceTime(10000);
381-
expect(Scheduler).toFlushExpired([]);
381+
expect(Scheduler).toFlushWithoutYielding();
382382
expect(ReactNoop).toMatchRenderedOutput('Hi');
383383
});
384384

@@ -391,15 +391,14 @@ describe('ReactExpiration', () => {
391391
Scheduler.unstable_advanceTime(10000);
392392

393393
ReactNoop.render('Hi');
394-
expect(Scheduler).toFlushExpired([]);
395394
expect(ReactNoop).toMatchRenderedOutput(null);
396395

397396
// Advancing by ~5 seconds should be sufficient to expire the update. (I
398397
// used a slightly larger number to allow for possible rounding.)
399398
Scheduler.unstable_advanceTime(6000);
400399

401400
ReactNoop.render('Hi');
402-
expect(Scheduler).toFlushExpired([]);
401+
expect(Scheduler).toFlushAndYieldThrough([]);
403402
expect(ReactNoop).toMatchRenderedOutput('Hi');
404403
});
405404

packages/react-reconciler/src/__tests__/ReactIncrementalUpdates-test.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ describe('ReactIncrementalUpdates', () => {
469469

470470
ReactNoop.act(() => {
471471
ReactNoop.render(<App />);
472-
expect(Scheduler).toFlushExpired([]);
472+
expect(Scheduler).toFlushAndYieldThrough([]);
473473
expect(Scheduler).toFlushAndYield([
474474
'Render: 0',
475475
'Commit: 0',
@@ -479,7 +479,9 @@ describe('ReactIncrementalUpdates', () => {
479479
Scheduler.unstable_advanceTime(10000);
480480

481481
setCount(2);
482-
expect(Scheduler).toFlushExpired([]);
482+
expect(Scheduler).toFlushAndYieldThrough([]);
483+
expect(Scheduler).toFlushAndYield([]);
484+
// TODO
483485
});
484486
});
485487

@@ -497,7 +499,11 @@ describe('ReactIncrementalUpdates', () => {
497499
Scheduler.unstable_advanceTime(10000);
498500

499501
ReactNoop.render(<Text text="B" />);
500-
expect(Scheduler).toFlushExpired([]);
502+
503+
// Nothing has expired.
504+
expect(Scheduler).toFlushAndYieldThrough([]);
505+
506+
expect(Scheduler).toFlushAndYield(['B']);
501507
});
502508

503509
it('regression: does not expire soon due to previous expired work', () => {
@@ -508,12 +514,12 @@ describe('ReactIncrementalUpdates', () => {
508514

509515
ReactNoop.render(<Text text="A" />);
510516
Scheduler.unstable_advanceTime(10000);
511-
expect(Scheduler).toFlushExpired(['A']);
517+
expect(Scheduler).toFlushAndYieldThrough(['A']);
512518

513519
Scheduler.unstable_advanceTime(10000);
514520

515521
ReactNoop.render(<Text text="B" />);
516-
expect(Scheduler).toFlushExpired([]);
522+
expect(Scheduler).toFlushUntilNextPaint([]);
517523
});
518524

519525
it('when rebasing, does not exclude updates that were already committed, regardless of priority', async () => {

packages/react-reconciler/src/__tests__/ReactSuspense-test.internal.js

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ describe('ReactSuspense', () => {
370370

371371
await LazyClass;
372372

373-
expect(Scheduler).toFlushExpired(['Hi', 'Did mount: Hi']);
373+
expect(Scheduler).toFlushUntilNextPaint(['Hi', 'Did mount: Hi']);
374374
expect(root).toMatchRenderedOutput('Hi');
375375
});
376376

@@ -729,7 +729,7 @@ describe('ReactSuspense', () => {
729729
jest.advanceTimersByTime(100);
730730

731731
expect(Scheduler).toHaveYielded(['Promise resolved [B:1]']);
732-
expect(Scheduler).toFlushExpired([
732+
expect(Scheduler).toFlushUntilNextPaint([
733733
'B:1',
734734
'Unmount [Loading...]',
735735
// Should be a mount, not an update
@@ -748,7 +748,7 @@ describe('ReactSuspense', () => {
748748
jest.advanceTimersByTime(100);
749749

750750
expect(Scheduler).toHaveYielded(['Promise resolved [B:2]']);
751-
expect(Scheduler).toFlushExpired([
751+
expect(Scheduler).toFlushUntilNextPaint([
752752
'B:2',
753753
'Unmount [Loading...]',
754754
'Update [B:2]',
@@ -786,7 +786,7 @@ describe('ReactSuspense', () => {
786786
jest.advanceTimersByTime(1000);
787787

788788
expect(Scheduler).toHaveYielded(['Promise resolved [A]']);
789-
expect(Scheduler).toFlushExpired(['A']);
789+
expect(Scheduler).toFlushUntilNextPaint(['A']);
790790
expect(root).toMatchRenderedOutput('Stateful: 1A');
791791

792792
root.update(<App text="B" />);
@@ -804,7 +804,7 @@ describe('ReactSuspense', () => {
804804
jest.advanceTimersByTime(1000);
805805

806806
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
807-
expect(Scheduler).toFlushExpired(['B']);
807+
expect(Scheduler).toFlushUntilNextPaint(['B']);
808808
expect(root).toMatchRenderedOutput('Stateful: 2B');
809809
});
810810

@@ -846,7 +846,7 @@ describe('ReactSuspense', () => {
846846
jest.advanceTimersByTime(1000);
847847

848848
expect(Scheduler).toHaveYielded(['Promise resolved [A]']);
849-
expect(Scheduler).toFlushExpired(['A']);
849+
expect(Scheduler).toFlushUntilNextPaint(['A']);
850850
expect(root).toMatchRenderedOutput('Stateful: 1A');
851851

852852
root.update(<App text="B" />);
@@ -871,7 +871,7 @@ describe('ReactSuspense', () => {
871871
jest.advanceTimersByTime(1000);
872872

873873
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
874-
expect(Scheduler).toFlushExpired(['B']);
874+
expect(Scheduler).toFlushUntilNextPaint(['B']);
875875
expect(root).toMatchRenderedOutput('Stateful: 2B');
876876
});
877877

@@ -951,7 +951,7 @@ describe('ReactSuspense', () => {
951951
jest.advanceTimersByTime(500);
952952

953953
expect(Scheduler).toHaveYielded(['Promise resolved [A]']);
954-
expect(Scheduler).toFlushExpired(['A', 'Did commit: A']);
954+
expect(Scheduler).toFlushUntilNextPaint(['A', 'Did commit: A']);
955955
});
956956

957957
it('retries when an update is scheduled on a timed out tree', () => {
@@ -1038,7 +1038,7 @@ describe('ReactSuspense', () => {
10381038
jest.advanceTimersByTime(1000);
10391039

10401040
expect(Scheduler).toHaveYielded(['Promise resolved [Child 1]']);
1041-
expect(Scheduler).toFlushExpired([
1041+
expect(Scheduler).toFlushUntilNextPaint([
10421042
'Child 1',
10431043
'Suspend! [Child 2]',
10441044
'Suspend! [Child 3]',
@@ -1047,12 +1047,15 @@ describe('ReactSuspense', () => {
10471047
jest.advanceTimersByTime(1000);
10481048

10491049
expect(Scheduler).toHaveYielded(['Promise resolved [Child 2]']);
1050-
expect(Scheduler).toFlushExpired(['Child 2', 'Suspend! [Child 3]']);
1050+
expect(Scheduler).toFlushUntilNextPaint([
1051+
'Child 2',
1052+
'Suspend! [Child 3]',
1053+
]);
10511054

10521055
jest.advanceTimersByTime(1000);
10531056

10541057
expect(Scheduler).toHaveYielded(['Promise resolved [Child 3]']);
1055-
expect(Scheduler).toFlushExpired(['Child 3']);
1058+
expect(Scheduler).toFlushUntilNextPaint(['Child 3']);
10561059
expect(root).toMatchRenderedOutput(
10571060
['Child 1', 'Child 2', 'Child 3'].join(''),
10581061
);
@@ -1113,7 +1116,7 @@ describe('ReactSuspense', () => {
11131116
jest.advanceTimersByTime(1000);
11141117

11151118
expect(Scheduler).toHaveYielded(['Promise resolved [Tab: 0]']);
1116-
expect(Scheduler).toFlushExpired(['Tab: 0']);
1119+
expect(Scheduler).toFlushUntilNextPaint(['Tab: 0']);
11171120
expect(root).toMatchRenderedOutput('Tab: 0 + sibling');
11181121

11191122
act(() => setTab(1));
@@ -1126,7 +1129,7 @@ describe('ReactSuspense', () => {
11261129
jest.advanceTimersByTime(1000);
11271130

11281131
expect(Scheduler).toHaveYielded(['Promise resolved [Tab: 1]']);
1129-
expect(Scheduler).toFlushExpired(['Tab: 1']);
1132+
expect(Scheduler).toFlushUntilNextPaint(['Tab: 1']);
11301133
expect(root).toMatchRenderedOutput('Tab: 1 + sibling');
11311134

11321135
act(() => setTab(2));
@@ -1139,7 +1142,7 @@ describe('ReactSuspense', () => {
11391142
jest.advanceTimersByTime(1000);
11401143

11411144
expect(Scheduler).toHaveYielded(['Promise resolved [Tab: 2]']);
1142-
expect(Scheduler).toFlushExpired(['Tab: 2']);
1145+
expect(Scheduler).toFlushUntilNextPaint(['Tab: 2']);
11431146
expect(root).toMatchRenderedOutput('Tab: 2 + sibling');
11441147
});
11451148

@@ -1177,7 +1180,7 @@ describe('ReactSuspense', () => {
11771180
jest.advanceTimersByTime(1000);
11781181

11791182
expect(Scheduler).toHaveYielded(['Promise resolved [A:0]']);
1180-
expect(Scheduler).toFlushExpired(['A:0']);
1183+
expect(Scheduler).toFlushUntilNextPaint(['A:0']);
11811184
expect(root).toMatchRenderedOutput('A:0');
11821185

11831186
act(() => setStep(1));
@@ -1215,7 +1218,7 @@ describe('ReactSuspense', () => {
12151218
jest.advanceTimersByTime(1000);
12161219

12171220
expect(Scheduler).toHaveYielded(['Promise resolved [A]']);
1218-
expect(Scheduler).toFlushExpired([
1221+
expect(Scheduler).toFlushUntilNextPaint([
12191222
'A',
12201223
// The promises for B and C have now been thrown twice
12211224
'Suspend! [B]',
@@ -1226,7 +1229,7 @@ describe('ReactSuspense', () => {
12261229
jest.advanceTimersByTime(1000);
12271230

12281231
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
1229-
expect(Scheduler).toFlushExpired([
1232+
expect(Scheduler).toFlushUntilNextPaint([
12301233
// Even though the promise for B was thrown twice, we should only
12311234
// re-render once.
12321235
'B',
@@ -1238,7 +1241,7 @@ describe('ReactSuspense', () => {
12381241
jest.advanceTimersByTime(1000);
12391242

12401243
expect(Scheduler).toHaveYielded(['Promise resolved [C]']);
1241-
expect(Scheduler).toFlushExpired([
1244+
expect(Scheduler).toFlushUntilNextPaint([
12421245
// Even though the promise for C was thrown three times, we should only
12431246
// re-render once.
12441247
'C',
@@ -1280,7 +1283,7 @@ describe('ReactSuspense', () => {
12801283
jest.advanceTimersByTime(1000);
12811284

12821285
expect(Scheduler).toHaveYielded(['Promise resolved [A]']);
1283-
expect(Scheduler).toFlushExpired([
1286+
expect(Scheduler).toFlushUntilNextPaint([
12841287
'A',
12851288
// The promises for B and C have now been thrown twice
12861289
'Suspend! [B]',
@@ -1291,7 +1294,7 @@ describe('ReactSuspense', () => {
12911294
jest.advanceTimersByTime(1000);
12921295

12931296
expect(Scheduler).toHaveYielded(['Promise resolved [B]']);
1294-
expect(Scheduler).toFlushExpired([
1297+
expect(Scheduler).toFlushUntilNextPaint([
12951298
// Even though the promise for B was thrown twice, we should only
12961299
// re-render once.
12971300
'B',
@@ -1393,15 +1396,15 @@ describe('ReactSuspense', () => {
13931396
jest.advanceTimersByTime(1000);
13941397

13951398
expect(Scheduler).toHaveYielded(['Promise resolved [default]']);
1396-
expect(Scheduler).toFlushExpired(['default']);
1399+
expect(Scheduler).toFlushUntilNextPaint(['default']);
13971400
expect(root).toMatchRenderedOutput('default');
13981401

13991402
act(() => setValue('new value'));
14001403
expect(Scheduler).toHaveYielded(['Suspend! [new value]', 'Loading...']);
14011404
jest.advanceTimersByTime(1000);
14021405

14031406
expect(Scheduler).toHaveYielded(['Promise resolved [new value]']);
1404-
expect(Scheduler).toFlushExpired(['new value']);
1407+
expect(Scheduler).toFlushUntilNextPaint(['new value']);
14051408
expect(root).toMatchRenderedOutput('new value');
14061409
});
14071410

@@ -1450,15 +1453,15 @@ describe('ReactSuspense', () => {
14501453
jest.advanceTimersByTime(1000);
14511454

14521455
expect(Scheduler).toHaveYielded(['Promise resolved [default]']);
1453-
expect(Scheduler).toFlushExpired(['default']);
1456+
expect(Scheduler).toFlushUntilNextPaint(['default']);
14541457
expect(root).toMatchRenderedOutput('default');
14551458

14561459
act(() => setValue('new value'));
14571460
expect(Scheduler).toHaveYielded(['Suspend! [new value]', 'Loading...']);
14581461
jest.advanceTimersByTime(1000);
14591462

14601463
expect(Scheduler).toHaveYielded(['Promise resolved [new value]']);
1461-
expect(Scheduler).toFlushExpired(['new value']);
1464+
expect(Scheduler).toFlushUntilNextPaint(['new value']);
14621465
expect(root).toMatchRenderedOutput('new value');
14631466
});
14641467

@@ -1506,15 +1509,15 @@ describe('ReactSuspense', () => {
15061509
jest.advanceTimersByTime(1000);
15071510

15081511
expect(Scheduler).toHaveYielded(['Promise resolved [default]']);
1509-
expect(Scheduler).toFlushExpired(['default']);
1512+
expect(Scheduler).toFlushUntilNextPaint(['default']);
15101513
expect(root).toMatchRenderedOutput('default');
15111514

15121515
act(() => setValue('new value'));
15131516
expect(Scheduler).toHaveYielded(['Suspend! [new value]', 'Loading...']);
15141517
jest.advanceTimersByTime(1000);
15151518

15161519
expect(Scheduler).toHaveYielded(['Promise resolved [new value]']);
1517-
expect(Scheduler).toFlushExpired(['new value']);
1520+
expect(Scheduler).toFlushUntilNextPaint(['new value']);
15181521
expect(root).toMatchRenderedOutput('new value');
15191522
});
15201523

@@ -1558,15 +1561,15 @@ describe('ReactSuspense', () => {
15581561
jest.advanceTimersByTime(1000);
15591562

15601563
expect(Scheduler).toHaveYielded(['Promise resolved [default]']);
1561-
expect(Scheduler).toFlushExpired(['default']);
1564+
expect(Scheduler).toFlushUntilNextPaint(['default']);
15621565
expect(root).toMatchRenderedOutput('default');
15631566

15641567
act(() => setValue('new value'));
15651568
expect(Scheduler).toHaveYielded(['Suspend! [new value]', 'Loading...']);
15661569
jest.advanceTimersByTime(1000);
15671570

15681571
expect(Scheduler).toHaveYielded(['Promise resolved [new value]']);
1569-
expect(Scheduler).toFlushExpired(['new value']);
1572+
expect(Scheduler).toFlushUntilNextPaint(['new value']);
15701573
expect(root).toMatchRenderedOutput('new value');
15711574
});
15721575
});

packages/react-reconciler/src/__tests__/ReactSuspenseWithNoopRenderer-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1016,7 +1016,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
10161016
Scheduler.unstable_advanceTime(10000);
10171017
jest.advanceTimersByTime(10000);
10181018

1019-
expect(Scheduler).toFlushExpired([
1019+
expect(Scheduler).toFlushUntilNextPaint([
10201020
'Suspend! [goodbye]',
10211021
'Loading...',
10221022
'Commit: goodbye',

0 commit comments

Comments
 (0)