From 2bee5df77a51f057249d25b3b20df19a0982f098 Mon Sep 17 00:00:00 2001 From: Leo Balter <leonardo.balter@gmail.com> Date: Thu, 7 Sep 2017 18:17:05 -0400 Subject: [PATCH] Add missing Symbol.iterator feature flags --- .../Array/from/source-object-iterator-1.js | 1 + .../Array/from/source-object-iterator-2.js | 1 + .../Symbol.toStringTag/value-direct.js | 11 ++++++----- .../value-from-to-string.js | 13 +++++++------ .../next/Float32Array.js | 2 +- .../next/Float64Array.js | 2 +- .../ArrayIteratorPrototype/next/Int16Array.js | 2 +- .../ArrayIteratorPrototype/next/Int32Array.js | 2 +- .../ArrayIteratorPrototype/next/Int8Array.js | 2 +- .../next/Uint16Array.js | 2 +- .../next/Uint32Array.js | 2 +- .../ArrayIteratorPrototype/next/Uint8Array.js | 2 +- .../next/Uint8ClampedArray.js | 2 +- .../args-mapped-expansion-after-exhaustion.js | 1 + ...args-mapped-expansion-before-exhaustion.js | 1 + .../next/args-mapped-iteration.js | 1 + ...rgs-mapped-truncation-before-exhaustion.js | 1 + ...rgs-unmapped-expansion-after-exhaustion.js | 1 + ...gs-unmapped-expansion-before-exhaustion.js | 1 + .../next/args-unmapped-iteration.js | 1 + ...s-unmapped-truncation-before-exhaustion.js | 1 + .../next/iteration-mutable.js | 19 ++++++++++--------- .../ArrayIteratorPrototype/next/iteration.js | 13 +++++++------ .../ArrayIteratorPrototype/next/length.js | 1 + .../ArrayIteratorPrototype/next/name.js | 1 + .../next/non-own-slots.js | 13 +++++++------ .../next/property-descriptor.js | 15 ++++++++------- .../set-iterator-close-after-add-failure.js | 1 + .../Set/set-iterator-next-failure.js | 1 + .../Set/set-iterator-value-failure.js | 1 + .../StringIteratorPrototype/ancestry.js | 1 + .../StringIteratorPrototype/next/name.js | 1 + .../next/next-iteration-surrogate-pairs.js | 1 + .../next/next-iteration.js | 1 + .../next/next-missing-internal-slots.js | 1 + .../Symbol/keyFor/arg-symbol-registry-miss.js | 2 +- .../iterator-close-after-set-failure.js | 1 + .../WeakMap/iterator-next-failure.js | 1 + .../WeakMap/iterator-value-failure.js | 1 + .../iterator-close-after-add-failure.js | 1 + .../WeakSet/iterator-next-failure.js | 1 + .../WeakSet/iterator-value-failure.js | 1 + .../expressions/yield/star-iterable.js | 1 + .../internals/define-own-property.js | 2 +- .../for-of/Array.prototype.Symbol.iterator.js | 11 ++++++----- 45 files changed, 89 insertions(+), 55 deletions(-) diff --git a/test/built-ins/Array/from/source-object-iterator-1.js b/test/built-ins/Array/from/source-object-iterator-1.js index 6c65e005f8..94834b5cf0 100644 --- a/test/built-ins/Array/from/source-object-iterator-1.js +++ b/test/built-ins/Array/from/source-object-iterator-1.js @@ -5,6 +5,7 @@ description: Source object has iterator which throws esid: sec-array.from es6id: 22.1.2.1 +features: [Symbol.iterator] ---*/ var array = [ 2, 4, 8, 16, 32, 64, 128 ]; diff --git a/test/built-ins/Array/from/source-object-iterator-2.js b/test/built-ins/Array/from/source-object-iterator-2.js index 0245c2b5fb..9bcd570537 100644 --- a/test/built-ins/Array/from/source-object-iterator-2.js +++ b/test/built-ins/Array/from/source-object-iterator-2.js @@ -5,6 +5,7 @@ description: Source object has iterator esid: sec-array.from es6id: 22.1.2.1 +features: [Symbol.iterator] ---*/ var array = [ 2, 4, 8, 16, 32, 64, 128 ]; diff --git a/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-direct.js b/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-direct.js index f882774426..a95cdce444 100644 --- a/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-direct.js +++ b/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-direct.js @@ -2,11 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - esid: sec-%arrayiteratorprototype%-@@tostringtag - description: > - The @@toStringTag attribute should be defined directly on the prototype. - es6id: 22.1.5.2.2 - ---*/ +esid: sec-%arrayiteratorprototype%-@@tostringtag +description: > + The @@toStringTag attribute should be defined directly on the prototype. +es6id: 22.1.5.2.2 +features: [Symbol.iterator] +---*/ var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]()); diff --git a/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-from-to-string.js b/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-from-to-string.js index a0d8f3a9ee..8a47db9fb0 100644 --- a/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-from-to-string.js +++ b/test/built-ins/ArrayIteratorPrototype/Symbol.toStringTag/value-from-to-string.js @@ -2,12 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - esid: sec-%arrayiteratorprototype%-@@tostringtag - description: > - `Object.prototype.toString` should honor the value of the @@toStringTag - attribute. - es6id: 22.1.5.2.2 - ---*/ +esid: sec-%arrayiteratorprototype%-@@tostringtag +description: > + `Object.prototype.toString` should honor the value of the @@toStringTag + attribute. +es6id: 22.1.5.2.2 +features: [Symbol.iterator] +---*/ var iter = [][Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Float32Array.js b/test/built-ins/ArrayIteratorPrototype/next/Float32Array.js index 584d140ca1..6984e24762 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Float32Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Float32Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Float32Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Float64Array.js b/test/built-ins/ArrayIteratorPrototype/next/Float64Array.js index 4d50d88629..f0173a349f 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Float64Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Float64Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Float64Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Int16Array.js b/test/built-ins/ArrayIteratorPrototype/next/Int16Array.js index 554c55aa0e..c0008b5ab1 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Int16Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Int16Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Int16Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Int32Array.js b/test/built-ins/ArrayIteratorPrototype/next/Int32Array.js index e992bbe2ca..f8a1d4b379 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Int32Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Int32Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Int32Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Int8Array.js b/test/built-ins/ArrayIteratorPrototype/next/Int8Array.js index fdfb8caccf..d22477e142 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Int8Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Int8Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Int8Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Uint16Array.js b/test/built-ins/ArrayIteratorPrototype/next/Uint16Array.js index 355f890430..ca9baa84d9 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Uint16Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Uint16Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Uint16Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Uint32Array.js b/test/built-ins/ArrayIteratorPrototype/next/Uint32Array.js index c8ef5fb211..28801acb48 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Uint32Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Uint32Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Uint32Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Uint8Array.js b/test/built-ins/ArrayIteratorPrototype/next/Uint8Array.js index 698d032e18..dfb5128c82 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Uint8Array.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Uint8Array.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Uint8Array([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/Uint8ClampedArray.js b/test/built-ins/ArrayIteratorPrototype/next/Uint8ClampedArray.js index 7f8b8d9648..f8098597d9 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/Uint8ClampedArray.js +++ b/test/built-ins/ArrayIteratorPrototype/next/Uint8ClampedArray.js @@ -6,7 +6,7 @@ esid: sec-%arrayiteratorprototype%.next description: > Visits each element of the array in order and ceases iteration once all values have been visited. -features: [TypedArray] +features: [Symbol.iterator, TypedArray] ---*/ var array = new Uint8ClampedArray([3, 1, 2]); var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-after-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-after-exhaustion.js index 5d2b000a77..93ad4d39bc 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-after-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-after-exhaustion.js @@ -7,6 +7,7 @@ description: > Once exhausted, iterators for mapped arguments exotic objects should not emit new values added to the object. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-before-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-before-exhaustion.js index 6919e1b745..b87cde4d33 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-before-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-expansion-before-exhaustion.js @@ -7,6 +7,7 @@ description: > Prior to being exhausted, iterators for mapped arguments exotic objects should honor the insertion of additional argument values. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-iteration.js b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-iteration.js index 36ef786a36..ed94d03360 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-iteration.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-iteration.js @@ -7,6 +7,7 @@ description: > Mapped arguments exotic objects should implement the Array iterator protocol. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-truncation-before-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-truncation-before-exhaustion.js index 91cd87a09a..6af6427a15 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-mapped-truncation-before-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-mapped-truncation-before-exhaustion.js @@ -7,6 +7,7 @@ description: > Prior to being exhausted, iterators for mapped arguments exotic objects should honor argument removal. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-after-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-after-exhaustion.js index f1fdbec5d9..1424c2a198 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-after-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-after-exhaustion.js @@ -7,6 +7,7 @@ description: > Once exhausted, iterators for unmapped arguments exotic objects should not emit new values added to the object. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-before-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-before-exhaustion.js index d7ad14a815..47ab198f80 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-before-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-expansion-before-exhaustion.js @@ -7,6 +7,7 @@ description: > Prior to being exhausted, iterators for unmapped arguments exotic objects should honor the insertion of additional argument values. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-iteration.js b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-iteration.js index 180d631830..6796859cf8 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-iteration.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-iteration.js @@ -7,6 +7,7 @@ description: > Unmapped arguments exotic objects should implement the Array iterator protocol. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-truncation-before-exhaustion.js b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-truncation-before-exhaustion.js index f733f7c696..f156b6b2c6 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-truncation-before-exhaustion.js +++ b/test/built-ins/ArrayIteratorPrototype/next/args-unmapped-truncation-before-exhaustion.js @@ -7,6 +7,7 @@ description: > Prior to being exhausted, iterators for unmapped arguments exotic objects should honor argument removal. flags: [noStrict] +features: [Symbol.iterator] ---*/ (function(a, b, c) { diff --git a/test/built-ins/ArrayIteratorPrototype/next/iteration-mutable.js b/test/built-ins/ArrayIteratorPrototype/next/iteration-mutable.js index 373bfa30d5..b133783133 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/iteration-mutable.js +++ b/test/built-ins/ArrayIteratorPrototype/next/iteration-mutable.js @@ -2,15 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - esid: sec-%arrayiteratorprototype%.next - description: > - When an item is added to the array after the iterator is created but - before the iterator is "done" (as defined by 22.1.5.2.1), the new item - should be accessible via iteration. When an item is added to the array - after the iterator is "done", the new item should not be accessible via - iteration. - es6id: 22.1.3.30 - ---*/ +esid: sec-%arrayiteratorprototype%.next +description: > + When an item is added to the array after the iterator is created but + before the iterator is "done" (as defined by 22.1.5.2.1), the new item + should be accessible via iteration. When an item is added to the array + after the iterator is "done", the new item should not be accessible via + iteration. +es6id: 22.1.3.30 +features: [Symbol.iterator] +---*/ var array = []; var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/iteration.js b/test/built-ins/ArrayIteratorPrototype/next/iteration.js index b2f908653d..f189ad0a40 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/iteration.js +++ b/test/built-ins/ArrayIteratorPrototype/next/iteration.js @@ -2,12 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - esid: sec-%arrayiteratorprototype%.next - description: > - The method should return a valid iterator with the context as the - IteratedObject. - es6id: 22.1.3.30 - ---*/ +esid: sec-%arrayiteratorprototype%.next +description: > + The method should return a valid iterator with the context as the + IteratedObject. +es6id: 22.1.3.30 +features: [Symbol.iterator] +---*/ var array = ['a', 'b', 'c']; var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/length.js b/test/built-ins/ArrayIteratorPrototype/next/length.js index e7c2ffde4e..b95a4aa4fd 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/length.js +++ b/test/built-ins/ArrayIteratorPrototype/next/length.js @@ -21,6 +21,7 @@ info: > object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol.iterator] ---*/ var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]()); diff --git a/test/built-ins/ArrayIteratorPrototype/next/name.js b/test/built-ins/ArrayIteratorPrototype/next/name.js index b94ec6eda1..d7b4c7b65b 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/name.js +++ b/test/built-ins/ArrayIteratorPrototype/next/name.js @@ -18,6 +18,7 @@ info: > object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol.iterator] ---*/ var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]()); diff --git a/test/built-ins/ArrayIteratorPrototype/next/non-own-slots.js b/test/built-ins/ArrayIteratorPrototype/next/non-own-slots.js index c232327f91..0327dc1b6e 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/non-own-slots.js +++ b/test/built-ins/ArrayIteratorPrototype/next/non-own-slots.js @@ -2,12 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - description: > - If the `this` value does not have all of the internal slots of an Array - Iterator Instance (22.1.5.3), throw a TypeError exception. - es6id: 22.1.5.2.1 - esid: sec-%arrayiteratorprototype%.next - ---*/ +description: > + If the `this` value does not have all of the internal slots of an Array + Iterator Instance (22.1.5.3), throw a TypeError exception. +es6id: 22.1.5.2.1 +esid: sec-%arrayiteratorprototype%.next +features: [Symbol.iterator] +---*/ var array = [0]; var iterator = array[Symbol.iterator](); diff --git a/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js b/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js index 808b2fea03..aeadb7ddda 100644 --- a/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js +++ b/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - esid: sec-%arrayiteratorprototype%.next - description: > - The method should exist on the ArrayIterator prototype, and it should be - writable and configurable, but not enumerable. - includes: [propertyHelper.js] - es6id: 17 - ---*/ +esid: sec-%arrayiteratorprototype%.next +description: > + The method should exist on the ArrayIterator prototype, and it should be + writable and configurable, but not enumerable. +includes: [propertyHelper.js] +es6id: 17 +features: [Symbol.iterator] +---*/ var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]()); diff --git a/test/built-ins/Set/set-iterator-close-after-add-failure.js b/test/built-ins/Set/set-iterator-close-after-add-failure.js index 260327e08b..fa2c30b9db 100644 --- a/test/built-ins/Set/set-iterator-close-after-add-failure.js +++ b/test/built-ins/Set/set-iterator-close-after-add-failure.js @@ -17,6 +17,7 @@ description: > f. Let status be Call(adder, set, «nextValue.[[value]]»). g. If status is an abrupt completion, return IteratorClose(iter, status). +features: [Symbol.iterator] ---*/ var count = 0; diff --git a/test/built-ins/Set/set-iterator-next-failure.js b/test/built-ins/Set/set-iterator-next-failure.js index 8cc0ad975a..9879baf9bf 100644 --- a/test/built-ins/Set/set-iterator-next-failure.js +++ b/test/built-ins/Set/set-iterator-next-failure.js @@ -11,6 +11,7 @@ description: > 9. Repeat a. Let next be IteratorStep(iter). b. ReturnIfAbrupt(next). +features: [Symbol.iterator] ---*/ var iterable = {}; diff --git a/test/built-ins/Set/set-iterator-value-failure.js b/test/built-ins/Set/set-iterator-value-failure.js index 7a54716e53..04e943a419 100644 --- a/test/built-ins/Set/set-iterator-value-failure.js +++ b/test/built-ins/Set/set-iterator-value-failure.js @@ -12,6 +12,7 @@ description: > ... d. Let nextValue be IteratorValue(next). e. ReturnIfAbrupt(nextValue). +features: [Symbol.iterator] ---*/ var count = 0; diff --git a/test/built-ins/StringIteratorPrototype/ancestry.js b/test/built-ins/StringIteratorPrototype/ancestry.js index 4d81cc20f6..aee0009956 100644 --- a/test/built-ins/StringIteratorPrototype/ancestry.js +++ b/test/built-ins/StringIteratorPrototype/ancestry.js @@ -5,6 +5,7 @@ es6id: 21.1.5.2 description: > The [[Prototype]] internal slot ofthe %StringIteratorPrototype% is the %IteratorPrototype% intrinsic object (25.1.2). +features: [Symbol.iterator] ---*/ var strItrProto = Object.getPrototypeOf(''[Symbol.iterator]()); diff --git a/test/built-ins/StringIteratorPrototype/next/name.js b/test/built-ins/StringIteratorPrototype/next/name.js index a0a9aae758..adae55e078 100644 --- a/test/built-ins/StringIteratorPrototype/next/name.js +++ b/test/built-ins/StringIteratorPrototype/next/name.js @@ -17,6 +17,7 @@ info: > object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol.iterator] ---*/ var StringIteratorProto = Object.getPrototypeOf(new String()[Symbol.iterator]()); diff --git a/test/built-ins/StringIteratorPrototype/next/next-iteration-surrogate-pairs.js b/test/built-ins/StringIteratorPrototype/next/next-iteration-surrogate-pairs.js index c2b5d2d1be..c57621e139 100644 --- a/test/built-ins/StringIteratorPrototype/next/next-iteration-surrogate-pairs.js +++ b/test/built-ins/StringIteratorPrototype/next/next-iteration-surrogate-pairs.js @@ -5,6 +5,7 @@ es6id: 21.1.5.2.1 description: > Iteration should respect UTF-16-encoded Unicode code points specified via surrogate pairs. +features: [Symbol.iterator] ---*/ var lo = '\uD834'; diff --git a/test/built-ins/StringIteratorPrototype/next/next-iteration.js b/test/built-ins/StringIteratorPrototype/next/next-iteration.js index 1b3fc081fd..f43cd3f710 100644 --- a/test/built-ins/StringIteratorPrototype/next/next-iteration.js +++ b/test/built-ins/StringIteratorPrototype/next/next-iteration.js @@ -4,6 +4,7 @@ es6id: 21.1.5.2.1 description: > Iteration should visit each UTF-8 code point exactly once. +features: [Symbol.iterator] ---*/ var string = "abc"; diff --git a/test/built-ins/StringIteratorPrototype/next/next-missing-internal-slots.js b/test/built-ins/StringIteratorPrototype/next/next-missing-internal-slots.js index 08c795a0fb..4eb96687be 100644 --- a/test/built-ins/StringIteratorPrototype/next/next-missing-internal-slots.js +++ b/test/built-ins/StringIteratorPrototype/next/next-missing-internal-slots.js @@ -5,6 +5,7 @@ es6id: 21.1.5.2.1 S 3 description: > If the `this` value does not have all of the internal slots of an String Iterator Instance (21.1.5.3), throw a `TypeError` exception. +features: [Symbol.iterator] ---*/ var iterator = ''[Symbol.iterator](); diff --git a/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js b/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js index 2f70c632a8..920e2e423c 100644 --- a/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js +++ b/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js @@ -12,7 +12,7 @@ info: > 3. Assert: GlobalSymbolRegistry does not currently contain an entry for sym. 4. Return undefined. -features: [Symbol] +features: [Symbol.iterator, Symbol] ---*/ var constructed = Symbol('Symbol.iterator'); diff --git a/test/built-ins/WeakMap/iterator-close-after-set-failure.js b/test/built-ins/WeakMap/iterator-close-after-set-failure.js index 2624cf1c06..1fd3af4506 100644 --- a/test/built-ins/WeakMap/iterator-close-after-set-failure.js +++ b/test/built-ins/WeakMap/iterator-close-after-set-failure.js @@ -12,6 +12,7 @@ info: > 9. Repeat k. Let status be Call(adder, map, «k.[[value]], v.[[value]]»). l. If status is an abrupt completion, return IteratorClose(iter, status). +features: [Symbol.iterator] ---*/ var count = 0; diff --git a/test/built-ins/WeakMap/iterator-next-failure.js b/test/built-ins/WeakMap/iterator-next-failure.js index ef0be06876..3a88a4a7a1 100644 --- a/test/built-ins/WeakMap/iterator-next-failure.js +++ b/test/built-ins/WeakMap/iterator-next-failure.js @@ -13,6 +13,7 @@ info: > a. Let next be IteratorStep(iter). b. ReturnIfAbrupt(next). ... +features: [Symbol.iterator] ---*/ var iterable = {}; diff --git a/test/built-ins/WeakMap/iterator-value-failure.js b/test/built-ins/WeakMap/iterator-value-failure.js index eaad1004c5..2af5efcf71 100644 --- a/test/built-ins/WeakMap/iterator-value-failure.js +++ b/test/built-ins/WeakMap/iterator-value-failure.js @@ -14,6 +14,7 @@ info: > d. Let nextItem be IteratorValue(next). e. ReturnIfAbrupt(nextItem). ... +features: [Symbol.iterator] ---*/ var iterable = {}; diff --git a/test/built-ins/WeakSet/iterator-close-after-add-failure.js b/test/built-ins/WeakSet/iterator-close-after-add-failure.js index fcd9619438..cb7e1e2082 100644 --- a/test/built-ins/WeakSet/iterator-close-after-add-failure.js +++ b/test/built-ins/WeakSet/iterator-close-after-add-failure.js @@ -12,6 +12,7 @@ info: > 9. Repeat f. Let status be Call(adder, set, «nextValue»). g. If status is an abrupt completion, return IteratorClose(iter, status). +features: [Symbol.iterator] ---*/ var count = 0; diff --git a/test/built-ins/WeakSet/iterator-next-failure.js b/test/built-ins/WeakSet/iterator-next-failure.js index 83ec0b2ada..020dc25f4b 100644 --- a/test/built-ins/WeakSet/iterator-next-failure.js +++ b/test/built-ins/WeakSet/iterator-next-failure.js @@ -13,6 +13,7 @@ info: > a. Let next be IteratorStep(iter). b. ReturnIfAbrupt(next). ... +features: [Symbol.iterator] ---*/ var iterable = {}; diff --git a/test/built-ins/WeakSet/iterator-value-failure.js b/test/built-ins/WeakSet/iterator-value-failure.js index 8e692feff1..4cdf446c49 100644 --- a/test/built-ins/WeakSet/iterator-value-failure.js +++ b/test/built-ins/WeakSet/iterator-value-failure.js @@ -13,6 +13,7 @@ info: > ... d. Let nextValue be IteratorValue(next). e. ReturnIfAbrupt(nextValue). +features: [Symbol.iterator] ---*/ var count = 0; diff --git a/test/language/expressions/yield/star-iterable.js b/test/language/expressions/yield/star-iterable.js index e961c2ca7e..668fc28bf5 100644 --- a/test/language/expressions/yield/star-iterable.js +++ b/test/language/expressions/yield/star-iterable.js @@ -5,6 +5,7 @@ es6id: 25.2 description: > When an iterator is the operand of a `yield *` expression, the generator should produce an iterator that visits each iterated item. +features: [Symbol.iterator] ---*/ var results = [{ value: 1 }, { value: 8 }, { value: 34, done: true }]; diff --git a/test/language/module-code/namespace/internals/define-own-property.js b/test/language/module-code/namespace/internals/define-own-property.js index 4607100f26..23a22c2f26 100644 --- a/test/language/module-code/namespace/internals/define-own-property.js +++ b/test/language/module-code/namespace/internals/define-own-property.js @@ -6,7 +6,7 @@ description: > The [[DefineOwnProperty]] internal method returns `true` if no change is requested, and `false` otherwise. flags: [module] -features: [Reflect, Symbol, Symbol.toStringTag] +features: [Symbol.iterator, Reflect, Symbol, Symbol.toStringTag] ---*/ import * as ns from './define-own-property.js'; diff --git a/test/language/statements/for-of/Array.prototype.Symbol.iterator.js b/test/language/statements/for-of/Array.prototype.Symbol.iterator.js index 9667acac6c..98ccbe9bd4 100644 --- a/test/language/statements/for-of/Array.prototype.Symbol.iterator.js +++ b/test/language/statements/for-of/Array.prototype.Symbol.iterator.js @@ -2,11 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- - description: > - The method should return a valid iterator that can be traversed using a - `for...of` loop. - es6id: 22.1.3.30 - ---*/ +description: > + The method should return a valid iterator that can be traversed using a + `for...of` loop. +es6id: 22.1.3.30 +features: [Symbol.iterator] +---*/ var array = [0, 'a', true, false, null, /* hole */, undefined, NaN]; var i = 0; -- GitLab