test(memory): share short-timeout test helper

This commit is contained in:
Peter Steinberger
2026-02-21 22:35:22 +00:00
parent b257ba9e30
commit b6ce5e06cd
3 changed files with 22 additions and 30 deletions

View File

@@ -0,0 +1,17 @@
import { vi } from "vitest";
export function useFastShortTimeouts(maxDelayMs = 2000): () => void {
const realSetTimeout = setTimeout;
const spy = vi.spyOn(global, "setTimeout").mockImplementation(((
handler: TimerHandler,
timeout?: number,
...args: unknown[]
) => {
const delay = typeof timeout === "number" ? timeout : 0;
if (delay > 0 && delay <= maxDelayMs) {
return realSetTimeout(handler, 0, ...args);
}
return realSetTimeout(handler, delay, ...args);
}) as typeof setTimeout);
return () => spy.mockRestore();
}