diff options
Diffstat (limited to 'js/src/tests/non262/Iterator/prototype/find/coerce-result-to-boolean.js')
-rw-r--r-- | js/src/tests/non262/Iterator/prototype/find/coerce-result-to-boolean.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/tests/non262/Iterator/prototype/find/coerce-result-to-boolean.js b/js/src/tests/non262/Iterator/prototype/find/coerce-result-to-boolean.js new file mode 100644 index 0000000000..7818e5a58d --- /dev/null +++ b/js/src/tests/non262/Iterator/prototype/find/coerce-result-to-boolean.js @@ -0,0 +1,27 @@ +// |reftest| skip-if(!this.hasOwnProperty('Iterator')) -- Iterator is not enabled unconditionally + +const fn = (value) => value; +assertEq([true].values().find(fn), true); +assertEq([1].values().find(fn), 1); +assertEq(['test'].values().find(fn), 'test'); + +assertEq([false].values().find(fn), undefined); +assertEq([0].values().find(fn), undefined); +assertEq([''].values().find(fn), undefined); +assertEq([null].values().find(fn), undefined); +assertEq([undefined].values().find(fn), undefined); +assertEq([NaN].values().find(fn), undefined); +assertEq([-0].values().find(fn), undefined); +assertEq([0n].values().find(fn), undefined); + +let array = []; +assertEq([array].values().find(fn), array); + +let object = {}; +assertEq([object].values().find(fn), object); + +const htmlDDA = createIsHTMLDDA(); +assertEq([htmlDDA].values().find(fn), undefined); + +if (typeof reportCompare === 'function') + reportCompare(0, 0); |