diff options
Diffstat (limited to 'js/src/tests/non262/AsyncIterator/prototype/find/coerce-result-to-boolean.js')
-rw-r--r-- | js/src/tests/non262/AsyncIterator/prototype/find/coerce-result-to-boolean.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/tests/non262/AsyncIterator/prototype/find/coerce-result-to-boolean.js b/js/src/tests/non262/AsyncIterator/prototype/find/coerce-result-to-boolean.js new file mode 100644 index 0000000000..eb89eca840 --- /dev/null +++ b/js/src/tests/non262/AsyncIterator/prototype/find/coerce-result-to-boolean.js @@ -0,0 +1,35 @@ +// |reftest| skip-if(!this.hasOwnProperty('AsyncIterator')) + +async function* gen(value) { + yield value; +} +const fn = x => x; +function check(value, expected) { + gen(value).find(fn).then(result => assertEq(result, expected)); +} + +check(true, true); +check(1, 1); +check('test', 'test'); + +check(false, undefined); +check(0, undefined); +check('', undefined); +check(null, undefined); +check(undefined, undefined); +check(NaN, undefined); +check(-0, undefined); +check(0n, undefined); +check(Promise.resolve(false), undefined); + +let array = []; +check(array, array); + +let object = {}; +check(object, object); + +const htmlDDA = createIsHTMLDDA(); +check(htmlDDA, undefined); + +if (typeof reportCompare === 'function') + reportCompare(0, 0); |