mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 19:58:27 +00:00
perf(test): fake abort timer and dedupe slack thread cases
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { bindAbortRelay } from "../utils/fetch-timeout.js";
|
||||
|
||||
/**
|
||||
@@ -25,12 +25,17 @@ describe("abort pattern: .bind() vs arrow closure (#7174)", () => {
|
||||
});
|
||||
|
||||
it("bound abort works with setTimeout", async () => {
|
||||
const controller = new AbortController();
|
||||
const timer = setTimeout(controller.abort.bind(controller), 10);
|
||||
expect(controller.signal.aborted).toBe(false);
|
||||
await new Promise((r) => setTimeout(r, 50));
|
||||
expect(controller.signal.aborted).toBe(true);
|
||||
clearTimeout(timer);
|
||||
vi.useFakeTimers();
|
||||
try {
|
||||
const controller = new AbortController();
|
||||
const timer = setTimeout(controller.abort.bind(controller), 10);
|
||||
expect(controller.signal.aborted).toBe(false);
|
||||
await vi.advanceTimersByTimeAsync(10);
|
||||
expect(controller.signal.aborted).toBe(true);
|
||||
clearTimeout(timer);
|
||||
} finally {
|
||||
vi.useRealTimers();
|
||||
}
|
||||
});
|
||||
|
||||
it("bindAbortRelay() preserves default AbortError reason when used as event listener", () => {
|
||||
|
||||
Reference in New Issue
Block a user