Convert ReactDOMIframe to createRoot (#28197)
Sebastian Silbermann committed
Feb 2, 2024 at 09:15 UTC
7026806d4b158abd5d3e2468712607771d1aa0ee
1 file changed
+14
-6
packages/react-dom/src/__tests__/ReactDOMIframe-test.js
+14
-6
@@ -11,22 +11,30 @@
11
12
describe('ReactDOMIframe', () => {
13
let React;
14
- let ReactTestUtils;
14
+ let ReactDOMClient;
15
+ let act;
16
17
beforeEach(() => {
18
React = require('react');
18
- ReactTestUtils = require('react-dom/test-utils');
19
+ ReactDOMClient = require('react-dom/client');
20
+ act = require('internal-test-utils').act;
21
});
22
21
- it('should trigger load events', () => {
23
+ it('should trigger load events', async () => {
24
const onLoadSpy = jest.fn();
23
- let iframe = React.createElement('iframe', {onLoad: onLoadSpy});
24
- iframe = ReactTestUtils.renderIntoDocument(iframe);
25
+ const container = document.createElement('div');
26
+ const root = ReactDOMClient.createRoot(container);
27
+ await act(() => {
28
+ root.render(React.createElement('iframe', {onLoad: onLoadSpy}));
29
+ });
30
+ const iframe = container.firstChild;
31
32
const loadEvent = document.createEvent('Event');
33
loadEvent.initEvent('load', false, false);
34
29
- iframe.dispatchEvent(loadEvent);
35
+ await act(() => {
36
+ iframe.dispatchEvent(loadEvent);
37
+ });
38
39
expect(onLoadSpy).toHaveBeenCalled();
40
});