From d7b540468ef70f0eb20a6d0d9f531ad9268c81bd Mon Sep 17 00:00:00 2001 From: Ruslan Lesiutin Date: Fri, 2 Feb 2024 20:29:58 +0000 Subject: [PATCH] chore: use versioned render in profilingHostRoot test and gate some for legacy rendering --- .../src/__tests__/profilingHostRoot-test.js | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) 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);