diff --git a/packages/react-devtools-shared/src/__tests__/useEditableValue-test.js b/packages/react-devtools-shared/src/__tests__/useEditableValue-test.js
index d3ae11df7999f..61b538e2d2e6f 100644
--- a/packages/react-devtools-shared/src/__tests__/useEditableValue-test.js
+++ b/packages/react-devtools-shared/src/__tests__/useEditableValue-test.js
@@ -7,22 +7,24 @@
* @flow
*/
+import {getVersionedRenderImplementation} from './utils';
+
describe('useEditableValue', () => {
let act;
let React;
- let legacyRender;
let useEditableValue;
beforeEach(() => {
const utils = require('./utils');
act = utils.act;
- legacyRender = utils.legacyRender;
React = require('react');
useEditableValue = require('../devtools/views/hooks').useEditableValue;
});
+ const {render} = getVersionedRenderImplementation();
+
it('should not cause a loop with values like NaN', () => {
let state;
@@ -32,8 +34,8 @@ describe('useEditableValue', () => {
return null;
}
- const container = document.createElement('div');
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('NaN');
expect(state.externalValue).toEqual(NaN);
expect(state.parsedValue).toEqual(NaN);
@@ -50,8 +52,8 @@ describe('useEditableValue', () => {
return null;
}
- const container = document.createElement('div');
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('1');
expect(state.externalValue).toEqual(1);
expect(state.parsedValue).toEqual(1);
@@ -60,7 +62,8 @@ describe('useEditableValue', () => {
// If there are NO pending changes,
// an update to the external prop value should override the local/pending value.
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('2');
expect(state.externalValue).toEqual(2);
expect(state.parsedValue).toEqual(2);
@@ -78,8 +81,8 @@ describe('useEditableValue', () => {
return null;
}
- const container = document.createElement('div');
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('1');
expect(state.externalValue).toEqual(1);
expect(state.parsedValue).toEqual(1);
@@ -102,7 +105,8 @@ describe('useEditableValue', () => {
// If there ARE pending changes,
// an update to the external prop value should NOT override the local/pending value.
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('2');
expect(state.externalValue).toEqual(3);
expect(state.parsedValue).toEqual(2);
@@ -120,8 +124,8 @@ describe('useEditableValue', () => {
return null;
}
- const container = document.createElement('div');
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('1');
expect(state.externalValue).toEqual(1);
expect(state.parsedValue).toEqual(1);
@@ -153,8 +157,8 @@ describe('useEditableValue', () => {
return null;
}
- const container = document.createElement('div');
- legacyRender(, container);
+ act(() => render());
+
expect(state.editableValue).toEqual('1');
expect(state.externalValue).toEqual(1);
expect(state.parsedValue).toEqual(1);