test(harness): support node-side control plane specs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -7,61 +7,65 @@ import { matchesMediaQuery, resetAccessibilityPreferences } from "./a11y";
|
||||
|
||||
afterEach(() => {
|
||||
resetAccessibilityPreferences();
|
||||
cleanup();
|
||||
});
|
||||
|
||||
class ResizeObserverMock {
|
||||
observe() {}
|
||||
unobserve() {}
|
||||
disconnect() {}
|
||||
}
|
||||
|
||||
class PointerEventMock extends MouseEvent {
|
||||
constructor(type: string, props: PointerEventInit = {}) {
|
||||
super(type, props);
|
||||
if (typeof document !== "undefined") {
|
||||
cleanup();
|
||||
}
|
||||
});
|
||||
|
||||
if (typeof window !== "undefined" && typeof MouseEvent !== "undefined") {
|
||||
class ResizeObserverMock {
|
||||
observe() {}
|
||||
unobserve() {}
|
||||
disconnect() {}
|
||||
}
|
||||
|
||||
class PointerEventMock extends MouseEvent {
|
||||
constructor(type: string, props: PointerEventInit = {}) {
|
||||
super(type, props);
|
||||
}
|
||||
}
|
||||
|
||||
Object.defineProperty(window, "matchMedia", {
|
||||
writable: true,
|
||||
value: vi.fn().mockImplementation((query: string) => ({
|
||||
matches: matchesMediaQuery(query),
|
||||
media: query,
|
||||
onchange: null,
|
||||
addEventListener: vi.fn(),
|
||||
removeEventListener: vi.fn(),
|
||||
addListener: vi.fn(),
|
||||
removeListener: vi.fn(),
|
||||
dispatchEvent: vi.fn()
|
||||
}))
|
||||
});
|
||||
|
||||
Object.defineProperty(window, "ResizeObserver", {
|
||||
writable: true,
|
||||
value: ResizeObserverMock
|
||||
});
|
||||
|
||||
Object.defineProperty(window, "PointerEvent", {
|
||||
writable: true,
|
||||
value: PointerEventMock
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "scrollIntoView", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "hasPointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn(() => false)
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "releasePointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "setPointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
}
|
||||
|
||||
Object.defineProperty(window, "matchMedia", {
|
||||
writable: true,
|
||||
value: vi.fn().mockImplementation((query: string) => ({
|
||||
matches: matchesMediaQuery(query),
|
||||
media: query,
|
||||
onchange: null,
|
||||
addEventListener: vi.fn(),
|
||||
removeEventListener: vi.fn(),
|
||||
addListener: vi.fn(),
|
||||
removeListener: vi.fn(),
|
||||
dispatchEvent: vi.fn()
|
||||
}))
|
||||
});
|
||||
|
||||
Object.defineProperty(window, "ResizeObserver", {
|
||||
writable: true,
|
||||
value: ResizeObserverMock
|
||||
});
|
||||
|
||||
Object.defineProperty(window, "PointerEvent", {
|
||||
writable: true,
|
||||
value: PointerEventMock
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "scrollIntoView", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "hasPointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn(() => false)
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "releasePointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(window.HTMLElement.prototype, "setPointerCapture", {
|
||||
configurable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user