mirror of
https://github.com/tc39/test262.git
synced 2025-07-23 14:04:51 +02:00
test: Add more Array.from tests for array-like. Closes gh-3336
This commit is contained in:
parent
c2bd148ac7
commit
a5d8e8e997
@ -0,0 +1,39 @@
|
|||||||
|
// Copyright (c) 2021 Rick Waldron. All rights reserved.
|
||||||
|
// This code is governed by the license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
esid: sec-array.from
|
||||||
|
description: >
|
||||||
|
Creates an array with length that is equal to the value of the
|
||||||
|
length property of the given array-like, regardless of
|
||||||
|
the presence of corresponding indices and values.
|
||||||
|
info: |
|
||||||
|
Array.from ( items [ , mapfn [ , thisArg ] ] )
|
||||||
|
|
||||||
|
7. Let arrayLike be ! ToObject(items).
|
||||||
|
8. Let len be ? LengthOfArrayLike(arrayLike).
|
||||||
|
9. If IsConstructor(C) is true, then
|
||||||
|
a. Let A be ? Construct(C, « 𝔽(len) »).
|
||||||
|
10. Else,
|
||||||
|
a. Let A be ? ArrayCreate(len).
|
||||||
|
|
||||||
|
includes: [compareArray.js]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
const length = 5;
|
||||||
|
|
||||||
|
const newlyCreatedArray = Array.from({ length });
|
||||||
|
assert.sameValue(
|
||||||
|
newlyCreatedArray.length,
|
||||||
|
length,
|
||||||
|
"The newly created array's length is equal to the value of the length property for the provided array like object"
|
||||||
|
);
|
||||||
|
assert.compareArray(newlyCreatedArray, [undefined, undefined, undefined, undefined, undefined]);
|
||||||
|
|
||||||
|
const newlyCreatedAndMappedArray = Array.from({ length }).map(x => 1);
|
||||||
|
assert.sameValue(
|
||||||
|
newlyCreatedAndMappedArray.length,
|
||||||
|
length,
|
||||||
|
"The newly created and mapped array's length is equal to the value of the length property for the provided array like object"
|
||||||
|
);
|
||||||
|
assert.compareArray(newlyCreatedAndMappedArray, [1, 1, 1, 1, 1]);
|
Loading…
x
Reference in New Issue
Block a user