Add stable concurrent option to react-test-renderer (#27804)

## Summary

Concurrent rendering has been the default since React 18 release.
ReactTestRenderer requires passing `{unstable_isConcurrent: true}` to
match this behavior, which means by default tests written with RTR use a
different rendering method than the code they test.

Eventually, RTR should only use ConcurrentRoot. As a first step, let's
add a version of the concurrent option that isn't marked unstable. Next
we will follow up with removing the unstable option when it is safe to
merge.

## How did you test this change?

`yarn test
packages/react-test-renderer/src/__tests__/ReactTestRendererAsync-test.js`
This commit is contained in:
Jack Pope
2023-12-07 10:26:33 -05:00
committed by GitHub
parent be8aa76873
commit b36ae8d7aa
15 changed files with 107 additions and 103 deletions

View File

@@ -121,7 +121,7 @@ describe('ReactCache', () => {
}
ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [Hi]', 'Loading...']);
@@ -141,7 +141,7 @@ describe('ReactCache', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [Hi]', 'Loading...']);
@@ -181,7 +181,7 @@ describe('ReactCache', () => {
<App />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -210,7 +210,7 @@ describe('ReactCache', () => {
<AsyncText ms={100} text={3} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Suspend! [1]', 'Loading...']);
@@ -298,7 +298,7 @@ describe('ReactCache', () => {
<App />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -356,7 +356,7 @@ describe('ReactCache', () => {
<BadAsyncText text="Hi" />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -372,7 +372,7 @@ describe('ReactCache', () => {
<BadAsyncText text="Hi" />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);

View File

@@ -254,7 +254,7 @@ describe('React hooks DevTools integration', () => {
<MyComponent />
</React.Suspense>
</div>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);

View File

@@ -75,7 +75,7 @@ describe('InspectedElement', () => {
// Used by inspectElementAtIndex() helper function
utils.act(() => {
testRendererInstance = TestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -307,7 +307,7 @@ describe('InspectedElement', () => {
['An update to %s inside a test was not wrapped in act'],
() => {
testRendererInstance = TestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
},
);
@@ -469,7 +469,7 @@ describe('InspectedElement', () => {
['An update to %s inside a test was not wrapped in act'],
() => {
testRendererInstance = TestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
},
);
@@ -2034,7 +2034,7 @@ describe('InspectedElement', () => {
['An update to %s inside a test was not wrapped in act'],
() => {
testRendererInstance = TestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
},
);
@@ -2317,7 +2317,7 @@ describe('InspectedElement', () => {
<Suspender target={id} />
</React.Suspense>
</Contexts>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
}, false);
await utils.actAsync(() => {
@@ -2817,7 +2817,7 @@ describe('InspectedElement', () => {
['An update to %s inside a test was not wrapped in act'],
() => {
testRendererInstance = TestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
},
);

View File

@@ -67,7 +67,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<div />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
expect(logs).toEqual([]);
@@ -179,7 +179,7 @@ describe('DebugTracing', () => {
<Example />
</React.Suspense>
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
@@ -216,7 +216,7 @@ describe('DebugTracing', () => {
</React.Suspense>
</Wrapper>
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
@@ -247,7 +247,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
@@ -278,7 +278,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
}).toErrorDev('Cannot update during an existing state transition');
@@ -305,7 +305,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);
@@ -333,7 +333,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
expect(logs).toEqual([
@@ -358,7 +358,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -381,7 +381,7 @@ describe('DebugTracing', () => {
<React.unstable_DebugTracingMode>
<Example />
</React.unstable_DebugTracingMode>,
{unstable_isConcurrent: true},
{isConcurrent: true},
),
);

View File

@@ -59,7 +59,7 @@ describe('ErrorBoundaryReconciliation', () => {
<ErrorBoundary fallbackTagName={fallbackTagName}>
<BrokenRender fail={false} />
</ErrorBoundary>,
{unstable_isConcurrent: isConcurrent},
{isConcurrent: isConcurrent},
);
});
expect(renderer).toMatchRenderedOutput(<span prop="BrokenRender" />);

View File

@@ -86,7 +86,7 @@ describe('ReactHooks', () => {
return <Child text={text} />;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Parent />);
await waitForAll(['Parent: 0, 0', 'Child: 0, 0', 'Effect: 0, 0']);
expect(root).toMatchRenderedOutput('0, 0');
@@ -174,7 +174,7 @@ describe('ReactHooks', () => {
Parent = memo(Parent);
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Parent theme="light" />);
await waitForAll(['Parent: 0, 0 (light)', 'Child: 0, 0 (light)']);
expect(root).toMatchRenderedOutput('0, 0 (light)');
@@ -232,7 +232,7 @@ describe('ReactHooks', () => {
return counter;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Counter />);
await waitForAll(['Count: 0']);
expect(root).toMatchRenderedOutput('0');
@@ -266,7 +266,7 @@ describe('ReactHooks', () => {
return counter;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Counter />);
await waitForAll(['Count: 0']);
expect(root).toMatchRenderedOutput('0');
@@ -322,7 +322,7 @@ describe('ReactHooks', () => {
});
return <Child text={text} />;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
await act(() => {
root.update(
<ThemeProvider>
@@ -390,7 +390,7 @@ describe('ReactHooks', () => {
return <Child text={counter} />;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Parent />);
await waitForAll(['Parent: 0', 'Child: 0', 'Effect: 0']);
expect(root).toMatchRenderedOutput('0');
@@ -465,7 +465,7 @@ describe('ReactHooks', () => {
return <Child text={counter} />;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Parent />);
await waitForAll(['Parent: 0', 'Child: 0']);
expect(root).toMatchRenderedOutput('0');
@@ -523,7 +523,7 @@ describe('ReactHooks', () => {
return <Child text={counter} />;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
root.update(<Parent />);
await waitForAll(['Parent: 1', 'Child: 1']);
expect(root).toMatchRenderedOutput('1');

View File

@@ -99,7 +99,7 @@ describe('ReactLazy', () => {
<LazyText text="Hi" />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -185,7 +185,7 @@ describe('ReactLazy', () => {
<LazyBar />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -208,7 +208,7 @@ describe('ReactLazy', () => {
const LazyText = lazy(async () => Text);
const root = ReactTestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
let error;
@@ -242,7 +242,7 @@ describe('ReactLazy', () => {
});
const root = ReactTestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
let error;
@@ -302,7 +302,7 @@ describe('ReactLazy', () => {
}
const root = ReactTestRenderer.create(<Parent swap={false} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [LazyChildA]', 'Loading...']);
@@ -337,7 +337,7 @@ describe('ReactLazy', () => {
<LazyText />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -394,7 +394,7 @@ describe('ReactLazy', () => {
</Lazy>
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Loading...']);
@@ -440,7 +440,7 @@ describe('ReactLazy', () => {
</Suspense>
</>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Not lazy: 0', 'Loading...']);
@@ -485,7 +485,7 @@ describe('ReactLazy', () => {
</Suspense>
</>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Not lazy: 0', 'Loading...']);
@@ -561,7 +561,7 @@ describe('ReactLazy', () => {
<LazyClass num={1} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -691,7 +691,7 @@ describe('ReactLazy', () => {
<LazyText />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -734,7 +734,7 @@ describe('ReactLazy', () => {
<BadLazy />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -761,7 +761,7 @@ describe('ReactLazy', () => {
<Lazy2 text="Hello" />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -815,7 +815,7 @@ describe('ReactLazy', () => {
<LazyAdd inner="2" outer="2" />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -1012,7 +1012,7 @@ describe('ReactLazy', () => {
<LazyText />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -1055,7 +1055,7 @@ describe('ReactLazy', () => {
<LazyFoo />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -1100,7 +1100,7 @@ describe('ReactLazy', () => {
<LazyForwardRef ref={ref} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -1131,7 +1131,7 @@ describe('ReactLazy', () => {
<LazyAdd outer={2} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Loading...']);
@@ -1218,7 +1218,7 @@ describe('ReactLazy', () => {
<LazyAdd outer={2} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Loading...']);
@@ -1264,7 +1264,7 @@ describe('ReactLazy', () => {
<LazyFoo ref={ref} />
</Suspense>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -1304,7 +1304,7 @@ describe('ReactLazy', () => {
<LazyText text="Hi" />
</Suspense>
</ErrorBoundary>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
await waitForAll(['Loading...']);
@@ -1412,7 +1412,7 @@ describe('ReactLazy', () => {
}
const root = ReactTestRenderer.create(<Parent swap={false} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Init A', 'Loading...']);
@@ -1497,7 +1497,7 @@ describe('ReactLazy', () => {
}
const root = ReactTestRenderer.create(<Parent swap={false} />, {
unstable_isConcurrent: false,
isConcurrent: false,
});
assertLog(['Init A', 'Init B', 'Loading...']);
@@ -1559,7 +1559,7 @@ describe('ReactLazy', () => {
}
const root = ReactTestRenderer.create(<Parent swap={false} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Init A', 'Loading...']);
@@ -1628,7 +1628,7 @@ describe('ReactLazy', () => {
}
const root = ReactTestRenderer.create(<Parent swap={false} />, {
unstable_isConcurrent: false,
isConcurrent: false,
});
assertLog(['Init A', 'Loading...']);

View File

@@ -117,7 +117,7 @@ describe('ReactSuspense', () => {
// Render an empty shell
const root = ReactTestRenderer.create(<Foo />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Foo']);
@@ -158,7 +158,7 @@ describe('ReactSuspense', () => {
</Suspense>
</>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
@@ -217,7 +217,7 @@ describe('ReactSuspense', () => {
<Text text="Initial" />
</>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Initial']);
@@ -268,7 +268,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<Foo />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Foo', 'Suspend! [A]', 'Loading...']);
@@ -303,7 +303,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<Foo />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Foo', 'Suspend! [A]', 'Loading...']);
@@ -353,7 +353,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(null, {
unstable_isConcurrent: true,
isConcurrent: true,
});
root.update(<App shouldSuspend={false} step={0} />);
@@ -456,7 +456,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [default]', 'Loading...']);
@@ -502,7 +502,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [default]', 'Loading...']);
@@ -545,7 +545,7 @@ describe('ReactSuspense', () => {
</Suspense>
</App>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Suspend! [default]', 'Loading...']);
@@ -589,7 +589,7 @@ describe('ReactSuspense', () => {
</Suspense>
</App>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
await waitForAll(['Suspend! [default]', 'Loading...']);
@@ -631,7 +631,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Child 1', 'create layout']);
@@ -899,7 +899,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
// Initial render
@@ -990,7 +990,7 @@ describe('ReactSuspense', () => {
}
const root = ReactTestRenderer.create(<App />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['Suspend! [Child 1]', 'Loading...']);

View File

@@ -76,7 +76,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -129,7 +129,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -182,7 +182,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -233,7 +233,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -286,7 +286,7 @@ describe('StrictEffectsMode', () => {
}
await act(() => {
ReactTestRenderer.create(<App />, {unstable_isConcurrent: true});
ReactTestRenderer.create(<App />, {isConcurrent: true});
});
if (supportsDoubleInvokeEffects()) {
@@ -322,7 +322,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -367,7 +367,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -438,7 +438,7 @@ describe('StrictEffectsMode', () => {
await act(() => {
ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -502,7 +502,7 @@ describe('StrictEffectsMode', () => {
}
await act(() => {
ReactTestRenderer.create(<App />, {unstable_isConcurrent: true});
ReactTestRenderer.create(<App />, {isConcurrent: true});
});
if (supportsDoubleInvokeEffects()) {
@@ -586,7 +586,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -667,7 +667,7 @@ describe('StrictEffectsMode', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<App text={'mount'} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});

View File

@@ -60,6 +60,7 @@ const act = React.unstable_act;
type TestRendererOptions = {
createNodeMock: (element: React$Element<any>) => any,
isConcurrent: boolean,
unstable_isConcurrent: boolean,
unstable_strictMode: boolean,
unstable_concurrentUpdatesByDefault: boolean,
@@ -479,7 +480,10 @@ function create(
// $FlowFixMe[incompatible-type] found when upgrading Flow
createNodeMock = options.createNodeMock;
}
if (options.unstable_isConcurrent === true) {
if (
options.unstable_isConcurrent === true ||
options.isConcurrent === true
) {
isConcurrent = true;
}
if (options.unstable_strictMode === true) {

View File

@@ -34,7 +34,7 @@ describe('ReactTestRendererAsync', () => {
return props.children;
}
const renderer = ReactTestRenderer.create(<Foo>Hi</Foo>, {
unstable_isConcurrent: true,
isConcurrent: true,
});
// Before flushing, nothing has mounted.
@@ -68,7 +68,7 @@ describe('ReactTestRendererAsync', () => {
);
}
const renderer = ReactTestRenderer.create(<Parent step={1} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
await waitForAll(['A:1', 'B:1', 'C:1']);
@@ -97,7 +97,7 @@ describe('ReactTestRendererAsync', () => {
let renderer;
React.startTransition(() => {
renderer = ReactTestRenderer.create(<Parent step={1} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
@@ -137,7 +137,7 @@ describe('ReactTestRendererAsync', () => {
let renderer;
React.startTransition(() => {
renderer = ReactTestRenderer.create(<Example step={1} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});

View File

@@ -213,7 +213,7 @@ describe(`onRender`, () => {
<Yield value="last" />
</React.Profiler>,
{
unstable_isConcurrent: true,
isConcurrent: true,
},
);
});
@@ -752,7 +752,7 @@ describe(`onRender`, () => {
<Yield renderTime={2} />
<Yield renderTime={3} />
</React.Profiler>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -793,7 +793,7 @@ describe(`onRender`, () => {
<Yield renderTime={17} />
</React.Profiler>
</React.Profiler>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -844,7 +844,7 @@ describe(`onRender`, () => {
<Yield renderTime={10} />
<Yield renderTime={20} />
</React.Profiler>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -897,7 +897,7 @@ describe(`onRender`, () => {
<Yield renderTime={6} />
<Yield renderTime={15} />
</React.Profiler>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
// Render everything initially.
@@ -1002,7 +1002,7 @@ describe(`onRender`, () => {
<FirstComponent />
<SecondComponent />
</React.Profiler>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
// Render everything initially.

View File

@@ -150,7 +150,7 @@ describe('ReactProfiler DevTools integration', () => {
return text;
}
const root = ReactTestRenderer.create(null, {unstable_isConcurrent: true});
const root = ReactTestRenderer.create(null, {isConcurrent: true});
// Commit something
root.update(<Text text="A" />);

View File

@@ -49,7 +49,7 @@ describe('ReactStartTransition', () => {
await act(() => {
ReactTestRenderer.create(<Component level={0} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});

View File

@@ -84,7 +84,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription source={observable} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
assertLog(['default']);
@@ -136,7 +136,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription source={observable} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
assertLog(['initial']);
@@ -185,7 +185,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription source={observableA} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -244,7 +244,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription source={observableA} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
@@ -331,7 +331,7 @@ describe('useSubscription', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<Parent observed={observableA} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
assertLog(['Child: a-0', 'Grandchild: a-0']);
@@ -434,7 +434,7 @@ describe('useSubscription', () => {
let renderer;
await act(() => {
renderer = ReactTestRenderer.create(<Parent observed={observableA} />, {
unstable_isConcurrent: true,
isConcurrent: true,
});
});
assertLog(['Child: a-0', 'Grandchild: a-0']);
@@ -532,7 +532,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription source={eventHandler} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
assertLog([true]);
@@ -566,7 +566,7 @@ describe('useSubscription', () => {
await act(() => {
renderer = ReactTestRenderer.create(
<Subscription subscription={subscription1} />,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
});
await waitForAll([]);
@@ -607,7 +607,7 @@ describe('useSubscription', () => {
<Subscriber id="first" />
<Subscriber id="second" />
</React.Fragment>,
{unstable_isConcurrent: true},
{isConcurrent: true},
);
await waitForAll(['render:first:A', 'render:second:A']);