Skip to content

Commit 0166dd3

Browse files
committed
Fix tests mixing environments
1 parent 5782002 commit 0166dd3

22 files changed

+309
-45
lines changed

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

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
@@ -21,8 +22,6 @@ let useSyncExternalStore;
2122
let useSyncExternalStoreWithSelector;
2223
let PropTypes;
2324
let textCache;
24-
let window;
25-
let document;
2625
let writable;
2726
let CSPnonce = null;
2827
let container;
@@ -33,7 +32,19 @@ let fatalError = undefined;
3332
describe('ReactDOMFizzServer', () => {
3433
beforeEach(() => {
3534
jest.resetModules();
35+
// Creating mixed environment for `react-dom` + `react-dom/server`
3636
JSDOM = require('jsdom').JSDOM;
37+
const jsdom = new JSDOM(
38+
'<!DOCTYPE html><html><head></head><body><div id="container">',
39+
{
40+
runScripts: 'dangerously',
41+
},
42+
);
43+
global.window = jsdom.window;
44+
global.document = jsdom.window.document;
45+
global.navigator = jsdom.window.navigator;
46+
global.Node = jsdom.window.Node;
47+
3748
Scheduler = require('scheduler');
3849
React = require('react');
3950
ReactDOMClient = require('react-dom/client');
@@ -64,15 +75,6 @@ describe('ReactDOMFizzServer', () => {
6475

6576
textCache = new Map();
6677

67-
// Test Environment
68-
const jsdom = new JSDOM(
69-
'<!DOCTYPE html><html><head></head><body><div id="container">',
70-
{
71-
runScripts: 'dangerously',
72-
},
73-
);
74-
window = jsdom.window;
75-
document = jsdom.window.document;
7678
container = document.getElementById('container');
7779

7880
buffer = '';

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

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
let JSDOM;
@@ -14,7 +15,6 @@ let Scheduler;
1415
let clientAct;
1516
let ReactDOMFizzServer;
1617
let Stream;
17-
let document;
1818
let writable;
1919
let container;
2020
let buffer = '';
@@ -25,7 +25,19 @@ let textCache;
2525
describe('ReactDOMFizzShellHydration', () => {
2626
beforeEach(() => {
2727
jest.resetModules();
28+
// Creating mixed environment for `react-dom` + `react-dom/server`
2829
JSDOM = require('jsdom').JSDOM;
30+
const jsdom = new JSDOM(
31+
'<!DOCTYPE html><html><head></head><body><div id="container">',
32+
{
33+
runScripts: 'dangerously',
34+
},
35+
);
36+
global.window = jsdom.window;
37+
global.document = jsdom.window.document;
38+
global.navigator = jsdom.window.navigator;
39+
global.Node = jsdom.window.Node;
40+
2941
React = require('react');
3042
ReactDOMClient = require('react-dom/client');
3143
Scheduler = require('scheduler');
@@ -35,14 +47,6 @@ describe('ReactDOMFizzShellHydration', () => {
3547

3648
textCache = new Map();
3749

38-
// Test Environment
39-
const jsdom = new JSDOM(
40-
'<!DOCTYPE html><html><head></head><body><div id="container">',
41-
{
42-
runScripts: 'dangerously',
43-
},
44-
);
45-
document = jsdom.window.document;
4650
container = document.getElementById('container');
4751

4852
buffer = '';

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
1112

1213
const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
1314
const ReactFeatureFlags = require('shared/ReactFeatureFlags');
1415

16+
let JSDOM;
1517
let React;
1618
let ReactDOM;
1719
let ReactTestUtils;
@@ -20,6 +22,19 @@ let ReactDOMServer;
2022
function initModules() {
2123
// Reset warning cache.
2224
jest.resetModules();
25+
// Creating mixed environment for `react-dom` + `react-dom/server`
26+
JSDOM = require('jsdom').JSDOM;
27+
const jsdom = new JSDOM(
28+
'<!DOCTYPE html><html><head></head><body><div id="container">',
29+
{
30+
runScripts: 'dangerously',
31+
},
32+
);
33+
global.window = jsdom.window;
34+
global.document = jsdom.window.document;
35+
global.navigator = jsdom.window.navigator;
36+
global.Node = jsdom.window.Node;
37+
2338
React = require('react');
2439
ReactDOM = require('react-dom');
2540
ReactDOMServer = require('react-dom/server');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
@@ -13,6 +14,7 @@ const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegratio
1314

1415
const TEXT_NODE_TYPE = 3;
1516

17+
let JSDOM;
1618
let React;
1719
let ReactDOM;
1820
let ReactDOMServer;
@@ -21,6 +23,19 @@ let ReactTestUtils;
2123
function initModules() {
2224
// Reset warning cache.
2325
jest.resetModules();
26+
// Creating mixed environment for `react-dom` + `react-dom/server`
27+
JSDOM = require('jsdom').JSDOM;
28+
const jsdom = new JSDOM(
29+
'<!DOCTYPE html><html><head></head><body><div id="container">',
30+
{
31+
runScripts: 'dangerously',
32+
},
33+
);
34+
global.window = jsdom.window;
35+
global.document = jsdom.window.document;
36+
global.navigator = jsdom.window.navigator;
37+
global.Node = jsdom.window.Node;
38+
2439
React = require('react');
2540
ReactDOM = require('react-dom');
2641
ReactDOMServer = require('react-dom/server');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
@@ -13,6 +14,7 @@ const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegratio
1314
// Set by `yarn test-fire`.
1415
const {disableInputAttributeSyncing} = require('shared/ReactFeatureFlags');
1516

17+
let JSDOM;
1618
let React;
1719
let ReactDOM;
1820
let ReactDOMServer;
@@ -21,6 +23,19 @@ let ReactTestUtils;
2123
function initModules() {
2224
// Reset warning cache.
2325
jest.resetModules();
26+
// Creating mixed environment for `react-dom` + `react-dom/server`
27+
JSDOM = require('jsdom').JSDOM;
28+
const jsdom = new JSDOM(
29+
'<!DOCTYPE html><html><head></head><body><div id="container">',
30+
{
31+
runScripts: 'dangerously',
32+
},
33+
);
34+
global.window = jsdom.window;
35+
global.document = jsdom.window.document;
36+
global.navigator = jsdom.window.navigator;
37+
global.Node = jsdom.window.Node;
38+
2439
React = require('react');
2540
ReactDOM = require('react-dom');
2641
ReactDOMServer = require('react-dom/server');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
1112

1213
const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
1314

15+
let JSDOM;
1416
let React;
1517
let ReactDOM;
1618
let ReactDOMServer;
@@ -19,6 +21,19 @@ let ReactTestUtils;
1921
function initModules() {
2022
// Reset warning cache.
2123
jest.resetModules();
24+
// Creating mixed environment for `react-dom` + `react-dom/server`
25+
JSDOM = require('jsdom').JSDOM;
26+
const jsdom = new JSDOM(
27+
'<!DOCTYPE html><html><head></head><body><div id="container">',
28+
{
29+
runScripts: 'dangerously',
30+
},
31+
);
32+
global.window = jsdom.window;
33+
global.document = jsdom.window.document;
34+
global.navigator = jsdom.window.navigator;
35+
global.Node = jsdom.window.Node;
36+
2237
React = require('react');
2338
ReactDOM = require('react-dom');
2439
ReactDOMServer = require('react-dom/server');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
@@ -13,13 +14,27 @@ const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegratio
1314

1415
const TEXT_NODE_TYPE = 3;
1516

17+
let JSDOM;
1618
let React;
1719
let ReactDOM;
1820
let ReactDOMServer;
1921
let ReactTestUtils;
2022

2123
function initModules() {
2224
jest.resetModules();
25+
// Creating mixed environment for `react-dom` + `react-dom/server`
26+
JSDOM = require('jsdom').JSDOM;
27+
const jsdom = new JSDOM(
28+
'<!DOCTYPE html><html><head></head><body><div id="container">',
29+
{
30+
runScripts: 'dangerously',
31+
},
32+
);
33+
global.window = jsdom.window;
34+
global.document = jsdom.window.document;
35+
global.navigator = jsdom.window.navigator;
36+
global.Node = jsdom.window.Node;
37+
2338
React = require('react');
2439
ReactDOM = require('react-dom');
2540
ReactDOMServer = require('react-dom/server');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
1112

1213
const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
1314

15+
let JSDOM;
1416
let React;
1517
let ReactDOM;
1618
let ReactDOMServer;
@@ -19,6 +21,19 @@ let ReactTestUtils;
1921
function initModules() {
2022
// Reset warning cache.
2123
jest.resetModules();
24+
// Creating mixed environment for `react-dom` + `react-dom/server`
25+
JSDOM = require('jsdom').JSDOM;
26+
const jsdom = new JSDOM(
27+
'<!DOCTYPE html><html><head></head><body><div id="container">',
28+
{
29+
runScripts: 'dangerously',
30+
},
31+
);
32+
global.window = jsdom.window;
33+
global.document = jsdom.window.document;
34+
global.navigator = jsdom.window.navigator;
35+
global.Node = jsdom.window.Node;
36+
2237
React = require('react');
2338
ReactDOM = require('react-dom');
2439
ReactDOMServer = require('react-dom/server');

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
/* eslint-disable no-func-assign */
@@ -13,6 +14,7 @@
1314

1415
const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
1516

17+
let JSDOM;
1618
let React;
1719
let ReactDOM;
1820
let ReactDOMServer;
@@ -36,6 +38,18 @@ let clearYields;
3638
function initModules() {
3739
// Reset warning cache.
3840
jest.resetModules();
41+
// Creating mixed environment for `react-dom` + `react-dom/server`
42+
JSDOM = require('jsdom').JSDOM;
43+
const jsdom = new JSDOM(
44+
'<!DOCTYPE html><html><head></head><body><div id="container">',
45+
{
46+
runScripts: 'dangerously',
47+
},
48+
);
49+
global.window = jsdom.window;
50+
global.document = jsdom.window.document;
51+
global.navigator = jsdom.window.navigator;
52+
global.Node = jsdom.window.Node;
3953

4054
React = require('react');
4155
ReactDOM = require('react-dom');

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*
77
* @emails react-core
8+
* @jest-environment node
89
*/
910

1011
'use strict';
@@ -13,6 +14,7 @@ const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegratio
1314
// Set by `yarn test-fire`.
1415
const {disableInputAttributeSyncing} = require('shared/ReactFeatureFlags');
1516

17+
let JSDOM;
1618
let React;
1719
let ReactDOM;
1820
let ReactDOMServer;
@@ -21,6 +23,19 @@ let ReactTestUtils;
2123
function initModules() {
2224
// Reset warning cache.
2325
jest.resetModules();
26+
// Creating mixed environment for `react-dom` + `react-dom/server`
27+
JSDOM = require('jsdom').JSDOM;
28+
const jsdom = new JSDOM(
29+
'<!DOCTYPE html><html><head></head><body><div id="container">',
30+
{
31+
runScripts: 'dangerously',
32+
},
33+
);
34+
global.window = jsdom.window;
35+
global.document = jsdom.window.document;
36+
global.navigator = jsdom.window.navigator;
37+
global.Node = jsdom.window.Node;
38+
2439
React = require('react');
2540
ReactDOM = require('react-dom');
2641
ReactDOMServer = require('react-dom/server');

0 commit comments

Comments
 (0)