diff --git a/test/built-ins/Symbol/for/cross-realm.js b/test/built-ins/Symbol/for/cross-realm.js index 589f837b41..9b8dbec9dc 100644 --- a/test/built-ins/Symbol/for/cross-realm.js +++ b/test/built-ins/Symbol/for/cross-realm.js @@ -8,6 +8,7 @@ info: > The GlobalSymbolRegistry is a List that is globally available. It is shared by all realms. Prior to the evaluation of any ECMAScript code it is initialized as a new empty List. +features: [Symbol] ---*/ var OSymbol = $262.createRealm().global.Symbol; diff --git a/test/built-ins/Symbol/for/length.js b/test/built-ins/Symbol/for/length.js index 488209b40b..5251cd8f15 100644 --- a/test/built-ins/Symbol/for/length.js +++ b/test/built-ins/Symbol/for/length.js @@ -20,6 +20,7 @@ info: > object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.for.length, 1); diff --git a/test/built-ins/Symbol/for/name.js b/test/built-ins/Symbol/for/name.js index 03f03b871c..7db76015cf 100644 --- a/test/built-ins/Symbol/for/name.js +++ b/test/built-ins/Symbol/for/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] ---*/ assert.sameValue(Symbol.for.name, "for"); diff --git a/test/built-ins/Symbol/for/prop-desc.js b/test/built-ins/Symbol/for/prop-desc.js index 3d61eef4d7..66735eab97 100644 --- a/test/built-ins/Symbol/for/prop-desc.js +++ b/test/built-ins/Symbol/for/prop-desc.js @@ -9,6 +9,7 @@ info: > B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(typeof Symbol.for, 'function'); diff --git a/test/built-ins/Symbol/for/retrieve-value.js b/test/built-ins/Symbol/for/retrieve-value.js index 0bb28ca9f9..b96681f2b1 100644 --- a/test/built-ins/Symbol/for/retrieve-value.js +++ b/test/built-ins/Symbol/for/retrieve-value.js @@ -15,6 +15,7 @@ info: > 5. Append the Record { [[Key]]: stringKey, [[Symbol]]: newSymbol } to the GlobalSymbolRegistry List. 6. Return newSymbol. +features: [Symbol] ---*/ var canonical = Symbol.for('s'); diff --git a/test/built-ins/Symbol/keyFor/arg-symbol-registry-hit.js b/test/built-ins/Symbol/keyFor/arg-symbol-registry-hit.js index cd20e0a368..e25af1bf59 100644 --- a/test/built-ins/Symbol/keyFor/arg-symbol-registry-hit.js +++ b/test/built-ins/Symbol/keyFor/arg-symbol-registry-hit.js @@ -8,6 +8,7 @@ info: > 1. If Type(sym) is not Symbol, throw a TypeError exception. 2. For each element e of the GlobalSymbolRegistry List (see 19.4.2.1), a. If SameValue(e.[[Symbol]], sym) is true, return e.[[Key]]. +features: [Symbol] ---*/ var canonical = Symbol.for('s'); diff --git a/test/built-ins/Symbol/keyFor/cross-realm.js b/test/built-ins/Symbol/keyFor/cross-realm.js index 83d63a2a3b..d700b28eac 100644 --- a/test/built-ins/Symbol/keyFor/cross-realm.js +++ b/test/built-ins/Symbol/keyFor/cross-realm.js @@ -8,6 +8,7 @@ info: > The GlobalSymbolRegistry is a List that is globally available. It is shared by all realms. Prior to the evaluation of any ECMAScript code it is initialized as a new empty List. +features: [Symbol] ---*/ var OSymbol = $262.createRealm().global.Symbol; diff --git a/test/built-ins/Symbol/keyFor/length.js b/test/built-ins/Symbol/keyFor/length.js index b16ed56d74..f43bd847a1 100644 --- a/test/built-ins/Symbol/keyFor/length.js +++ b/test/built-ins/Symbol/keyFor/length.js @@ -20,6 +20,7 @@ info: > object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.keyFor.length, 1); diff --git a/test/built-ins/Symbol/keyFor/name.js b/test/built-ins/Symbol/keyFor/name.js index 303622243f..284d771921 100644 --- a/test/built-ins/Symbol/keyFor/name.js +++ b/test/built-ins/Symbol/keyFor/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] ---*/ assert.sameValue(Symbol.keyFor.name, "keyFor"); diff --git a/test/built-ins/Symbol/keyFor/prop-desc.js b/test/built-ins/Symbol/keyFor/prop-desc.js index c6b01bcc39..d8dd23eb67 100644 --- a/test/built-ins/Symbol/keyFor/prop-desc.js +++ b/test/built-ins/Symbol/keyFor/prop-desc.js @@ -9,6 +9,7 @@ info: > B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(typeof Symbol.keyFor, 'function'); diff --git a/test/built-ins/Symbol/length.js b/test/built-ins/Symbol/length.js index 7c9db31cd8..cf37ad8595 100644 --- a/test/built-ins/Symbol/length.js +++ b/test/built-ins/Symbol/length.js @@ -9,6 +9,7 @@ description: > Besides the length property (whose value is 0) includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.length, 0, "The value of `Symbol.length` is `0`"); diff --git a/test/built-ins/Symbol/name.js b/test/built-ins/Symbol/name.js index d10a4ec0d8..2ef83010aa 100644 --- a/test/built-ins/Symbol/name.js +++ b/test/built-ins/Symbol/name.js @@ -7,6 +7,7 @@ description: > Symbol ( [ description ] ) includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.name, "Symbol", "The value of `Symbol.name` is `'Symbol'`"); diff --git a/test/built-ins/Symbol/prototype/constructor.js b/test/built-ins/Symbol/prototype/constructor.js index 7b8b7f3e4a..2ddc7e44f9 100644 --- a/test/built-ins/Symbol/prototype/constructor.js +++ b/test/built-ins/Symbol/prototype/constructor.js @@ -9,6 +9,7 @@ info: > B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.prototype.constructor, Symbol); diff --git a/test/built-ins/Symbol/prototype/toString/length.js b/test/built-ins/Symbol/prototype/toString/length.js index 6346aaa7ee..f6c2547aa0 100644 --- a/test/built-ins/Symbol/prototype/toString/length.js +++ b/test/built-ins/Symbol/prototype/toString/length.js @@ -20,6 +20,7 @@ info: > object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.prototype.toString.length, 0); diff --git a/test/built-ins/Symbol/prototype/toString/name.js b/test/built-ins/Symbol/prototype/toString/name.js index 5876c30982..cf9e086dd1 100644 --- a/test/built-ins/Symbol/prototype/toString/name.js +++ b/test/built-ins/Symbol/prototype/toString/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] ---*/ assert.sameValue(Symbol.prototype.toString.name, "toString"); diff --git a/test/built-ins/Symbol/prototype/toString/prop-desc.js b/test/built-ins/Symbol/prototype/toString/prop-desc.js index ad50fc0eb1..aec2256062 100644 --- a/test/built-ins/Symbol/prototype/toString/prop-desc.js +++ b/test/built-ins/Symbol/prototype/toString/prop-desc.js @@ -9,6 +9,7 @@ info: > B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(typeof Symbol.prototype.toString, 'function'); diff --git a/test/built-ins/Symbol/prototype/valueOf/length.js b/test/built-ins/Symbol/prototype/valueOf/length.js index 0b77cc8169..2b2c67c2a0 100644 --- a/test/built-ins/Symbol/prototype/valueOf/length.js +++ b/test/built-ins/Symbol/prototype/valueOf/length.js @@ -20,6 +20,7 @@ info: > object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(Symbol.prototype.valueOf.length, 0); diff --git a/test/built-ins/Symbol/prototype/valueOf/name.js b/test/built-ins/Symbol/prototype/valueOf/name.js index 856448462e..3f8d0a4bbd 100644 --- a/test/built-ins/Symbol/prototype/valueOf/name.js +++ b/test/built-ins/Symbol/prototype/valueOf/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] ---*/ assert.sameValue(Symbol.prototype.valueOf.name, "valueOf"); diff --git a/test/built-ins/Symbol/prototype/valueOf/prop-desc.js b/test/built-ins/Symbol/prototype/valueOf/prop-desc.js index 32ba32fbf7..e4b1e065b0 100644 --- a/test/built-ins/Symbol/prototype/valueOf/prop-desc.js +++ b/test/built-ins/Symbol/prototype/valueOf/prop-desc.js @@ -9,6 +9,7 @@ info: > B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] +features: [Symbol] ---*/ assert.sameValue(typeof Symbol.prototype.valueOf, 'function'); diff --git a/test/built-ins/Symbol/prototype/valueOf/this-val-non-obj.js b/test/built-ins/Symbol/prototype/valueOf/this-val-non-obj.js index 39a053aed8..6e34b1b127 100644 --- a/test/built-ins/Symbol/prototype/valueOf/this-val-non-obj.js +++ b/test/built-ins/Symbol/prototype/valueOf/this-val-non-obj.js @@ -8,6 +8,7 @@ info: | 1. Let s be the this value. 2. If Type(s) is Symbol, return s. 3. If Type(s) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ var valueOf = Symbol.prototype.valueOf; diff --git a/test/built-ins/Symbol/prototype/valueOf/this-val-obj-non-symbol.js b/test/built-ins/Symbol/prototype/valueOf/this-val-obj-non-symbol.js index e8ffe3bdfd..0719734232 100644 --- a/test/built-ins/Symbol/prototype/valueOf/this-val-obj-non-symbol.js +++ b/test/built-ins/Symbol/prototype/valueOf/this-val-obj-non-symbol.js @@ -9,6 +9,7 @@ info: | 2. If Type(s) is Symbol, return s. 3. If Type(s) is not Object, throw a TypeError exception. 4. If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. +features: [Symbol] ---*/ var valueOf = Symbol.prototype.valueOf; diff --git a/test/built-ins/Symbol/symbol.js b/test/built-ins/Symbol/symbol.js index 6072328c12..3360e0e260 100644 --- a/test/built-ins/Symbol/symbol.js +++ b/test/built-ins/Symbol/symbol.js @@ -8,6 +8,7 @@ description: > value of the Symbol property of the global object. includes: [propertyHelper.js] +features: [Symbol] ---*/ verifyNotEnumerable(this, "Symbol"); diff --git a/test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js b/test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js index 202079b2f3..bdb4a2dc3b 100644 --- a/test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js +++ b/test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js @@ -15,6 +15,7 @@ info: > ... 1. If NewTarget is not undefined, throw a TypeError exception. +features: [Symbol] ---*/ class S1 extends Symbol {} diff --git a/test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js b/test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js index d565efdcb4..2c38299b7f 100644 --- a/test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js +++ b/test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js @@ -11,6 +11,7 @@ info: > be subclassed. It may be used as the value of an extends clause of a class definition but a super call to the Symbol constructor will cause an exception. ... +features: [Symbol] ---*/ class S extends Symbol {}