diff options
Diffstat (limited to 'js/src/tests/non262/Promise/for-of-iterator-uses-getv.js')
-rw-r--r-- | js/src/tests/non262/Promise/for-of-iterator-uses-getv.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/tests/non262/Promise/for-of-iterator-uses-getv.js b/js/src/tests/non262/Promise/for-of-iterator-uses-getv.js new file mode 100644 index 0000000000..28c888d7a3 --- /dev/null +++ b/js/src/tests/non262/Promise/for-of-iterator-uses-getv.js @@ -0,0 +1,25 @@ +"use strict"; // Use strict-mode to ensure |this| arguments aren't converted to objects. + +var emptyIterator = { + next() { + return {done: true}; + } +}; + +Object.defineProperty(Number.prototype, Symbol.iterator, { + configurable: true, + get() { + assertEq(typeof this, "number"); + return function() { + assertEq(typeof this, "number"); + return emptyIterator; + } + } +}); + +Promise.all(0); +Promise.allSettled(0); +Promise.race(0); + +if (typeof reportCompare === "function") + reportCompare(0, 0); |