chore: use versioned render in useEditableValue test (#28212)
Ruslan Lesiutin committed
Feb 5, 2024 at 17:11 UTC
f244fd3884adbe5717b7e46da18911e9899cade9
1 file changed
+18
-14
packages/react-devtools-shared/src/__tests__/useEditableValue-test.js
+18
-14
@@ -7,22 +7,24 @@
7
* @flow
8
*/
9
10
+import {getVersionedRenderImplementation} from './utils';
11
+
12
describe('useEditableValue', () => {
13
let act;
14
let React;
13
- let legacyRender;
15
let useEditableValue;
16
17
beforeEach(() => {
18
const utils = require('./utils');
19
act = utils.act;
19
- legacyRender = utils.legacyRender;
20
21
React = require('react');
22
23
useEditableValue = require('../devtools/views/hooks').useEditableValue;
24
});
25
26
+ const {render} = getVersionedRenderImplementation();
27
+
28
it('should not cause a loop with values like NaN', () => {
29
let state;
30
@@ -32,8 +34,8 @@ describe('useEditableValue', () => {
34
return null;
35
}
36
35
- const container = document.createElement('div');
36
- legacyRender(<Example />, container);
37
+ act(() => render(<Example />));
38
+
39
expect(state.editableValue).toEqual('NaN');
40
expect(state.externalValue).toEqual(NaN);
41
expect(state.parsedValue).toEqual(NaN);
@@ -50,8 +52,8 @@ describe('useEditableValue', () => {
52
return null;
53
}
54
53
- const container = document.createElement('div');
54
- legacyRender(<Example value={1} />, container);
55
+ act(() => render(<Example value={1} />));
56
+
57
expect(state.editableValue).toEqual('1');
58
expect(state.externalValue).toEqual(1);
59
expect(state.parsedValue).toEqual(1);
@@ -60,7 +62,8 @@ describe('useEditableValue', () => {
62
63
// If there are NO pending changes,
64
// an update to the external prop value should override the local/pending value.
63
- legacyRender(<Example value={2} />, container);
65
+ act(() => render(<Example value={2} />));
66
+
67
expect(state.editableValue).toEqual('2');
68
expect(state.externalValue).toEqual(2);
69
expect(state.parsedValue).toEqual(2);
@@ -78,8 +81,8 @@ describe('useEditableValue', () => {
81
return null;
82
}
83
81
- const container = document.createElement('div');
82
- legacyRender(<Example value={1} />, container);
84
+ act(() => render(<Example value={1} />));
85
+
86
expect(state.editableValue).toEqual('1');
87
expect(state.externalValue).toEqual(1);
88
expect(state.parsedValue).toEqual(1);
@@ -102,7 +105,8 @@ describe('useEditableValue', () => {
105
106
// If there ARE pending changes,
107
// an update to the external prop value should NOT override the local/pending value.
105
- legacyRender(<Example value={3} />, container);
108
+ act(() => render(<Example value={3} />));
109
+
110
expect(state.editableValue).toEqual('2');
111
expect(state.externalValue).toEqual(3);
112
expect(state.parsedValue).toEqual(2);
@@ -120,8 +124,8 @@ describe('useEditableValue', () => {
124
return null;
125
}
126
123
- const container = document.createElement('div');
124
- legacyRender(<Example value={1} />, container);
127
+ act(() => render(<Example value={1} />));
128
+
129
expect(state.editableValue).toEqual('1');
130
expect(state.externalValue).toEqual(1);
131
expect(state.parsedValue).toEqual(1);
@@ -153,8 +157,8 @@ describe('useEditableValue', () => {
157
return null;
158
}
159
156
- const container = document.createElement('div');
157
- legacyRender(<Example value={1} />, container);
160
+ act(() => render(<Example value={1} />));
161
+
162
expect(state.editableValue).toEqual('1');
163
expect(state.externalValue).toEqual(1);
164
expect(state.parsedValue).toEqual(1);