diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Array/fromAsync/asyncitems-asynciterator-not-callable.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Array/fromAsync/asyncitems-asynciterator-not-callable.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Array/fromAsync/asyncitems-asynciterator-not-callable.js b/js/src/tests/test262/built-ins/Array/fromAsync/asyncitems-asynciterator-not-callable.js new file mode 100644 index 0000000000..f9406f5a29 --- /dev/null +++ b/js/src/tests/test262/built-ins/Array/fromAsync/asyncitems-asynciterator-not-callable.js @@ -0,0 +1,20 @@ +// |reftest| async +// Copyright (C) 2022 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-array.fromasync +description: > + Array.fromAsync rejects if the @@asyncIterator property is not callable +includes: [asyncHelpers.js] +flags: [async] +features: [Array.fromAsync] +---*/ + +asyncTest(async function () { + for (const v of [true, "", Symbol(), 1, 1n, {}]) { + await assert.throwsAsync(TypeError, + () => Array.fromAsync({ [Symbol.asyncIterator]: v }), + `@@asyncIterator = ${typeof v}`); + } +}); |