mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-02 04:41:11 +00:00
28 lines
756 B
TypeScript
28 lines
756 B
TypeScript
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
import { waitForAbortableDelay } from "./async.js";
|
|
|
|
afterEach(() => {
|
|
vi.useRealTimers();
|
|
});
|
|
|
|
describe("waitForAbortableDelay", () => {
|
|
it("resolves false immediately when aborted during backoff", async () => {
|
|
vi.useFakeTimers();
|
|
const abortController = new AbortController();
|
|
|
|
const delay = waitForAbortableDelay(60_000, abortController.signal);
|
|
abortController.abort();
|
|
|
|
await expect(delay).resolves.toBe(false);
|
|
});
|
|
|
|
it("resolves true after the full delay when not aborted", async () => {
|
|
vi.useFakeTimers();
|
|
|
|
const delay = waitForAbortableDelay(500);
|
|
await vi.advanceTimersByTimeAsync(500);
|
|
|
|
await expect(delay).resolves.toBe(true);
|
|
});
|
|
});
|