@samitouri / QOS-React-1 / commits / 7f8798a3f2

Convert ReactDOMSelection to createRoot (#28176)

Sebastian Silbermann committed Feb 2, 2024 at 08:58 UTC 7f8798a3f2cba588c1b7e5b19d488bce3520f62a
1 file changed +40 -34
packages/react-dom/src/__tests__/ReactDOMSelection-test.internal.js
+40 -34
@@ -10,16 +10,18 @@
10 'use strict';
11
12 let React;
13 -let ReactDOM;
13 +let ReactDOMClient;
14 let ReactDOMSelection;
15 +let act;
16
17 let getModernOffsetsFromPoints;
18
19 describe('ReactDOMSelection', () => {
20 beforeEach(() => {
21 React = require('react');
21 - ReactDOM = require('react-dom');
22 + ReactDOMClient = require('react-dom/client');
23 ReactDOMSelection = require('react-dom-bindings/src/client/ReactDOMSelection');
24 + act = require('internal-test-utils').act;
25
26 ({getModernOffsetsFromPoints} = ReactDOMSelection);
27 });
@@ -74,53 +76,57 @@ describe('ReactDOMSelection', () => {
76
77 // Complicated example derived from a real-world DOM tree. Has a bit of
78 // everything.
77 - function getFixture() {
78 - return ReactDOM.render(
79 - <div>
79 + async function getFixture() {
80 + const container = document.createElement('div');
81 + const root = ReactDOMClient.createRoot(container);
82 + await act(() => {
83 + root.render(
84 <div>
81 - <div>
82 - <div>xxxxxxxxxxxxxxxxxxxx</div>
83 - </div>
84 - x
85 <div>
86 <div>
87 - x
87 + <div>xxxxxxxxxxxxxxxxxxxx</div>
88 + </div>
89 + x
90 + <div>
91 <div>
92 + x
93 <div>
90 - <div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
91 - <div />
92 - <div />
93 - <div>xxxxxxxxxxxxxxxxxx</div>
94 + <div>
95 + <div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
96 + <div />
97 + <div />
98 + <div>xxxxxxxxxxxxxxxxxx</div>
99 + </div>
100 </div>
101 </div>
102 </div>
103 + <div />
104 </div>
98 - <div />
99 - </div>
100 - <div>
105 <div>
106 <div>
103 - <div>xxxx</div>
104 - <div>xxxxxxxxxxxxxxxxxxx</div>
107 + <div>
108 + <div>xxxx</div>
109 + <div>xxxxxxxxxxxxxxxxxxx</div>
110 + </div>
111 </div>
106 - </div>
107 - <div>xxx</div>
108 - <div>xxxxx</div>
109 - <div>xxx</div>
110 - <div>
112 + <div>xxx</div>
113 + <div>xxxxx</div>
114 + <div>xxx</div>
115 <div>
116 <div>
113 - <div>{['x', 'x', 'xxx']}</div>
117 + <div>
118 + <div>{['x', 'x', 'xxx']}</div>
119 + </div>
120 </div>
121 </div>
122 </div>
117 - </div>
118 - <div>
119 - <div>xxxxxx</div>
120 - </div>
121 - </div>,
122 - document.createElement('div'),
123 - );
123 + <div>
124 + <div>xxxxxx</div>
125 + </div>
126 + </div>,
127 + );
128 + });
129 + return container.firstChild;
130 }
131
132 it('returns correctly for base case', () => {
@@ -135,8 +141,8 @@ describe('ReactDOMSelection', () => {
141 });
142 });
143
138 - it('returns correctly for fuzz test', () => {
139 - const fixtureRoot = getFixture();
144 + it('returns correctly for fuzz test', async () => {
145 + const fixtureRoot = await getFixture();
146 const allNodes = [fixtureRoot].concat(
147 Array.from(fixtureRoot.querySelectorAll('*')),
148 );