Files
reacord/packages/helpers/deferred.test.ts
2021-12-20 12:28:27 -06:00

17 lines
490 B
TypeScript

import { expect, test } from "vitest"
import { createDeferred } from "./deferred.js"
test("resolve", async () => {
const deferred = createDeferred<string>()
setTimeout(() => deferred.resolve("hi"))
expect(await deferred).toBe("hi")
})
test("reject", async () => {
const deferred = createDeferred()
const error = new Error("oops")
setTimeout(() => deferred.reject(error))
const caught = await Promise.resolve(deferred).catch((error) => error)
expect(caught).toBe(error)
})