diff --git a/packages/react-devtools-shared/src/__tests__/profilingHostRoot-test.js b/packages/react-devtools-shared/src/__tests__/profilingHostRoot-test.js
index 887e7e7911d01..f2f4ee10ca2a0 100644
--- a/packages/react-devtools-shared/src/__tests__/profilingHostRoot-test.js
+++ b/packages/react-devtools-shared/src/__tests__/profilingHostRoot-test.js
@@ -7,11 +7,14 @@
* @flow
*/
+import {
+ getLegacyRenderImplementation,
+ getModernRenderImplementation,
+} from './utils';
+
describe('profiling HostRoot', () => {
let React;
- let ReactDOMClient;
let Scheduler;
- let legacyRender;
let store;
let utils;
let getEffectDurations;
@@ -22,14 +25,11 @@ describe('profiling HostRoot', () => {
utils = require('./utils');
utils.beforeEachProfiling();
- legacyRender = utils.legacyRender;
-
getEffectDurations = require('../backend/utils').getEffectDurations;
store = global.store;
React = require('react');
- ReactDOMClient = require('react-dom/client');
Scheduler = require('scheduler');
effectDurations = [];
@@ -49,7 +49,11 @@ describe('profiling HostRoot', () => {
};
});
- // @reactVersion >=18.0
+ const {render: legacyRender} = getLegacyRenderImplementation();
+ const {render: modernRender} = getModernRenderImplementation();
+
+ // @reactVersion >= 18.0
+ // @reactVersion <= 18.2
it('should expose passive and layout effect durations for render()', () => {
function App() {
React.useEffect(() => {
@@ -63,8 +67,7 @@ describe('profiling HostRoot', () => {
utils.act(() => store.profilerStore.startProfiling());
utils.act(() => {
- const container = document.createElement('div');
- legacyRender(, container);
+ legacyRender();
});
utils.act(() => store.profilerStore.stopProfiling());
@@ -92,9 +95,7 @@ describe('profiling HostRoot', () => {
utils.act(() => store.profilerStore.startProfiling());
utils.act(() => {
- const container = document.createElement('div');
- const root = ReactDOMClient.createRoot(container);
- root.render();
+ modernRender();
});
utils.act(() => store.profilerStore.stopProfiling());
@@ -126,12 +127,9 @@ describe('profiling HostRoot', () => {
return null;
}
- const container = document.createElement('div');
- const root = ReactDOMClient.createRoot(container);
-
utils.act(() => store.profilerStore.startProfiling());
- utils.act(() => root.render());
- utils.act(() => root.render());
+ utils.act(() => modernRender());
+ utils.act(() => modernRender());
utils.act(() => store.profilerStore.stopProfiling());
expect(effectDurations).toHaveLength(3);