| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { afterEach } from 'vitest';
- import { cleanup } from '@testing-library/react';
- afterEach(() => cleanup());
- function createStorage(): Storage {
- const values = new Map<string, string>();
- return {
- get length() { return values.size; },
- clear: () => values.clear(),
- getItem: (key) => values.get(key) ?? null,
- key: (index) => Array.from(values.keys())[index] ?? null,
- removeItem: (key) => values.delete(key),
- setItem: (key, value) => values.set(key, String(value))
- };
- }
- Object.defineProperty(window, 'localStorage', { configurable: true, value: createStorage() });
- Object.defineProperty(window, 'sessionStorage', { configurable: true, value: createStorage() });
- Object.defineProperty(window, 'matchMedia', {
- writable: true,
- value: (query: string) => ({
- matches: false,
- media: query,
- onchange: null,
- addListener: () => undefined,
- removeListener: () => undefined,
- addEventListener: () => undefined,
- removeEventListener: () => undefined,
- dispatchEvent: () => false
- })
- });
- class ResizeObserverStub {
- observe() {}
- unobserve() {}
- disconnect() {}
- }
- Object.defineProperty(window, 'ResizeObserver', { writable: true, value: ResizeObserverStub });
- Object.defineProperty(globalThis, 'ResizeObserver', { writable: true, value: ResizeObserverStub });
- const getComputedStyle = window.getComputedStyle.bind(window);
- window.getComputedStyle = (element: Element) => getComputedStyle(element);
- if (!window.requestAnimationFrame) {
- window.requestAnimationFrame = (callback) => window.setTimeout(callback, 0);
- window.cancelAnimationFrame = (id) => window.clearTimeout(id);
- }
|