non-iterable-with-non-promise-thenable.js (685B)
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 non-promise thenables works. 8 includes: [compareArray.js, 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 resolve(expectedValue); 19 }, 20 }; 21 const input = { 22 length: 1, 23 0: inputThenable, 24 }; 25 const output = await Array.fromAsync(input); 26 assert.compareArray(output, expected); 27 });