mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-11 19:42:54 +08:00

* INTERNAL: add internal method `__getReactRender` to ConfigProvider for internal usage * chore: update * chore: update * unit test * chore: update
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import * as ReactDOM from 'react-dom';
|
|
import { Modal, unstableSetRender } from 'antd';
|
|
|
|
import { waitFakeTimer19 } from '../../tests/utils';
|
|
|
|
// TODO: Remove this. Mock for React 19
|
|
jest.mock('react-dom', () => {
|
|
const realReactDOM = jest.requireActual('react-dom');
|
|
|
|
if (realReactDOM.version.startsWith('19')) {
|
|
const realReactDOMClient = jest.requireActual('react-dom/client');
|
|
realReactDOM.createRoot = realReactDOMClient.createRoot;
|
|
}
|
|
|
|
return realReactDOM;
|
|
});
|
|
|
|
describe('unstable', () => {
|
|
beforeEach(() => {
|
|
jest.useFakeTimers();
|
|
});
|
|
|
|
afterEach(() => {
|
|
jest.useRealTimers();
|
|
});
|
|
|
|
it('unstableSetRender', async () => {
|
|
if (ReactDOM.version.startsWith('19')) {
|
|
unstableSetRender((node, container) => {
|
|
const root = (ReactDOM as any).createRoot(container);
|
|
root.render(node);
|
|
return async () => {
|
|
root.unmount();
|
|
};
|
|
});
|
|
|
|
Modal.info({ content: 'unstableSetRender' });
|
|
|
|
await waitFakeTimer19();
|
|
|
|
expect(document.querySelector('.ant-modal')).toBeTruthy();
|
|
}
|
|
});
|
|
|
|
it('unstableSetRender without param', async () => {
|
|
const currentRender = unstableSetRender();
|
|
expect(currentRender).toBeInstanceOf(Function);
|
|
});
|
|
});
|