mirror of https://github.com/tc39/test262.git
39 lines
958 B
JavaScript
39 lines
958 B
JavaScript
// Copyright (C) 2023 Igalia, S.L. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-array.fromasync
|
|
description: Async-iterable input does not await input values.
|
|
includes: [compareArray.js, asyncHelpers.js]
|
|
flags: [async]
|
|
features: [Array.fromAsync]
|
|
---*/
|
|
|
|
asyncTest(async function () {
|
|
const prom = Promise.resolve({});
|
|
const expected = [ prom ];
|
|
|
|
function createInput () {
|
|
return {
|
|
// The following async iterator will yield one value
|
|
// (the promise named “prom”).
|
|
[Symbol.asyncIterator]() {
|
|
let i = 0;
|
|
return {
|
|
async next() {
|
|
if (i > 0) {
|
|
return { done: true };
|
|
}
|
|
i++;
|
|
return { value: prom, done: false }
|
|
},
|
|
};
|
|
},
|
|
};
|
|
}
|
|
|
|
const input = createInput();
|
|
const output = await Array.fromAsync(input);
|
|
assert.compareArray(output, expected);
|
|
});
|