tf_code/packages/opencode/test/util/timeout.test.ts

22 lines
702 B
TypeScript

import { describe, expect, test } from "bun:test"
import { withTimeout } from "../../src/util/timeout"
describe("util.timeout", () => {
test("should resolve when promise completes before timeout", async () => {
const fastPromise = new Promise<string>((resolve) => {
setTimeout(() => resolve("fast"), 10)
})
const result = await withTimeout(fastPromise, 100)
expect(result).toBe("fast")
})
test("should reject when promise exceeds timeout", async () => {
const slowPromise = new Promise<string>((resolve) => {
setTimeout(() => resolve("slow"), 200)
})
await expect(withTimeout(slowPromise, 50)).rejects.toThrow("Operation timed out after 50ms")
})
})