diff options
Diffstat (limited to 'js/src/tests/test262/harness/asyncHelpers-asyncTest-returns-undefined.js')
-rw-r--r-- | js/src/tests/test262/harness/asyncHelpers-asyncTest-returns-undefined.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/js/src/tests/test262/harness/asyncHelpers-asyncTest-returns-undefined.js b/js/src/tests/test262/harness/asyncHelpers-asyncTest-returns-undefined.js new file mode 100644 index 0000000000..18d78f092a --- /dev/null +++ b/js/src/tests/test262/harness/asyncHelpers-asyncTest-returns-undefined.js @@ -0,0 +1,40 @@ +// |reftest| async +// Copyright (C) 2022 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: | + The 'asyncTest' helper when called with async flag always returns undefined. +flags: [async] +includes: [asyncHelpers.js] +---*/ +var realDone = $DONE; +var doneCalls = 0; +globalThis.$DONE = function () { + doneCalls++; +}; + +(async function () { + assert.sameValue(undefined, asyncTest({})); + assert.sameValue( + undefined, + asyncTest(function () { + return "non-thenable"; + }) + ); + assert.sameValue( + undefined, + asyncTest(function () { + return Promise.resolve(true); + }) + ); + assert.sameValue( + undefined, + asyncTest(function () { + return Promise.reject(new Test262Error("oh no")); + }) + ); +})() + .then(() => { + assert.sameValue(doneCalls, 4, "asyncTest must call $DONE"); + }) + .then(realDone, realDone); |