| Array.from-descriptor.js |
---
description: Testing descriptor property of Array.from
includes:
- propertyHelper.js
esid: sec-array.from
es6id: 22.1.2.1
--- |
371 |
- |
| Array.from-name.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: '`name` property'
info: |
ES6 Section 17:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value is a
String. Unless otherwise specified, this value is the name that is given to
the function in this specification.
[...]
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
962 |
- |
| Array.from_arity.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
The length property of the Array.from method is 1.
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
The length property of the from method is 1.
includes: [propertyHelper.js]
--- |
607 |
- |
| Array.from_forwards-length-for-array-likes.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
If this is a constructor, and items doesn't have an @@iterator,
returns a new instance of this
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
4. Let usingIterator be GetMethod(items, @@iterator).
...
6. If usingIterator is not undefined, then
...
12. If IsConstructor(C) is true, then
a. Let A be Construct(C, «len»).
13. Else,
a. Let A be ArrayCreate(len).
...
19. Return A.
--- |
907 |
- |
| calling-from-valid-1-noStrict.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Map function without thisArg on non strict mode
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
10. Let len be ToLength(Get(arrayLike, "length")).
11. ReturnIfAbrupt(len).
12. If IsConstructor(C) is true, then
a. Let A be Construct(C, «len»).
13. Else,
b. Let A be ArrayCreate(len).
14. ReturnIfAbrupt(A).
15. Let k be 0.
16. Repeat, while k < len
a. Let Pk be ToString(k).
b. Let kValue be Get(arrayLike, Pk).
c. ReturnIfAbrupt(kValue).
d. If mapping is true, then
i. Let mappedValue be Call(mapfn, T, «kValue, k»).
...
flags: [noStrict]
--- |
2020 |
- |
| calling-from-valid-1-onlyStrict.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Map function without thisArg on strict mode
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
10. Let len be ToLength(Get(arrayLike, "length")).
11. ReturnIfAbrupt(len).
12. If IsConstructor(C) is true, then
a. Let A be Construct(C, «len»).
13. Else,
b. Let A be ArrayCreate(len).
14. ReturnIfAbrupt(A).
15. Let k be 0.
16. Repeat, while k < len
a. Let Pk be ToString(k).
b. Let kValue be Get(arrayLike, Pk).
c. ReturnIfAbrupt(kValue).
d. If mapping is true, then
i. Let mappedValue be Call(mapfn, T, «kValue, k»).
...
flags: [onlyStrict]
--- |
2033 |
- |
| calling-from-valid-2.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Calling from with a valid map function with thisArg
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
10. Let len be ToLength(Get(arrayLike, "length")).
11. ReturnIfAbrupt(len).
12. If IsConstructor(C) is true, then
a. Let A be Construct(C, «len»).
13. Else,
b. Let A be ArrayCreate(len).
14. ReturnIfAbrupt(A).
15. Let k be 0.
16. Repeat, while k < len
a. Let Pk be ToString(k).
b. Let kValue be Get(arrayLike, Pk).
c. ReturnIfAbrupt(kValue).
d. If mapping is true, then
i. Let mappedValue be Call(mapfn, T, «kValue, k»).
...
--- |
2043 |
- |
| elements-added-after.js |
---
description: Elements added after the call to from
esid: sec-array.from
es6id: 22.1.2.1
--- |
935 |
- |
| elements-deleted-after.js |
---
description: >
Elements deleted after the call started and before visited are not
visited
esid: sec-array.from
es6id: 22.1.2.1
--- |
1001 |
- |
| elements-updated-after.js |
---
description: Elements are updated after the call to from
esid: sec-array.from
es6id: 22.1.2.1
--- |
788 |
- |
| from-array.js |
---
description: Passing a valid array
esid: sec-array.from
es6id: 22.1.2.1
--- |
688 |
- |
| from-string.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Testing Array.from when passed a String
author: Hank Yates (hankyates@gmail.com)
--- |
581 |
- |
| get-iter-method-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error accessing items' `Symbol.iterator` attribute
info: |
[...]
4. Let usingIterator be GetMethod(items, @@iterator).
5. ReturnIfAbrupt(usingIterator).
features: [Symbol.iterator]
--- |
583 |
- |
| items-is-arraybuffer.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Return empty array if items argument is an ArrayBuffer
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
4. Let usingIterator be GetMethod(items, @@iterator).
5. ReturnIfAbrupt(usingIterator).
...
--- |
526 |
- |
| items-is-null-throws.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Throws a TypeError if items argument is null
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
4. Let usingIterator be GetMethod(items, @@iterator).
5. ReturnIfAbrupt(usingIterator).
...
--- |
464 |
- |
| iter-adv-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error advancing iterator
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
i. Let Pk be ToString(k).
ii. Let next be IteratorStep(iterator).
iii. ReturnIfAbrupt(next).
features: [Symbol.iterator]
--- |
673 |
- |
| iter-cstm-ctor-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
Error creating object with custom constructor (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
a. If IsConstructor(C) is true, then
i. Let A be Construct(C).
b. Else,
i. Let A be ArrayCreate(0).
c. ReturnIfAbrupt(A).
features: [Symbol.iterator]
--- |
717 |
- |
| iter-cstm-ctor.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Creating object with custom constructor (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
a. If IsConstructor(C) is true, then
i. Let A be Construct(C).
b. Else,
i. Let A be ArrayCreate(0).
c. ReturnIfAbrupt(A).
features: [Symbol.iterator]
--- |
1247 |
- |
| iter-get-iter-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error creating iterator object
info: |
[...]
6. If usingIterator is not undefined, then
[...]
d. Let iterator be GetIterator(items, usingIterator).
e. ReturnIfAbrupt(iterator).
features: [Symbol.iterator]
--- |
587 |
- |
| iter-get-iter-val-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error retrieving value of iterator result
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
v. Let nextValue be IteratorValue(next).
vi. ReturnIfAbrupt(nextValue).
features: [Symbol.iterator]
--- |
801 |
- |
| iter-map-fn-args.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
Arguments of mapping function (traversed via iterator)
info: |
[...]
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
b. If thisArg was supplied, let T be thisArg; else let T be undefined.
c. Let mapping be true
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
2. If mappedValue is an abrupt completion, return
IteratorClose(iterator, mappedValue).
3. Let mappedValue be mappedValue.[[value]].
features: [Symbol.iterator]
--- |
1981 |
- |
| iter-map-fn-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error invoking map function (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
2. If mappedValue is an abrupt completion, return
IteratorClose(iterator, mappedValue).
features: [Symbol.iterator]
--- |
1010 |
- |
| iter-map-fn-return.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Value returned by mapping function (traversed via iterator)
info: |
[...]
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
b. If thisArg was supplied, let T be thisArg; else let T be undefined.
c. Let mapping be true
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
2. If mappedValue is an abrupt completion, return
IteratorClose(iterator, mappedValue).
3. Let mappedValue be mappedValue.[[value]].
features: [Symbol.iterator]
--- |
1769 |
- |
| iter-map-fn-this-arg.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
`this` value of mapping function with custom `this` argument (traversed via iterator)
info: |
[...]
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
b. If thisArg was supplied, let T be thisArg; else let T be undefined.
c. Let mapping be true
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
features: [Symbol.iterator]
--- |
1449 |
- |
| iter-map-fn-this-non-strict.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
`this` value of mapping function in non-strict mode (traversed via iterator)
info: |
[...]
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
b. If thisArg was supplied, let T be thisArg; else let T be undefined.
c. Let mapping be true
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
features: [Symbol.iterator]
flags: [noStrict]
--- |
1475 |
- |
| iter-map-fn-this-strict.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: >
`this` value of mapping function in strict mode (traversed via iterator)
info: |
[...]
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
b. If thisArg was supplied, let T be thisArg; else let T be undefined.
c. Let mapping be true
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
vii. If mapping is true, then
1. Let mappedValue be Call(mapfn, T, «nextValue, k»).
features: [Symbol.iterator]
flags: [onlyStrict]
--- |
1433 |
- |
| iter-set-elem-prop-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error setting property on result value (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
ix. Let defineStatus be CreateDataPropertyOrThrow(A, Pk,
mappedValue).
x. If defineStatus is an abrupt completion, return
IteratorClose(iterator, defineStatus).
features: [Symbol.iterator]
--- |
1126 |
- |
| iter-set-elem-prop.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Setting property on result value (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
ix. Let defineStatus be CreateDataPropertyOrThrow(A, Pk,
mappedValue).
features: [Symbol.iterator]
--- |
1131 |
- |
| iter-set-length-err.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Error setting length of object (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
iv. If next is false, then
1. Let setStatus be Set(A, "length", k, true).
2. ReturnIfAbrupt(setStatus).
features: [Symbol.iterator]
--- |
887 |
- |
| iter-set-length.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Setting length of object (traversed via iterator)
info: |
[...]
6. If usingIterator is not undefined, then
[...]
g. Repeat
[...]
iv. If next is false, then
1. Let setStatus be Set(A, "length", k, true).
2. ReturnIfAbrupt(setStatus).
3. Return A.
features: [Symbol.iterator]
--- |
1055 |
- |
| mapfn-is-not-callable-typeerror.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Throws a TypeError if mapFn is not callable
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
...
--- |
772 |
- |
| mapfn-is-symbol-throws.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Throws a TypeError if mapFn is not callable (Symbol)
info: |
22.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] )
...
2. If mapfn is undefined, let mapping be false.
3. else
a. If IsCallable(mapfn) is false, throw a TypeError exception.
...
features:
- Symbol
--- |
541 |
- |
| mapfn-throws-exception.js |
---
description: mapFn throws an exception
esid: sec-array.from
es6id: 22.1.2.1
--- |
400 |
- |
| proto-from-ctor-realm.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Default [[Prototype]] value derived from realm of the constructor
info: |
[...]
5. If usingIterator is not undefined, then
a. If IsConstructor(C) is true, then
i. Let A be ? Construct(C).
[...]
9.1.14 GetPrototypeFromConstructor
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
[...]
features: [cross-realm]
--- |
928 |
- |
| source-array-boundary.js |
---
description: Source array with boundary values
esid: sec-array.from
es6id: 22.1.2.1
--- |
1177 |
- |
| source-object-constructor.js |
---
description: >
Array.from uses a constructor other than Array.
esid: sec-array.from
es6id: 22.1.2.1
--- |
314 |
- |
| source-object-iterator-1.js |
---
description: Source object has iterator which throws
esid: sec-array.from
es6id: 22.1.2.1
features: [Symbol.iterator]
--- |
673 |
- |
| source-object-iterator-2.js |
---
description: Source object has iterator
esid: sec-array.from
es6id: 22.1.2.1
features: [Symbol.iterator]
--- |
879 |
- |
| source-object-length.js |
---
description: >
Source is an object with length property and one item is deleted
from the source
esid: sec-array.from
es6id: 22.1.2.1
--- |
575 |
- |
| source-object-missing.js |
---
description: Source is an object with missing values
esid: sec-array.from
es6id: 22.1.2.1
--- |
545 |
- |
| source-object-without.js |
---
description: Source is an object without length property
esid: sec-array.from
es6id: 22.1.2.1
--- |
374 |
- |
| this-null.js |
---
esid: sec-array.from
es6id: 22.1.2.1
description: Does not throw if this is null
--- |
378 |
- |