| globalThis.print = console.log.bind(console); |
| function shouldBe(actual, expected) { |
| throw new Error('bad value: ' + actual); |
| async function returnDirectPrimitive() { |
| async function returnAwaitPrimitive() { |
| async function returnDirectPromisePrimitive() { |
| return Promise.resolve(1); |
| async function returnAwaitPromisePrimitive() { |
| return await Promise.resolve(1); |
| const resolved = Promise.resolve(); |
| async function test(fn, expected) { |
| fn().then(() => { done = true; }); |
| shouldBe(count, expected); |
| await test(returnDirectPrimitive, 1); |
| await test(returnAwaitPrimitive, 2); |
| await test(returnDirectPromisePrimitive, 3); |
| await test(returnAwaitPromisePrimitive, 2); |
| if (globalThis.setUnhandledRejectionCallback) { |
| setUnhandledRejectionCallback(function (promise) { |