diff --git a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js index 848fdd6521960..550b7dad1c994 100644 --- a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js @@ -4427,6 +4427,103 @@ body { ); }); + it.only('can emit preloads for suspended components', async () => { + function Child({text}) { + ReactDOM.preload('script', {as: 'script'}); + ReactDOM.preload('a', {as: 'image'}); + ReactDOM.preload('b', {as: 'image'}); + + return ( + <> + + + + + + + + + ); + } + + function App({text}) { + return ( + + + {`Waiting for ${text}...`}}> + + + + + ); + } + + await act(() => { + renderToPipeableStream().pipe(writable); + }); + + expect(getMeaningfulChildren(document)).toEqual( + + + + + + + + + + + Waiting for A... + + , + ); + + await act(() => { + resolveText('A'); + }); + expect(getMeaningfulChildren(document)).toEqual( + + + + + + + + + + + A + + + + + + + + , + ); + }); + it('Does not preload lazy images', async () => { function App() { ReactDOM.preload('a', {as: 'image'});