summaryrefslogtreecommitdiff
path: root/std/async/deferred_test.ts
blob: ba287f4427680f0ece048ed736dbc9a388288c44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Copyright 2018-2021 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;
  });
});