Move internalAct to internal-test-utils package (#26344)

This is not a public API. We only use it for our internal tests, the
ones in this repo. Let's move it to this private package. Practically
speaking this will also let us use async/await in the implementation.
This commit is contained in:
Andrew Clark
2023-03-08 12:58:31 -05:00
committed by GitHub
parent b27b68c3a1
commit 6f6a41da6d
83 changed files with 97 additions and 102 deletions
@@ -5,13 +5,13 @@
* LICENSE file in the root directory of this source tree.
*/
// TODO: Move `internalAct` and other test helpers to this package, too
import * as SchedulerMock from 'scheduler/unstable_mock';
import {diff} from 'jest-diff';
import {equals} from '@jest/expect-utils';
import enqueueTask from './enqueueTask';
export {act} from './internalAct';
function assertYieldsWereCleared(Scheduler) {
const actualYields = Scheduler.unstable_clearLog();
if (actualYields.length !== 0) {
@@ -20,7 +20,7 @@ const {
waitForThrow,
assertLog,
} = require('internal-test-utils');
const act = require('jest-react').act;
const act = require('internal-test-utils').act;
const Scheduler = require('scheduler/unstable_mock');
describe('ReactInternalTestUtils', () => {
@@ -18,7 +18,7 @@ import type {Thenable} from 'shared/ReactTypes';
import * as Scheduler from 'scheduler/unstable_mock';
import enqueueTask from 'shared/enqueueTask';
import enqueueTask from './enqueueTask';
let actingUpdatesScopeDepth = 0;
@@ -40,32 +40,29 @@ export function act<T>(scope: () => Thenable<T>): Thenable<T> {
const previousIsActEnvironment = global.IS_REACT_ACT_ENVIRONMENT;
const previousActingUpdatesScopeDepth = actingUpdatesScopeDepth;
actingUpdatesScopeDepth++;
if (__DEV__ && actingUpdatesScopeDepth === 1) {
if (actingUpdatesScopeDepth === 1) {
// Because this is not the "real" `act`, we set this to `false` so React
// knows not to fire `act` warnings.
global.IS_REACT_ACT_ENVIRONMENT = false;
}
const unwind = () => {
if (__DEV__ && actingUpdatesScopeDepth === 1) {
if (actingUpdatesScopeDepth === 1) {
global.IS_REACT_ACT_ENVIRONMENT = previousIsActEnvironment;
}
actingUpdatesScopeDepth--;
if (__DEV__) {
if (actingUpdatesScopeDepth > previousActingUpdatesScopeDepth) {
// if it's _less than_ previousActingUpdatesScopeDepth, then we can
// assume the 'other' one has warned
console.error(
'You seem to have overlapping act() calls, this is not supported. ' +
'Be sure to await previous act() calls before making a new one. ',
);
}
if (actingUpdatesScopeDepth > previousActingUpdatesScopeDepth) {
// if it's _less than_ previousActingUpdatesScopeDepth, then we can
// assume the 'other' one has warned
throw new Error(
'You seem to have overlapping act() calls, this is not supported. ' +
'Be sure to await previous act() calls before making a new one. ',
);
}
};
// TODO: This would be way simpler if we could use async/await. Move this
// function to the internal-test-utils package.
// TODO: This would be way simpler if we used async/await.
try {
const result = scope();
if (
-2
View File
@@ -9,8 +9,6 @@ import {REACT_ELEMENT_TYPE, REACT_FRAGMENT_TYPE} from 'shared/ReactSymbols';
import isArray from 'shared/isArray';
export {act} from './internalAct';
function captureAssertion(fn) {
// Trick to use a Jest matcher inside another Jest matcher. `fn` contains an
// assertion; if it throws, we capture the error and return it, so the stack
+2 -2
View File
@@ -32,7 +32,7 @@ describe('ReactFlight', () => {
ReactNoop = require('react-noop-renderer');
ReactNoopFlightServer = require('react-noop-renderer/flight-server');
ReactNoopFlightClient = require('react-noop-renderer/flight-client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -1184,7 +1184,7 @@ describe('ReactFlight', () => {
ReactNoop = require('react-noop-renderer');
ReactNoopFlightServer = require('react-noop-renderer/flight-server');
ReactNoopFlightClient = require('react-noop-renderer/flight-client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
await act(async () => {
@@ -22,7 +22,7 @@ describe('ReactHooksInspectionIntegration', () => {
React = require('react');
ReactTestRenderer = require('react-test-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
ReactDebugTools = require('react-debug-tools');
});
@@ -55,9 +55,9 @@ describe('InspectedElement', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
PropTypes = require('prop-types');
TestUtilsAct = require('jest-react').act;
TestUtilsAct = require('internal-test-utils').act;
TestRenderer = utils.requireTestRenderer();
TestRendererAct = require('jest-react').act;
TestRendererAct = require('internal-test-utils').act;
BridgeContext =
require('react-devtools-shared/src/devtools/views/context').BridgeContext;
@@ -34,7 +34,7 @@ describe('Store component filters', () => {
React = require('react');
Types = require('react-devtools-shared/src/types');
utils = require('./utils');
internalAct = require('jest-react').act;
internalAct = require('internal-test-utils').act;
legacyRender = utils.legacyRender;
});
@@ -21,7 +21,7 @@ describe('ReactDOMConsoleErrorReporting', () => {
beforeEach(() => {
jest.resetModules();
act = require('jest-react').act;
act = require('internal-test-utils').act;
React = require('react');
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
@@ -31,7 +31,7 @@ describe('ReactDOMFiberAsync', () => {
React = require('react');
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
const InternalTestUtils = require('internal-test-utils');
@@ -32,7 +32,7 @@ describe('ReactDOMFizzShellHydration', () => {
React = require('react');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
clientAct = require('jest-react').act;
clientAct = require('internal-test-utils').act;
ReactDOMFizzServer = require('react-dom/server');
Stream = require('stream');
+1 -1
View File
@@ -25,7 +25,7 @@ describe('ReactDOMHooks', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
container = document.createElement('div');
document.body.appendChild(container);
@@ -28,7 +28,7 @@ describe('ReactDOMNativeEventHeuristic-test', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -22,7 +22,7 @@ describe('ReactDOMNestedEvents', () => {
React = require('react');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
const InternalTestUtils = require('internal-test-utils');
+1 -1
View File
@@ -30,7 +30,7 @@ describe('ReactDOMRoot', () => {
ReactDOMClient = require('react-dom/client');
ReactDOMServer = require('react-dom/server');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useEffect = React.useEffect;
const InternalTestUtils = require('internal-test-utils');
@@ -39,7 +39,7 @@ describe('ReactDOMSafariMicrotaskBug-test', () => {
container = document.createElement('div');
React = require('react');
ReactDOMClient = require('react-dom/client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
document.body.appendChild(container);
});
@@ -108,7 +108,7 @@ describe('ReactDOMServerPartialHydration', () => {
React = require('react');
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
ReactDOMServer = require('react-dom/server');
Scheduler = require('scheduler');
Suspense = React.Suspense;
@@ -137,7 +137,7 @@ describe('ReactDOMServerSelectiveHydration', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
ReactDOMServer = require('react-dom/server');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
Suspense = React.Suspense;
@@ -28,7 +28,7 @@ function initModules() {
ReactDOMClient = require('react-dom/client');
ReactDOMServer = require('react-dom/server');
ReactTestUtils = require('react-dom/test-utils');
act = require('jest-react').act;
act = require('internal-test-utils').act;
if (gate(flags => flags.enableSuspenseList)) {
SuspenseList = React.SuspenseList;
}
@@ -26,7 +26,7 @@ describe('ReactDOMSuspensePlaceholder', () => {
ReactDOM = require('react-dom');
ReactCache = require('react-cache');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
container = document.createElement('div');
document.body.appendChild(container);
+1 -1
View File
@@ -31,7 +31,7 @@ describe('useId', () => {
JSDOM = require('jsdom').JSDOM;
React = require('react');
ReactDOMClient = require('react-dom/client');
clientAct = require('jest-react').act;
clientAct = require('internal-test-utils').act;
ReactDOMFizzServer = require('react-dom/server');
Stream = require('stream');
Suspense = React.Suspense;
@@ -46,7 +46,7 @@ describe('ReactErrorBoundaries', () => {
ReactFeatureFlags.skipUnmountedBoundaries = true;
ReactDOM = require('react-dom');
React = require('react');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
const InternalTestUtils = require('internal-test-utils');
+1 -1
View File
@@ -26,7 +26,7 @@ describe('ReactUpdates', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
ReactTestUtils = require('react-dom/test-utils');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
const InternalTestUtils = require('internal-test-utils');
@@ -22,7 +22,7 @@ beforeEach(() => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -19,7 +19,7 @@ module.exports = function (initModules) {
function resetModules() {
({ReactDOM, ReactDOMServer} = initModules());
act = require('jest-react').act;
act = require('internal-test-utils').act;
}
function shouldUseDocument(reactElement) {
@@ -80,7 +80,7 @@ describe('DOMPluginEventSystem', () => {
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
ReactDOMServer = require('react-dom/server');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -1279,7 +1279,7 @@ describe('DOMPluginEventSystem', () => {
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
ReactDOMServer = require('react-dom/server');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -60,7 +60,7 @@ describe('ChangeEventPlugin', () => {
React = require('react');
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
const InternalTestUtils = require('internal-test-utils');
@@ -250,7 +250,7 @@ describe('SimpleEventPlugin', function () {
assertLog = InternalTestUtils.assertLog;
waitForAll = InternalTestUtils.waitForAll;
act = require('jest-react').act;
act = require('internal-test-utils').act;
});
it('flushes pending interactive work before exiting event handler', async () => {
@@ -29,7 +29,7 @@ function initializeModules(hasPointerEvents) {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
// TODO: This import throws outside of experimental mode. Figure out better
// strategy for gated imports.
@@ -41,7 +41,7 @@ describe('ReactFabric', () => {
require('react-native/Libraries/ReactPrivate/ReactNativePrivateInterface')
.ReactNativeViewConfigRegistry.register;
act = require('jest-react').act;
act = require('internal-test-utils').act;
});
it('should be able to create and render a native component', async () => {
@@ -35,7 +35,7 @@ async function mockRenderKeys(keyLists) {
const createReactNativeComponentClass =
require('react-native/Libraries/ReactPrivate/ReactNativePrivateInterface')
.ReactNativeViewConfigRegistry.register;
const {act} = require('jest-react');
const act = require('internal-test-utils').act;
const mockContainerTag = 11;
const MockView = createReactNativeComponentClass('RCTMockView', () => ({
@@ -20,7 +20,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
useState = React.useState;
+1 -1
View File
@@ -24,7 +24,7 @@ describe('ReactCache', () => {
ReactNoop = require('react-noop-renderer');
Cache = React.unstable_Cache;
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
cache = React.cache;
Offscreen = React.unstable_Offscreen;
@@ -11,7 +11,7 @@ describe('ReactClassSetStateCallback', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -17,7 +17,7 @@ describe('ReactConcurrentErrorRecovery', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
startTransition = React.startTransition;
@@ -18,7 +18,7 @@ describe('ReactLazyContextPropagation', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
useContext = React.useContext;
Suspense = React.Suspense;
@@ -25,7 +25,7 @@ describe('ReactDeferredValue', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
startTransition = React.startTransition;
useDeferredValue = React.useDeferredValue;
useMemo = React.useMemo;
@@ -28,7 +28,7 @@ describe('ReactEffectOrdering', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useEffect = React.useEffect;
useLayoutEffect = React.useLayoutEffect;
@@ -29,7 +29,7 @@ describe('ReactExpiration', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
startTransition = React.startTransition;
useState = React.useState;
useEffect = React.useEffect;
@@ -17,7 +17,7 @@ describe('ReactFlushSync', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
useEffect = React.useEffect;
startTransition = React.startTransition;
@@ -32,7 +32,7 @@ describe('ReactHooks', () => {
ReactTestRenderer = require('react-test-renderer');
Scheduler = require('scheduler');
ReactDOMServer = require('react-dom/server');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -49,7 +49,7 @@ describe('ReactHooksWithNoopRenderer', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
useReducer = React.useReducer;
useEffect = React.useEffect;
@@ -30,7 +30,7 @@ describe('ReactIncrementalErrorHandling', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -26,7 +26,7 @@ describe('ReactIncrementalScheduling', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -26,7 +26,7 @@ describe('ReactIncrementalUpdates', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
ContinuousEventPriority =
require('react-reconciler/constants').ContinuousEventPriority;
@@ -16,7 +16,7 @@ describe('ReactInterleavedUpdates', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
startTransition = React.startTransition;
useState = React.useState;
useEffect = React.useEffect;
+1 -1
View File
@@ -29,7 +29,7 @@ describe('memo', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
({Suspense} = React);
const InternalTestUtils = require('internal-test-utils');
@@ -12,7 +12,7 @@
const React = require('react');
const ReactNoop = require('react-noop-renderer');
const Scheduler = require('scheduler');
const act = require('jest-react').act;
const act = require('internal-test-utils').act;
const {assertLog, waitForAll} = require('internal-test-utils');
// TODO: These tests are no longer specific to the noop renderer
@@ -21,7 +21,7 @@ describe('ReactOffscreen', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
LegacyHidden = React.unstable_LegacyHidden;
Offscreen = React.unstable_Offscreen;
useState = React.useState;
@@ -12,7 +12,7 @@ describe('ReactOffscreenStrictMode', () => {
React = require('react');
Offscreen = React.unstable_Offscreen;
ReactNoop = require('react-noop-renderer');
act = require('jest-react').act;
act = require('internal-test-utils').act;
});
function Component({label}) {
@@ -19,7 +19,7 @@ describe('ReactOffscreen', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
LegacyHidden = React.unstable_LegacyHidden;
Offscreen = React.unstable_Offscreen;
Suspense = React.Suspense;
@@ -30,7 +30,7 @@ describe('ReactSchedulerIntegration', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
NormalPriority = Scheduler.unstable_NormalPriority;
IdlePriority = Scheduler.unstable_IdlePriority;
runWithPriority = Scheduler.unstable_runWithPriority;
@@ -17,7 +17,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
useEffect = React.useEffect;
@@ -19,7 +19,7 @@ describe('ReactSuspense', () => {
ReactFeatureFlags.replayFailedUnitOfWorkWithInvokeGuardedCallback = false;
React = require('react');
ReactTestRenderer = require('react-test-renderer');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Scheduler = require('scheduler');
Suspense = React.Suspense;
@@ -29,7 +29,7 @@ describe('ReactSuspenseEffectsSemantics', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
getCacheForType = React.unstable_getCacheForType;
@@ -27,7 +27,7 @@ describe('ReactSuspenseEffectsSemanticsDOM', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -28,7 +28,7 @@ describe('ReactSuspenseFuzz', () => {
Suspense = React.Suspense;
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Random = require('random-seed');
});
@@ -16,7 +16,7 @@ describe('ReactSuspenseList', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Profiler = React.Profiler;
Suspense = React.Suspense;
if (gate(flags => flags.enableSuspenseList)) {
@@ -21,7 +21,7 @@ describe('ReactSuspenseWithNoopRenderer', () => {
Fragment = React.Fragment;
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
Suspense = React.Suspense;
const InternalTestUtils = require('internal-test-utils');
waitFor = InternalTestUtils.waitFor;
@@ -24,7 +24,7 @@ describe('ReactThenable', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
use = React.use;
useDebugValue = React.useDebugValue;
useState = React.useState;
@@ -40,7 +40,7 @@ describe('ReactTransition', () => {
Suspense = React.Suspense;
startTransition = React.startTransition;
getCacheForType = React.unstable_getCacheForType;
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -43,7 +43,7 @@ describe('ReactInteractionTracing', () => {
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitForAll = InternalTestUtils.waitForAll;
@@ -17,7 +17,7 @@ describe('ReactUpdatePriority', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
ContinuousEventPriority =
require('react-reconciler/constants').ContinuousEventPriority;
startTransition = React.startTransition;
@@ -93,7 +93,7 @@ describe('updaters', () => {
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitFor = InternalTestUtils.waitFor;
@@ -21,7 +21,7 @@ describe('StrictEffectsMode', () => {
React = require('react');
ReactTestRenderer = require('react-test-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -25,7 +25,7 @@ describe('StrictEffectsMode defaults', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitFor = InternalTestUtils.waitFor;
@@ -35,7 +35,7 @@ describe('useEffectEvent', () => {
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
createContext = React.createContext;
useContext = React.useContext;
useState = React.useState;
@@ -22,7 +22,7 @@ describe('useMemoCache()', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
useMemoCache = React.unstable_useMemoCache;
MemoCacheSentinel = Symbol.for('react.memo_cache_sentinel');
@@ -34,7 +34,7 @@ function loadModules() {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitFor = InternalTestUtils.waitFor;
@@ -28,7 +28,7 @@ describe('useMutableSourceHydration', () => {
ReactDOMServer = require('react-dom/server');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
// Stable entrypoints export with "unstable_" prefix.
createMutableSource =
@@ -33,7 +33,7 @@ describe('useRef', () => {
const ReactFeatureFlags = require('shared/ReactFeatureFlags');
ReactFeatureFlags.debugRenderPhaseSideEffectsForStrictMode = false;
act = require('jest-react').act;
act = require('internal-test-utils').act;
useCallback = React.useCallback;
useEffect = React.useEffect;
useLayoutEffect = React.useLayoutEffect;
@@ -49,7 +49,7 @@ describe('useSyncExternalStore', () => {
waitForAll = InternalTestUtils.waitForAll;
assertLog = InternalTestUtils.assertLog;
act = require('jest-react').act;
act = require('internal-test-utils').act;
});
function Text({text}) {
+2 -2
View File
@@ -35,7 +35,7 @@ describe('ReactFresh', () => {
ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
act = require('react-dom/test-utils').act;
internalAct = require('jest-react').act;
internalAct = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
waitFor = InternalTestUtils.waitFor;
@@ -3793,7 +3793,7 @@ describe('ReactFresh', () => {
ReactDOM = require('react-dom');
Scheduler = require('scheduler');
act = require('react-dom/test-utils').act;
internalAct = require('jest-react').act;
internalAct = require('internal-test-utils').act;
// Important! Inject into the global hook *after* ReactDOM runs:
ReactFreshRuntime = require('react-refresh/runtime');
@@ -19,7 +19,7 @@ describe('ReactFlightDOMRelay', () => {
beforeEach(() => {
jest.resetModules();
act = require('jest-react').act;
act = require('internal-test-utils').act;
React = require('react');
ReactDOMClient = require('react-dom/client');
ReactDOMFlightRelayServer = require('react-server-dom-relay/server');
@@ -34,7 +34,7 @@ let ErrorBoundary;
describe('ReactFlightDOM', () => {
beforeEach(() => {
jest.resetModules();
act = require('jest-react').act;
act = require('internal-test-utils').act;
const WebpackMock = require('./utils/WebpackMock');
clientExports = WebpackMock.clientExports;
clientModuleError = WebpackMock.clientModuleError;
@@ -30,7 +30,7 @@ let use;
describe('ReactFlightDOMBrowser', () => {
beforeEach(() => {
jest.resetModules();
act = require('jest-react').act;
act = require('internal-test-utils').act;
const WebpackMock = require('./utils/WebpackMock');
clientExports = WebpackMock.clientExports;
serverExports = WebpackMock.serverExports;
@@ -43,7 +43,7 @@ function loadModules({
React = require('react');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
if (useNoopRenderer) {
ReactNoop = require('react-noop-renderer');
@@ -22,7 +22,7 @@ describe('ReactStartTransition', () => {
jest.resetModules();
React = require('react');
ReactTestRenderer = require('react-test-renderer');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useState = React.useState;
useTransition = React.useTransition;
});
@@ -19,7 +19,7 @@ describe('ReactStrictMode', () => {
React = require('react');
ReactDOMClient = require('react-dom/client');
act = require('jest-react').act;
act = require('internal-test-utils').act;
});
describe('levels', () => {
@@ -29,7 +29,7 @@ describe('ReactStrictMode', () => {
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
ReactDOMServer = require('react-dom/server');
act = require('jest-react').act;
act = require('internal-test-utils').act;
useMemo = React.useMemo;
useState = React.useState;
useReducer = React.useReducer;
@@ -30,7 +30,7 @@ describe('useSubscription', () => {
ReactTestRenderer = require('react-test-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
BehaviorSubject = require('rxjs').BehaviorSubject;
ReplaySubject = require('rxjs').ReplaySubject;
@@ -49,7 +49,7 @@ describe('useSyncExternalStore (userspace shim, server rendering)', () => {
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('jest-react').act;
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
@@ -59,7 +59,7 @@ describe('Shared useSyncExternalStore behavior (shim and built-in)', () => {
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
const internalAct = require('jest-react').act;
const internalAct = require('internal-test-utils').act;
// The internal act implementation doesn't batch updates by default, since
// it's mostly used to test concurrent mode. But since these tests run