diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Promise/allSettled/resolve-thenable.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Promise/allSettled/resolve-thenable.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Promise/allSettled/resolve-thenable.js b/js/src/tests/test262/built-ins/Promise/allSettled/resolve-thenable.js new file mode 100644 index 0000000000..008e9525e9 --- /dev/null +++ b/js/src/tests/test262/built-ins/Promise/allSettled/resolve-thenable.js @@ -0,0 +1,30 @@ +// |reftest| async +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Resolving with a thenable object value +esid: sec-promise.allsettled +info: | + Let promiseCapability be NewPromiseCapability(C). +flags: [async] +features: [Promise.allSettled] +---*/ + +var value = {}; +var promise; + +try { + Array.prototype.then = function(resolve) { + resolve(value); + }; + + promise = Promise.allSettled([]); +} finally { + delete Array.prototype.then; +} + +promise.then(function(val) { + assert.sameValue(val, value); +}, function() { + $DONE('The promise should not be rejected.'); +}).then($DONE, $DONE); |