diff options
Diffstat (limited to 'js/src/tests/non262/Iterator/prototype/map/mapper-not-callable-throw.js')
-rw-r--r-- | js/src/tests/non262/Iterator/prototype/map/mapper-not-callable-throw.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/non262/Iterator/prototype/map/mapper-not-callable-throw.js b/js/src/tests/non262/Iterator/prototype/map/mapper-not-callable-throw.js new file mode 100644 index 0000000000..334e0fd8f9 --- /dev/null +++ b/js/src/tests/non262/Iterator/prototype/map/mapper-not-callable-throw.js @@ -0,0 +1,33 @@ +// |reftest| skip-if(!this.hasOwnProperty('Iterator')) +// + +/*--- +esid: pending +description: Eagerly throw TypeError when `mapper` is not callable. +info: +features: [iterator-helpers] +---*/ + +assertThrowsInstanceOf(() => Iterator.prototype.map(undefined), TypeError); +assertThrowsInstanceOf(() => [].values().map(undefined), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map(null), TypeError); +assertThrowsInstanceOf(() => [].values().map(null), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map(0), TypeError); +assertThrowsInstanceOf(() => [].values().map(0), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map(false), TypeError); +assertThrowsInstanceOf(() => [].values().map(false), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map({}), TypeError); +assertThrowsInstanceOf(() => [].values().map({}), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map(''), TypeError); +assertThrowsInstanceOf(() => [].values().map(''), TypeError); + +assertThrowsInstanceOf(() => Iterator.prototype.map(Symbol('')), TypeError); +assertThrowsInstanceOf(() => [].values().map(Symbol('')), TypeError); + +if (typeof reportCompare == 'function') + reportCompare(0, 0); |