diff --git a/packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js b/packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js index 411451a2feade..6416d2dfdb536 100644 --- a/packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js +++ b/packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js @@ -481,6 +481,7 @@ describe('ReactDOMServerPartialHydration', () => { }); it('recovers with client render when server rendered additional nodes at suspense root after unsuspending', async () => { + spyOnDev(console, 'error'); const ref = React.createRef(); function App({hasB}) { return ( @@ -526,8 +527,6 @@ describe('ReactDOMServerPartialHydration', () => { ReactDOM.hydrateRoot(container, ); }); - spyOnDev(console, 'error'); - resolve(); await promise; Scheduler.unstable_flushAll(); @@ -542,13 +541,20 @@ describe('ReactDOMServerPartialHydration', () => { expect(ref.current).toBe(span); } - expect(console.error.calls.count()).toBe(1); - const errorArgs = console.error.calls.first().args; + if (gate(flags => flags.enableClientRenderFallbackOnHydrationMismatch)) { + expect(console.error.calls.count()).toBe(2); + const errorArgs = console.error.calls.all().shift().args; + expect(errorArgs[0]).toContain( + 'An error occurred during hydration. The server HTML was replaced with client content', + ); + } else { + expect(console.error.calls.count()).toBe(1); + } + + const errorArgs = console.error.calls.all().pop().args; expect(errorArgs[0]).toBe( 'Warning: Did not expect server HTML to contain a <%s> in <%s>.%s', ); - expect(errorArgs[1]).toBe('span'); - expect(errorArgs[2]).toBe('div'); }); it('recovers with client render when server rendered additional nodes deep inside suspense root', async () => {