non-iterable-input-with-thenable-element-rejects.js (711B)
1 // |reftest| async 2 // Copyright (C) 2023 Igalia, S.L. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 5 /*--- 6 esid: sec-array.fromasync 7 description: Non-iterable input with thenable result promise rejects if thenable element rejects. 8 includes: [asyncHelpers.js] 9 flags: [async] 10 features: [Array.fromAsync] 11 ---*/ 12 13 asyncTest(async function () { 14 const expectedValue = {}; 15 const expected = [ expectedValue ]; 16 const inputThenable = { 17 then (resolve, reject) { 18 reject(new Test262Error); 19 }, 20 }; 21 const input = { 22 length: 1, 23 0: inputThenable, 24 }; 25 const output = Array.fromAsync(input); 26 await assert.throwsAsync(Test262Error, () => output); 27 });