summaryrefslogtreecommitdiff
path: root/std/async/deferred_test.ts
blob: c411885d050a2e59286aac2fdba7ff78994b0ab7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertEquals, assertThrowsAsync } from "../testing/asserts.ts";
import { deferred } from "./deferred.ts";

Deno.test("[async] deferred: resolve", async function (): Promise<void> {
  const d = deferred<string>();
  d.resolve("🦕");
  assertEquals(await d, "🦕");
});

Deno.test("[async] deferred: reject", async function (): Promise<void> {
  const d = deferred<number>();
  d.reject(new Error("A deno error 🦕"));
  await assertThrowsAsync(async () => {
    await d;
  });
});