diff options
author | Marvin Hagemeister <marvin@deno.com> | 2024-07-31 12:00:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-31 12:00:01 +0200 |
commit | 1e2581e57b46e5e7512ceb5637d6007db67c3ed4 (patch) | |
tree | c084c0233e9e55810d5ca0ff858d1346f1b2e899 /tests/unit_node/timers_test.ts | |
parent | cd59fc53a528603112addfe8b10fe4e30d04e7f0 (diff) |
fix(node/timers/promises): add scheduler APIs (#24802)
This PR adds the experimental `scheduler` APIs in Node's
`timers/promises` module. See
https://nodejs.org/api/timers.html#timerspromisesschedulerwaitdelay-options
Fixes https://github.com/denoland/deno/issues/24800
Diffstat (limited to 'tests/unit_node/timers_test.ts')
-rw-r--r-- | tests/unit_node/timers_test.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/unit_node/timers_test.ts b/tests/unit_node/timers_test.ts index 90c6fb150..868ba21d6 100644 --- a/tests/unit_node/timers_test.ts +++ b/tests/unit_node/timers_test.ts @@ -66,6 +66,29 @@ Deno.test("[node/timers/promises setTimeout]", () => { return p; }); +Deno.test("[node/timers/promises scheduler.wait]", async () => { + const { scheduler } = timersPromises; + let resolved = false; + timers.setTimeout(() => (resolved = true), 20); + const p = scheduler.wait(20); + + assert(p instanceof Promise); + await p; + assert(resolved); +}); + +Deno.test("[node/timers/promises scheduler.yield]", async () => { + const { scheduler } = timersPromises; + let resolved = false; + timers.setImmediate(() => resolved = true); + + const p = scheduler.yield(); + assert(p instanceof Promise); + await p; + + assert(resolved); +}); + // Regression test for https://github.com/denoland/deno/issues/17981 Deno.test("[node/timers refresh cancelled timer]", () => { const { setTimeout, clearTimeout } = timers; |