diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Promise/allSettled/reject-immed.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Promise/allSettled/reject-immed.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Promise/allSettled/reject-immed.js b/js/src/tests/test262/built-ins/Promise/allSettled/reject-immed.js new file mode 100644 index 0000000000..aa5fff5c59 --- /dev/null +++ b/js/src/tests/test262/built-ins/Promise/allSettled/reject-immed.js @@ -0,0 +1,31 @@ +// |reftest| async +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: Rejecting through immediate invocation of the provided resolving function +esid: sec-promise.allsettled +info: | + 6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability). + + Runtime Semantics: PerformPromiseAllSettled + + 6. Repeat + ... + z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »). +flags: [async] +includes: [promiseHelper.js] +features: [Promise.allSettled] +---*/ + +var simulation = {}; +var thenable = { + then(_, reject) { + reject(simulation); + } +}; + +Promise.allSettled([thenable]) + .then((settleds) => { + checkSettledPromises(settleds, [{ status: 'rejected', reason: simulation }]); + }).then($DONE, $DONE); |