2021-10-12 13:14:26 +08:00
|
|
|
// eslint-disable-next-line no-console
|
2021-08-31 15:51:02 +08:00
|
|
|
const originError = console.error;
|
|
|
|
|
|
|
|
/** This function will remove `useLayoutEffect` server side warning. Since it's useless. */
|
|
|
|
export function excludeWarning() {
|
|
|
|
const errorSpy = jest.spyOn(console, 'error').mockImplementation((msg, ...rest) => {
|
|
|
|
if (String(msg).includes('useLayoutEffect does nothing on the server')) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
originError(msg, ...rest);
|
|
|
|
});
|
|
|
|
|
|
|
|
return () => {
|
|
|
|
errorSpy.mockRestore();
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export default function excludeAllWarning() {
|
|
|
|
let cleanUp: Function;
|
|
|
|
|
|
|
|
beforeAll(() => {
|
|
|
|
cleanUp = excludeWarning();
|
|
|
|
});
|
|
|
|
|
|
|
|
afterAll(() => {
|
|
|
|
cleanUp();
|
|
|
|
});
|
|
|
|
}
|