Skip to content

Commit f16a8f0

Browse files
author
Brian Vaughn
committed
Improved Profiler commit hooks test
Previously the tests didn't ensure that time spent during cascading render was not included in duration reported by commit hooks.
1 parent dfb6a40 commit f16a8f0

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

packages/react/src/__tests__/ReactProfiler-test.internal.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,6 +1400,7 @@ describe('Profiler', () => {
14001400

14011401
const ComponentWithEffects = ({shouldCascade}) => {
14021402
const [didCascade, setDidCascade] = React.useState(false);
1403+
Scheduler.unstable_advanceTime(100000000);
14031404
React.useLayoutEffect(() => {
14041405
if (shouldCascade && !didCascade) {
14051406
setDidCascade(true);
@@ -1426,6 +1427,7 @@ describe('Profiler', () => {
14261427
}
14271428
}
14281429
render() {
1430+
Scheduler.unstable_advanceTime(1000000000);
14291431
return null;
14301432
}
14311433
}
@@ -1447,7 +1449,7 @@ describe('Profiler', () => {
14471449
expect(call[0]).toBe('mount-test');
14481450
expect(call[1]).toBe('mount');
14491451
expect(call[2]).toBe(1010); // durations
1450-
expect(call[3]).toBe(1); // commit start time (before mutations or effects)
1452+
expect(call[3]).toBe(1100000001); // commit start time (before mutations or effects)
14511453
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
14521454

14531455
call = callback.mock.calls[1];
@@ -1456,7 +1458,7 @@ describe('Profiler', () => {
14561458
expect(call[0]).toBe('mount-test');
14571459
expect(call[1]).toBe('update');
14581460
expect(call[2]).toBe(130); // durations
1459-
expect(call[3]).toBe(1011); // commit start time (before mutations or effects)
1461+
expect(call[3]).toBe(1200001011); // commit start time (before mutations or effects)
14601462
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
14611463

14621464
Scheduler.unstable_advanceTime(1);
@@ -1476,7 +1478,7 @@ describe('Profiler', () => {
14761478
expect(call[0]).toBe('update-test');
14771479
expect(call[1]).toBe('update');
14781480
expect(call[2]).toBe(10130); // durations
1479-
expect(call[3]).toBe(1142); // commit start time (before mutations or effects)
1481+
expect(call[3]).toBe(2300001142); // commit start time (before mutations or effects)
14801482
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
14811483

14821484
call = callback.mock.calls[3];
@@ -1485,7 +1487,7 @@ describe('Profiler', () => {
14851487
expect(call[0]).toBe('update-test');
14861488
expect(call[1]).toBe('update');
14871489
expect(call[2]).toBe(10000); // durations
1488-
expect(call[3]).toBe(11272); // commit start time (before mutations or effects)
1490+
expect(call[3]).toBe(3300011272); // commit start time (before mutations or effects)
14891491
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
14901492
});
14911493

@@ -1966,6 +1968,7 @@ describe('Profiler', () => {
19661968

19671969
const ComponentWithEffects = () => {
19681970
const [didMount, setDidMount] = React.useState(false);
1971+
Scheduler.unstable_advanceTime(1000);
19691972
React.useEffect(() => {
19701973
if (!didMount) {
19711974
setDidMount(true);
@@ -1996,7 +1999,7 @@ describe('Profiler', () => {
19961999
expect(call[0]).toBe('mount-test');
19972000
expect(call[1]).toBe('mount');
19982001
expect(call[2]).toBe(10); // durations
1999-
expect(call[3]).toBe(1); // commit start time (before mutations or effects)
2002+
expect(call[3]).toBe(1001); // commit start time (before mutations or effects)
20002003
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
20012004

20022005
call = callback.mock.calls[1];
@@ -2005,7 +2008,7 @@ describe('Profiler', () => {
20052008
expect(call[0]).toBe('mount-test');
20062009
expect(call[1]).toBe('update');
20072010
expect(call[2]).toBe(130); // durations
2008-
expect(call[3]).toBe(11); // commit start time (before mutations or effects)
2011+
expect(call[3]).toBe(2011); // commit start time (before mutations or effects)
20092012
expect(call[4]).toEqual(enableSchedulerTracing ? new Set() : undefined); // interaction events
20102013
});
20112014

0 commit comments

Comments
 (0)