Skip to content

Commit bc92411

Browse files
committed
Use testing builds for our own tests
Following up from facebook#17915 where we generated testing builds for `react-dom`, this PR uses those builds for our own tests. - fixes `ReactFeatureFlags.testing` to use all the default flags - changes `ReactFeatureFlags.readonly` to return `isTestEnvironment: true` (this might not strictly be needed) - with jest, mocks `react-dom` with the testing version, both for source and builds - uses `ReactDOM.act` in one of these tests to verify it actually works
1 parent 256d78d commit bc92411

20 files changed

+17
-88
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ module.exports = {
168168
__PROFILE__: true,
169169
__UMD__: true,
170170
__EXPERIMENTAL__: true,
171+
__TEST__: true,
171172
trustedTypes: true,
172173
},
173174
};

fixtures/dom/src/__tests__/nested-act-test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ let TestRenderer;
1313

1414
global.__DEV__ = process.env.NODE_ENV !== 'production';
1515

16-
jest.mock('react-dom', () =>
17-
require.requireActual('react-dom/cjs/react-dom-testing.development.js')
18-
);
19-
// we'll replace the above with react/testing and react-dom/testing right before the next minor
16+
jest.mock('react-dom', () => require.requireActual('react-dom/testing.js'));
2017

2118
expect.extend(require('../toWarnDev'));
2219

fixtures/dom/src/__tests__/wrong-act-test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ let ARTTest;
1818
global.__DEV__ = process.env.NODE_ENV !== 'production';
1919
global.__EXPERIMENTAL__ = process.env.RELEASE_CHANNEL === 'experimental';
2020

21-
jest.mock('react-dom', () =>
22-
require.requireActual('react-dom/cjs/react-dom-testing.development.js')
23-
);
24-
// we'll replace the above with react/testing and react-dom/testing right before the next minor
21+
jest.mock('react-dom', () => require.requireActual('react-dom/testing.js'));
2522

2623
expect.extend(require('../toWarnDev'));
2724

packages/react-dom/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"README.md",
3131
"build-info.json",
3232
"index.js",
33+
"testing.js",
3334
"profiling.js",
3435
"server.js",
3536
"server.browser.js",

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ let React;
1313
let ReactDOM;
1414
let Suspense;
1515
let ReactCache;
16-
let ReactTestUtils;
1716
let Scheduler;
1817
let TextResource;
1918
let act;
@@ -26,9 +25,8 @@ describe('ReactDOMSuspensePlaceholder', () => {
2625
React = require('react');
2726
ReactDOM = require('react-dom');
2827
ReactCache = require('react-cache');
29-
ReactTestUtils = require('react-dom/test-utils');
3028
Scheduler = require('scheduler');
31-
act = ReactTestUtils.act;
29+
act = ReactDOM.act;
3230
Suspense = React.Suspense;
3331
container = document.createElement('div');
3432
document.body.appendChild(container);

packages/react-dom/src/client/ReactDOM.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ import {
5959
disableUnstableCreatePortal,
6060
disableUnstableRenderSubtreeIntoContainer,
6161
warnUnstableRenderSubtreeIntoContainer,
62-
isTestEnvironment,
6362
} from 'shared/ReactFeatureFlags';
6463

6564
import {
@@ -253,7 +252,7 @@ if (__DEV__) {
253252
}
254253
}
255254

256-
if (isTestEnvironment) {
255+
if (__TEST__) {
257256
ReactDOM.act = act;
258257
}
259258

packages/react-reconciler/src/ReactFiberReconciler.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ import {
8787
findHostInstancesForRefresh,
8888
} from './ReactFiberHotReloading';
8989

90-
// used by isTestEnvironment builds
90+
// used by __TEST__ builds
9191
import enqueueTask from 'shared/enqueueTask';
9292
import * as Scheduler from 'scheduler';
93-
// end isTestEnvironment imports
93+
// end __TEST__ imports
9494

9595
type OpaqueRoot = FiberRoot;
9696

packages/shared/forks/ReactFeatureFlags.native-fb.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ export const disableUnstableRenderSubtreeIntoContainer = false;
5252
export const warnUnstableRenderSubtreeIntoContainer = false;
5353
export const disableUnstableCreatePortal = false;
5454
export const deferPassiveEffectCleanupDuringUnmount = false;
55-
export const isTestEnvironment = false;
5655

5756
// Only used in www builds.
5857
export function addUserTimingListener() {

packages/shared/forks/ReactFeatureFlags.native-oss.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ export const disableUnstableRenderSubtreeIntoContainer = false;
4747
export const warnUnstableRenderSubtreeIntoContainer = false;
4848
export const disableUnstableCreatePortal = false;
4949
export const deferPassiveEffectCleanupDuringUnmount = false;
50-
export const isTestEnvironment = false;
5150

5251
// Only used in www builds.
5352
export function addUserTimingListener() {

packages/shared/forks/ReactFeatureFlags.persistent.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ export const disableUnstableRenderSubtreeIntoContainer = false;
4747
export const warnUnstableRenderSubtreeIntoContainer = false;
4848
export const disableUnstableCreatePortal = false;
4949
export const deferPassiveEffectCleanupDuringUnmount = false;
50-
export const isTestEnvironment = false;
5150

5251
// Only used in www builds.
5352
export function addUserTimingListener() {

0 commit comments

Comments
 (0)