/// /// import "@testing-library/jest-dom/vitest"; import { cleanup } from "@testing-library/react"; import { afterEach, beforeAll, vi } from "vitest"; global.ResizeObserver = require("resize-observer-polyfill"); beforeAll(() => { Object.defineProperty(window, 'matchMedia', { writable: true, value: vi.fn().mockImplementation((query) => ({ matches: false, media: query, onchange: null, addEventListener: vi.fn(), removeEventListener: vi.fn(), dispatchEvent: vi.fn(), })), }); }); afterEach(() => { cleanup(); }); class MockPointerEvent extends Event { button: number; ctrlKey: boolean; pointerType: string; constructor(type: string, props: PointerEventInit) { super(type, props); this.button = props.button || 0; this.ctrlKey = props.ctrlKey || false; this.pointerType = props.pointerType || "mouse"; } } window.PointerEvent = MockPointerEvent as any; window.HTMLElement.prototype.scrollIntoView = vi.fn(); window.HTMLElement.prototype.releasePointerCapture = vi.fn(); window.HTMLElement.prototype.hasPointerCapture = vi.fn();