ant-design/components/__tests__/unstable.test.ts
𝑾𝒖𝒙𝒉 a1e9f530eb
INTERNAL: update unstableSetRender to handle optional render parameter (#53662)
* INTERNAL: add internal method `__getReactRender` to ConfigProvider for internal usage

* chore: update

* chore: update

* unit test

* chore: update
2025-04-28 13:46:18 +08:00

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);
});
});