diff options
Diffstat (limited to 'js/globals_test.ts')
-rw-r--r-- | js/globals_test.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/globals_test.ts b/js/globals_test.ts index 3085118de..42a055087 100644 --- a/js/globals_test.ts +++ b/js/globals_test.ts @@ -77,3 +77,29 @@ test(function DenoNamespaceImmutable(): void { // @ts-ignore assert(print === Deno.core.print); }); + +test(async function windowQueueMicrotask(): Promise<void> { + let resolve1: () => void | undefined; + let resolve2: () => void | undefined; + let microtaskDone = false; + const p1 = new Promise( + (res): void => { + resolve1 = (): void => { + microtaskDone = true; + res(); + }; + } + ); + const p2 = new Promise( + (res): void => { + resolve2 = (): void => { + assert(microtaskDone); + res(); + }; + } + ); + window.queueMicrotask(resolve1!); + setTimeout(resolve2!, 0); + await p1; + await p2; +}); |