first commit
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
李启源
2026-07-20 10:21:30 +08:00
commit ea832229da
75 changed files with 16864 additions and 0 deletions

54
src/test/setup.ts Normal file
View File

@@ -0,0 +1,54 @@
import { beforeEach, vi } from 'vitest'
interface ResizeObserverEntryMock {
target: Element
contentRect: DOMRectReadOnly
}
type ResizeCallback = (entries: ResizeObserverEntryMock[]) => void
export const resizeObservers: ResizeObserverMock[] = []
export class ResizeObserverMock {
private target?: Element
constructor(private readonly callback: ResizeCallback) {
resizeObservers.push(this)
}
observe = vi.fn((target: Element) => {
this.target = target
})
unobserve = vi.fn()
disconnect = vi.fn()
resize(width: number, height = 400) {
if (!this.target) return
this.callback([
{
target: this.target,
contentRect: { width, height } as DOMRectReadOnly,
},
])
}
}
vi.stubGlobal('ResizeObserver', ResizeObserverMock)
vi.stubGlobal(
'matchMedia',
vi.fn((query: string): MediaQueryList => ({
matches: false,
media: query,
onchange: null,
addListener: vi.fn(),
removeListener: vi.fn(),
addEventListener: vi.fn(),
removeEventListener: vi.fn(),
dispatchEvent: vi.fn(),
})),
)
beforeEach(() => {
resizeObservers.length = 0
})