setup.ts 1023 B

123456789101112131415161718192021222324252627282930313233343536
  1. import '@testing-library/jest-dom/vitest';
  2. import { cleanup } from '@testing-library/react';
  3. import { afterEach } from 'vitest';
  4. afterEach(cleanup);
  5. const nativeGetComputedStyle = window.getComputedStyle.bind(window);
  6. Object.defineProperty(window, 'getComputedStyle', {
  7. writable: true,
  8. value: (element: Element) => nativeGetComputedStyle(element),
  9. });
  10. Object.defineProperty(window, 'matchMedia', {
  11. writable: true,
  12. value: (query: string) => ({
  13. matches: false,
  14. media: query,
  15. onchange: null,
  16. addListener: () => undefined,
  17. removeListener: () => undefined,
  18. addEventListener: () => undefined,
  19. removeEventListener: () => undefined,
  20. dispatchEvent: () => false,
  21. }),
  22. });
  23. class ResizeObserverMock {
  24. observe() {}
  25. unobserve() {}
  26. disconnect() {}
  27. }
  28. Object.defineProperty(window, 'ResizeObserver', { value: ResizeObserverMock });
  29. Object.defineProperty(globalThis, 'ResizeObserver', { value: ResizeObserverMock });
  30. Object.defineProperty(window, 'scrollTo', { value: () => undefined });