followup to #15763, fix failing test in ReactDOMTracing-test (#15972)
* followup to #15763, failing tests in ReactDOMTracing-test It was me. I broke the build. * [ignore] add a newline to trigger a build
Sunil Pai committed
Jun 24, 2019 at 11:44 UTC
04b77c630492963aa2c81ae43fb537fd08b5c056
1 file changed
+41
-38
packages/react/src/__tests__/ReactDOMTracing-test.internal.js
+41
-38
@@ -538,53 +538,56 @@ describe('ReactDOMTracing', () => {
538
const root = ReactDOM.unstable_createRoot(container);
539
540
let interaction;
541
- SchedulerTracing.unstable_trace('initialization', 0, () => {
542
- interaction = Array.from(SchedulerTracing.unstable_getCurrent())[0];
543
- // This render is only CPU bound. Nothing suspends.
544
- root.render(<App />);
545
- });
541
547
- expect(Scheduler).toFlushAndYieldThrough(['A']);
542
+ TestUtils.act(() => {
543
+ SchedulerTracing.unstable_trace('initialization', 0, () => {
544
+ interaction = Array.from(SchedulerTracing.unstable_getCurrent())[0];
545
+ // This render is only CPU bound. Nothing suspends.
546
+ root.render(<App />);
547
+ });
548
549
- Scheduler.advanceTime(300);
550
- jest.advanceTimersByTime(300);
549
+ expect(Scheduler).toFlushAndYieldThrough(['A']);
550
552
- expect(Scheduler).toFlushAndYieldThrough(['B']);
551
+ Scheduler.advanceTime(300);
552
+ jest.advanceTimersByTime(300);
553
554
- Scheduler.advanceTime(300);
555
- jest.advanceTimersByTime(300);
554
+ expect(Scheduler).toFlushAndYieldThrough(['B']);
555
557
- // Time has now elapsed for so long that we're just going to give up
558
- // rendering the rest of the content. So that we can at least show
559
- // something.
560
- expect(Scheduler).toFlushAndYieldThrough([
561
- 'Loading C',
562
- 'Commit A',
563
- 'Commit B',
564
- 'Commit Loading C',
565
- ]);
556
+ Scheduler.advanceTime(300);
557
+ jest.advanceTimersByTime(300);
558
567
- // Schedule an unrelated low priority update that shouldn't be included
568
- // in the previous interaction. This is meant to ensure that we don't
569
- // rely on the whole tree completing to cover up bugs.
570
- Scheduler.unstable_runWithPriority(
571
- Scheduler.unstable_IdlePriority,
572
- () => root.render(<App />),
573
- );
559
+ // Time has now elapsed for so long that we're just going to give up
560
+ // rendering the rest of the content. So that we can at least show
561
+ // something.
562
+ expect(Scheduler).toFlushAndYieldThrough([
563
+ 'Loading C',
564
+ 'Commit A',
565
+ 'Commit B',
566
+ 'Commit Loading C',
567
+ ]);
568
575
- expect(onInteractionTraced).toHaveBeenCalledTimes(1);
576
- expect(onInteractionTraced).toHaveBeenLastNotifiedOfInteraction(
577
- interaction,
578
- );
579
- expect(onInteractionScheduledWorkCompleted).not.toHaveBeenCalled();
569
+ // Schedule an unrelated low priority update that shouldn't be included
570
+ // in the previous interaction. This is meant to ensure that we don't
571
+ // rely on the whole tree completing to cover up bugs.
572
+ Scheduler.unstable_runWithPriority(
573
+ Scheduler.unstable_IdlePriority,
574
+ () => root.render(<App />),
575
+ );
576
581
- // Then we do a second pass to commit the last item.
582
- expect(Scheduler).toFlushAndYieldThrough(['C', 'Commit C']);
577
+ expect(onInteractionTraced).toHaveBeenCalledTimes(1);
578
+ expect(onInteractionTraced).toHaveBeenLastNotifiedOfInteraction(
579
+ interaction,
580
+ );
581
+ expect(onInteractionScheduledWorkCompleted).not.toHaveBeenCalled();
582
584
- expect(onInteractionScheduledWorkCompleted).toHaveBeenCalledTimes(1);
585
- expect(
586
- onInteractionScheduledWorkCompleted,
587
- ).toHaveBeenLastNotifiedOfInteraction(interaction);
583
+ // Then we do a second pass to commit the last item.
584
+ expect(Scheduler).toFlushAndYieldThrough(['C', 'Commit C']);
585
+
586
+ expect(onInteractionScheduledWorkCompleted).toHaveBeenCalledTimes(1);
587
+ expect(
588
+ onInteractionScheduledWorkCompleted,
589
+ ).toHaveBeenLastNotifiedOfInteraction(interaction);
590
+ });
591
});
592
});
593