From 758ce37509cb935395b2db10cd378f815e5f97de Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Mon, 29 Jan 2024 09:12:20 +0100 Subject: [PATCH] Convert DOMPluginEventSystem to createRoot (#28139) --- .../DOMPluginEventSystem-test.internal.js | 262 ++++++++++++------ 1 file changed, 180 insertions(+), 82 deletions(-) diff --git a/packages/react-dom/src/events/__tests__/DOMPluginEventSystem-test.internal.js b/packages/react-dom/src/events/__tests__/DOMPluginEventSystem-test.internal.js index 1a1769e82c07ee..89110b8b56765e 100644 --- a/packages/react-dom/src/events/__tests__/DOMPluginEventSystem-test.internal.js +++ b/packages/react-dom/src/events/__tests__/DOMPluginEventSystem-test.internal.js @@ -97,7 +97,7 @@ describe('DOMPluginEventSystem', () => { endNativeEventListenerClearDown(); }); - it('does not pool events', () => { + it('does not pool events', async () => { const buttonRef = React.createRef(); const log = []; const onClick = jest.fn(e => log.push(e)); @@ -106,7 +106,10 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const textNode = buttonRef.current.firstChild; @@ -1545,8 +1616,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -1610,8 +1682,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -1658,8 +1731,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); expect(container.innerHTML).toBe( @@ -1679,13 +1753,16 @@ describe('DOMPluginEventSystem', () => { ]); // Unmounting the container and clicking should not work - ReactDOM.render(null, container); + await act(() => { + root.render(null); + }); + dispatchClickEvent(divElement); expect(clickEvent).toBeCalledTimes(1); // Re-rendering the container and clicking should work await act(() => { - ReactDOM.render(, container); + root.render(); }); divElement = divRef.current; @@ -1744,8 +1821,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); let buttonElement = buttonRef.current; @@ -1792,7 +1870,7 @@ describe('DOMPluginEventSystem', () => { } await act(() => { - ReactDOM.render(, container); + root.render(); }); buttonElement = buttonRef.current; @@ -1833,8 +1911,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const divElement = divRef.current; @@ -1884,8 +1963,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -1942,8 +2022,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -2023,8 +2104,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); expect(container.innerHTML).toBe( @@ -2041,8 +2123,9 @@ describe('DOMPluginEventSystem', () => { }); // Unmounting the container and clicking should not work + await act(() => { - ReactDOM.render(null, container); + root.render(null); }); dispatchClickEvent(document.body); @@ -2050,7 +2133,7 @@ describe('DOMPluginEventSystem', () => { // Re-rendering and clicking the body should work again await act(() => { - ReactDOM.render(, container); + root.render(); }); dispatchClickEvent(document.body); @@ -2109,8 +2192,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -2178,8 +2262,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -2224,8 +2309,9 @@ describe('DOMPluginEventSystem', () => { return ; } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -2295,8 +2381,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -2399,8 +2486,9 @@ describe('DOMPluginEventSystem', () => { ); }; + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const inner = innerRef.current; @@ -2410,7 +2498,7 @@ describe('DOMPluginEventSystem', () => { expect(onAfterBlur).toHaveBeenCalledTimes(0); await act(() => { - ReactDOM.render(, container); + root.render(); }); expect(onBeforeBlur).toHaveBeenCalledTimes(1); @@ -2462,8 +2550,9 @@ describe('DOMPluginEventSystem', () => { ); }; + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const inner = innerRef.current; @@ -2473,7 +2562,7 @@ describe('DOMPluginEventSystem', () => { expect(onAfterBlur).toHaveBeenCalledTimes(0); await act(() => { - ReactDOM.render(, container); + root.render(); }); expect(onBeforeBlur).toHaveBeenCalledTimes(1); @@ -2523,8 +2612,9 @@ describe('DOMPluginEventSystem', () => { ); }; + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const inner = innerRef.current; @@ -2533,7 +2623,7 @@ describe('DOMPluginEventSystem', () => { expect(onBeforeBlur).toHaveBeenCalledTimes(0); await act(() => { - ReactDOM.render(, container); + root.render(); }); expect(onBeforeBlur).toHaveBeenCalledTimes(1); @@ -2765,7 +2855,7 @@ describe('DOMPluginEventSystem', () => { }); // @gate www - it('handle propagation of click events between disjointed comment roots', async () => { + it('handle propagation of click events between disjointed legacy comment roots', async () => { const buttonRef = React.createRef(); const divRef = React.createRef(); const log = []; @@ -2881,8 +2971,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const divElement = divRef.current; @@ -2953,8 +3044,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -3025,8 +3117,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -3081,8 +3174,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const textNode = buttonRef.current.firstChild; @@ -3124,8 +3218,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -3167,8 +3262,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -3209,8 +3305,9 @@ describe('DOMPluginEventSystem', () => { ); } + const root = ReactDOMClient.createRoot(container); await act(() => { - ReactDOM.render(, container); + root.render(); }); const buttonElement = buttonRef.current; @@ -3262,8 +3359,9 @@ describe('DOMPluginEventSystem', () => { return
test
; } + const root = ReactDOMClient.createRoot(rootContainer); await act(() => { - ReactDOM.render(, rootContainer); + root.render(); }); dispatchEvent(ref.current, 'touchstart');