From c41faf1acafa7b5466a8492203aaff93bec58074 Mon Sep 17 00:00:00 2001 From: Leo Balter <leonardo.balter@gmail.com> Date: Thu, 7 Sep 2017 15:06:13 -0400 Subject: [PATCH] Add missing Symbol features flags --- src/async-generators/yield-identifier-spread-non-strict.case | 2 +- src/dstr-assignment-for-await/obj-rest-symbol-val.case | 2 +- src/dstr-assignment/array-empty-val-symbol.case | 1 + src/dstr-assignment/obj-rest-symbol-val.case | 2 +- src/generators/yield-identifier-spread-non-strict.case | 2 +- src/spread/obj-spread-order.case | 2 +- src/spread/obj-symbol-property.case | 2 +- src/spread/obj-with-overrides.case | 2 +- .../Array/prototype/sort/comparefn-nonfunction-call-throws.js | 1 + .../prototype/slice/species-constructor-is-not-object.js | 1 + test/built-ins/Boolean/symbol-coercion.js | 1 + .../return-abrupt-from-tonumber-byteoffset-symbol-sab.js | 2 +- .../DataView/prototype/getInt32/to-boolean-littleendian-sab.js | 2 +- .../DataView/return-abrupt-tonumber-bytelength-symbol-sab.js | 2 +- .../DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js | 2 +- .../Function/prototype/bind/instance-name-non-string.js | 1 + test/built-ins/Map/prototype/size/this-not-object-throw.js | 1 + test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js | 1 + test/built-ins/Object/assign/Target-Symbol.js | 1 + .../Object/defineProperty/symbol-data-property-configurable.js | 1 + .../defineProperty/symbol-data-property-default-non-strict.js | 1 + .../defineProperty/symbol-data-property-default-strict.js | 1 + .../Object/defineProperty/symbol-data-property-writable.js | 1 + .../frozen-object-contains-symbol-properties-non-strict.js | 1 + .../freeze/frozen-object-contains-symbol-properties-strict.js | 1 + .../object-contains-symbol-property-with-description.js | 1 + .../object-contains-symbol-property-without-description.js | 1 + test/built-ins/Object/is/not-same-value-x-y-symbol.js | 1 + test/built-ins/Object/is/same-value-x-y-symbol.js | 1 + test/built-ins/Object/is/symbol-object-is-same-value.js | 1 + test/built-ins/Object/keys/proxy-keys.js | 1 + .../symbol-object-contains-symbol-properties-non-strict.js | 1 + .../symbol-object-contains-symbol-properties-strict.js | 1 + .../Object/prototype/hasOwnProperty/symbol_own_property.js | 1 + .../Object/prototype/hasOwnProperty/symbol_property_toString.js | 1 + .../Object/prototype/hasOwnProperty/symbol_property_valueOf.js | 1 + .../prototype/propertyIsEnumerable/symbol_own_property.js | 1 + .../prototype/propertyIsEnumerable/symbol_property_toString.js | 1 + .../prototype/propertyIsEnumerable/symbol_property_valueOf.js | 1 + .../seal/symbol-object-contains-symbol-properties-non-strict.js | 1 + .../seal/symbol-object-contains-symbol-properties-strict.js | 1 + test/built-ins/Object/symbol_object-returns-fresh-symbol.js | 1 + .../Proxy/ownKeys/return-duplicate-symbol-entries-throws.js | 1 + .../built-ins/Set/prototype/add/this-not-object-throw-symbol.js | 1 + .../Set/prototype/clear/this-not-object-throw-symbol.js | 1 + .../Set/prototype/delete/this-not-object-throw-symbol.js | 1 + .../Set/prototype/entries/this-not-object-throw-symbol.js | 1 + .../Set/prototype/forEach/callback-not-callable-symbol.js | 1 + .../Set/prototype/forEach/this-not-object-throw-symbol.js | 1 + .../has/returns-false-when-value-not-present-symbol.js | 1 + .../Set/prototype/has/returns-true-when-value-present-symbol.js | 1 + .../built-ins/Set/prototype/has/this-not-object-throw-symbol.js | 1 + .../size/returns-count-of-present-values-by-insertion.js | 1 + .../size/returns-count-of-present-values-by-iterable.js | 1 + .../Set/prototype/values/this-not-object-throw-symbol.js | 1 + test/built-ins/Set/symbol-as-entry.js | 2 +- .../SharedArrayBuffer/newtarget-prototype-is-not-object.js | 2 +- .../prototype/byteLength/this-is-not-object.js | 1 + .../SharedArrayBuffer/prototype/slice/context-is-not-object.js | 1 + .../prototype/slice/species-constructor-is-not-object.js | 1 + test/built-ins/Symbol/auto-boxing-non-strict.js | 1 + test/built-ins/Symbol/auto-boxing-strict.js | 1 + test/built-ins/Symbol/constructor.js | 1 + test/built-ins/Symbol/desc-to-string-symbol.js | 1 + test/built-ins/Symbol/desc-to-string.js | 1 + test/built-ins/Symbol/for/create-value.js | 1 + test/built-ins/Symbol/for/to-string-err.js | 1 + test/built-ins/Symbol/invoked-with-new.js | 1 + test/built-ins/Symbol/keyFor/arg-non-symbol.js | 1 + test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js | 1 + test/built-ins/Symbol/prototype/intrinsic.js | 1 + .../toString/toString-default-attributes-non-strict.js | 1 + .../prototype/toString/toString-default-attributes-strict.js | 1 + test/built-ins/Symbol/prototype/toString/toString.js | 1 + test/built-ins/Symbol/prototype/toString/undefined.js | 1 + test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js | 1 + test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js | 1 + test/built-ins/Symbol/uniqueness.js | 1 + .../TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js | 2 +- .../TypedArrays/buffer-arg-length-is-symbol-throws-sab.js | 2 +- .../prototype/get/returns-undefined-key-is-not-object.js | 1 + .../WeakSet/prototype/delete/this-not-object-throw-symbol.js | 1 + test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js | 2 +- test/harness/verifyProperty-desc-is-not-object.js | 1 + test/harness/verifyProperty-restore-accessor-symbol.js | 1 + test/harness/verifyProperty-restore-symbol.js | 1 + test/harness/verifyProperty-symbol-prop.js | 1 + test/language/computed-property-names/basics/symbol.js | 1 + test/language/computed-property-names/class/method/symbol.js | 1 + .../computed-property-names/class/static/method-symbol.js | 1 + test/language/computed-property-names/object/method/symbol.js | 1 + .../expressions/conditional/symbol-conditional-evaluation.js | 1 + .../expressions/equals/symbol-abstract-equality-comparison.js | 1 + .../expressions/equals/symbol-strict-equality-comparison.js | 1 + .../expressions/logical-and/symbol-logical-and-evaluation.js | 1 + .../expressions/logical-not/symbol-logical-not-evaluation.js | 1 + .../expressions/logical-or/symbol-logical-or-evaluation.js | 1 + test/language/expressions/object/computed-__proto__.js | 1 + test/language/expressions/typeof/symbol.js | 1 + .../class/subclass/derived-class-return-override-with-symbol.js | 1 + 100 files changed, 100 insertions(+), 16 deletions(-) diff --git a/src/async-generators/yield-identifier-spread-non-strict.case b/src/async-generators/yield-identifier-spread-non-strict.case index 0db9d527df..73ba0d813b 100644 --- a/src/async-generators/yield-identifier-spread-non-strict.case +++ b/src/async-generators/yield-identifier-spread-non-strict.case @@ -12,7 +12,7 @@ info: | PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] -features: [object-spread] +features: [object-spread, Symbol] flags: [noStrict, async] ---*/ diff --git a/src/dstr-assignment-for-await/obj-rest-symbol-val.case b/src/dstr-assignment-for-await/obj-rest-symbol-val.case index 4feed1a464..79d391edf7 100644 --- a/src/dstr-assignment-for-await/obj-rest-symbol-val.case +++ b/src/dstr-assignment-for-await/obj-rest-symbol-val.case @@ -6,7 +6,7 @@ desc: > RestBindingInitialization creates a new object if lhs is a Symbol template: default esid: pending -features: [object-rest] +features: [object-rest, Symbol] ---*/ //- setup diff --git a/src/dstr-assignment/array-empty-val-symbol.case b/src/dstr-assignment/array-empty-val-symbol.case index 723fc7eed5..febb378b9c 100644 --- a/src/dstr-assignment/array-empty-val-symbol.case +++ b/src/dstr-assignment/array-empty-val-symbol.case @@ -7,6 +7,7 @@ desc: > iterable values and throws for Symbol values. template: error es6id: 12.14.5.2 +features: [Symbol] ---*/ //- setup diff --git a/src/dstr-assignment/obj-rest-symbol-val.case b/src/dstr-assignment/obj-rest-symbol-val.case index a7a918f76c..4446de77c1 100644 --- a/src/dstr-assignment/obj-rest-symbol-val.case +++ b/src/dstr-assignment/obj-rest-symbol-val.case @@ -6,7 +6,7 @@ desc: > RestBindingInitialization creates a new object if lhs is a Symbol template: default esid: pending -features: [object-rest] +features: [Symbol, object-rest] ---*/ //- setup diff --git a/src/generators/yield-identifier-spread-non-strict.case b/src/generators/yield-identifier-spread-non-strict.case index f4ad4f40b5..6659a5d4d7 100644 --- a/src/generators/yield-identifier-spread-non-strict.case +++ b/src/generators/yield-identifier-spread-non-strict.case @@ -12,7 +12,7 @@ info: | PropertyDefinition[Yield]: (...) ...AssignmentExpression[In, ?Yield] -features: [object-spread] +features: [Symbol, object-spread] flags: [noStrict] ---*/ diff --git a/src/spread/obj-spread-order.case b/src/spread/obj-spread-order.case index 370a368079..b063476dd3 100644 --- a/src/spread/obj-spread-order.case +++ b/src/spread/obj-spread-order.case @@ -15,7 +15,7 @@ info: | 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] +features: [Symbol, object-spread] ---*/ //- setup diff --git a/src/spread/obj-symbol-property.case b/src/spread/obj-symbol-property.case index 4a2b4cd414..2f7bc5dd9f 100644 --- a/src/spread/obj-symbol-property.case +++ b/src/spread/obj-symbol-property.case @@ -14,7 +14,7 @@ info: | 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] +features: [Symbol, object-spread] ---*/ //- setup diff --git a/src/spread/obj-with-overrides.case b/src/spread/obj-with-overrides.case index d72af89871..654be7c995 100644 --- a/src/spread/obj-with-overrides.case +++ b/src/spread/obj-with-overrides.case @@ -14,7 +14,7 @@ info: | 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). -features: [object-spread] +features: [Symbol, object-spread] ---*/ //- setup diff --git a/test/built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js b/test/built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js index 53558acc29..33641e8e52 100644 --- a/test/built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js +++ b/test/built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js @@ -12,6 +12,7 @@ info: > ... 1. If _comparefn_ is not *undefined* and IsCallable(_comparefn_) is *false*, throw a *TypeError* exception. ... +features: [Symbol] ---*/ var sample = [1, 2, 3]; diff --git a/test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js b/test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js index ad00e7d367..7049343427 100644 --- a/test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js +++ b/test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js @@ -21,6 +21,7 @@ info: > 4. If C is undefined, return defaultConstructor. 5. If Type(C) is not Object, throw a TypeError exception. ... +features: [Symbol] ---*/ var arrayBuffer = new ArrayBuffer(8); diff --git a/test/built-ins/Boolean/symbol-coercion.js b/test/built-ins/Boolean/symbol-coercion.js index a3bc31b6b9..d1cc5e6d4e 100644 --- a/test/built-ins/Boolean/symbol-coercion.js +++ b/test/built-ins/Boolean/symbol-coercion.js @@ -5,6 +5,7 @@ esid: sec-toboolean es6id: 7.1.2 description: > Boolean coercion operations on Symbols +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js b/test/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js index d87f83f0e9..7687a51af0 100644 --- a/test/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js +++ b/test/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js @@ -19,7 +19,7 @@ info: | ... 4. Let numberIndex be ? ToNumber(requestIndex). ... -features: [SharedArrayBuffer] +features: [SharedArrayBuffer, Symbol] ---*/ var buffer = new SharedArrayBuffer(1); diff --git a/test/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js b/test/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js index 5e4c3c9ad9..8fa8e04e9d 100644 --- a/test/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js +++ b/test/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js @@ -27,7 +27,7 @@ info: | ... 8. If isLittleEndian is false, reverse the order of the elements of rawValue. ... -features: [SharedArrayBuffer] +features: [SharedArrayBuffer, Symbol] ---*/ var buffer = new SharedArrayBuffer(4); diff --git a/test/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js b/test/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js index 1e0aeaa208..a1ec74a45e 100644 --- a/test/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js +++ b/test/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js @@ -16,7 +16,7 @@ info: | 11. Else, a. Let viewByteLength be ? ToLength(byteLength). ... -features: [SharedArrayBuffer] +features: [SharedArrayBuffer, Symbol] ---*/ var buffer = new SharedArrayBuffer(8); diff --git a/test/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js b/test/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js index c18eba8834..b4c7107d6e 100644 --- a/test/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js +++ b/test/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js @@ -13,7 +13,7 @@ info: | ... 4. Let numberOffset be ? ToNumber(byteOffset). ... -features: [SharedArrayBuffer] +features: [SharedArrayBuffer, Symbol] ---*/ var s = Symbol("1"); diff --git a/test/built-ins/Function/prototype/bind/instance-name-non-string.js b/test/built-ins/Function/prototype/bind/instance-name-non-string.js index b9b9aac26f..75383f8795 100644 --- a/test/built-ins/Function/prototype/bind/instance-name-non-string.js +++ b/test/built-ins/Function/prototype/bind/instance-name-non-string.js @@ -11,6 +11,7 @@ info: > 14. If Type(targetName) is not String, let targetName be the empty string. 15. Perform SetFunctionName(F, targetName, "bound"). includes: [propertyHelper.js] +features: [Symbol] ---*/ var target; diff --git a/test/built-ins/Map/prototype/size/this-not-object-throw.js b/test/built-ins/Map/prototype/size/this-not-object-throw.js index d55730db89..ec68cb9bdd 100644 --- a/test/built-ins/Map/prototype/size/this-not-object-throw.js +++ b/test/built-ins/Map/prototype/size/this-not-object-throw.js @@ -14,6 +14,7 @@ info: > ... includes: [propertyHelper.js] +features: [Symbol] ---*/ var descriptor = Object.getOwnPropertyDescriptor(Map.prototype, 'size'); diff --git a/test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js b/test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js index 282c3a5a25..3d0781cecc 100644 --- a/test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js +++ b/test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js @@ -5,6 +5,7 @@ description: Number,Boolean,Symbol cannot have own enumerable properties, So cannot be Assigned.Here result should be original object. es6id: 19.1.2.1.5.c +features: [Symbol] ---*/ var target = new Object(); diff --git a/test/built-ins/Object/assign/Target-Symbol.js b/test/built-ins/Object/assign/Target-Symbol.js index ef1335a425..2c24f4b504 100644 --- a/test/built-ins/Object/assign/Target-Symbol.js +++ b/test/built-ins/Object/assign/Target-Symbol.js @@ -5,6 +5,7 @@ description: Test the first argument(target) of Object.Assign(target,...sources), if target is Symbol,the return value should be a new Symbol object whose [[SymbolData]] value is target. es6id: 19.1.2.1.1 +features: [Symbol] ---*/ var target = Symbol('foo'); diff --git a/test/built-ins/Object/defineProperty/symbol-data-property-configurable.js b/test/built-ins/Object/defineProperty/symbol-data-property-configurable.js index 4232d55669..36dc262400 100644 --- a/test/built-ins/Object/defineProperty/symbol-data-property-configurable.js +++ b/test/built-ins/Object/defineProperty/symbol-data-property-configurable.js @@ -4,6 +4,7 @@ es6id: 19.1.2.4 description: > Symbol used as property for configurable data property definition +features: [Symbol] ---*/ var sym = Symbol(); var obj = {}; diff --git a/test/built-ins/Object/defineProperty/symbol-data-property-default-non-strict.js b/test/built-ins/Object/defineProperty/symbol-data-property-default-non-strict.js index c39f9e2791..a54deb3a95 100644 --- a/test/built-ins/Object/defineProperty/symbol-data-property-default-non-strict.js +++ b/test/built-ins/Object/defineProperty/symbol-data-property-default-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.1.2.4 description: > Symbol used as property for property definition flags: [noStrict] +features: [Symbol] ---*/ var sym = Symbol(); var obj = {}; diff --git a/test/built-ins/Object/defineProperty/symbol-data-property-default-strict.js b/test/built-ins/Object/defineProperty/symbol-data-property-default-strict.js index dd597cda7e..93cffc023f 100644 --- a/test/built-ins/Object/defineProperty/symbol-data-property-default-strict.js +++ b/test/built-ins/Object/defineProperty/symbol-data-property-default-strict.js @@ -5,6 +5,7 @@ es6id: 19.1.2.4 description: > Symbol used as property for default data property definition flags: [onlyStrict] +features: [Symbol] ---*/ var sym = Symbol(); var obj = {}; diff --git a/test/built-ins/Object/defineProperty/symbol-data-property-writable.js b/test/built-ins/Object/defineProperty/symbol-data-property-writable.js index 004e47ef54..b2d3a873af 100644 --- a/test/built-ins/Object/defineProperty/symbol-data-property-writable.js +++ b/test/built-ins/Object/defineProperty/symbol-data-property-writable.js @@ -4,6 +4,7 @@ es6id: 19.1.2.4 description: > Symbol used as property for writable data property definition +features: [Symbol] ---*/ var sym = Symbol(); var obj = {}; diff --git a/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-non-strict.js b/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-non-strict.js index a322a6abcd..6af3bf0947 100644 --- a/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-non-strict.js +++ b/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.1.2.5 description: > Frozen object contains symbol properties. flags: [noStrict] +features: [Symbol] ---*/ var sym = Symbol(); var obj = {}; diff --git a/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js b/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js index 9cc20f8cfc..9b93997cbb 100644 --- a/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js +++ b/test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js @@ -5,6 +5,7 @@ es6id: 19.1.2.5 description: > Frozen object contains symbol properties. flags: [onlyStrict] +features: [Symbol] ---*/ var sym = Symbol("66"); var obj = {}; diff --git a/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js b/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js index a9a880a2c4..96102bf168 100644 --- a/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js +++ b/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js @@ -4,6 +4,7 @@ es6id: 19.1.2.8 description: > Object.getOwnPropertySymbols returns all symbol properties that have descriptions +features: [Symbol] ---*/ var sym = Symbol("description"); diff --git a/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js b/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js index db73cd72fa..26a288b034 100644 --- a/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js +++ b/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js @@ -4,6 +4,7 @@ es6id: 19.1.2.8 description: > Object.getOwnPropertySymbols returns all symbol properties that do not have descriptions +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/built-ins/Object/is/not-same-value-x-y-symbol.js b/test/built-ins/Object/is/not-same-value-x-y-symbol.js index 4f17e77a8d..28ccc0a78e 100644 --- a/test/built-ins/Object/is/not-same-value-x-y-symbol.js +++ b/test/built-ins/Object/is/not-same-value-x-y-symbol.js @@ -10,6 +10,7 @@ description: > a. If x and y are both the same Symbol value, return true; otherwise, return false. ... +features: [Symbol] ---*/ assert.sameValue( diff --git a/test/built-ins/Object/is/same-value-x-y-symbol.js b/test/built-ins/Object/is/same-value-x-y-symbol.js index 9e6b206f73..05153d0761 100644 --- a/test/built-ins/Object/is/same-value-x-y-symbol.js +++ b/test/built-ins/Object/is/same-value-x-y-symbol.js @@ -10,6 +10,7 @@ description: > a. If x and y are both the same Symbol value, return true; otherwise, return false. ... +features: [Symbol] ---*/ var a = Symbol(); diff --git a/test/built-ins/Object/is/symbol-object-is-same-value.js b/test/built-ins/Object/is/symbol-object-is-same-value.js index 8f81eb4314..b4d5a13843 100644 --- a/test/built-ins/Object/is/symbol-object-is-same-value.js +++ b/test/built-ins/Object/is/symbol-object-is-same-value.js @@ -4,6 +4,7 @@ es6id: 7.2. description: > Object.is/SameValue: Symbol +features: [Symbol] ---*/ var symA = Symbol('66'); var symB = Symbol('66'); diff --git a/test/built-ins/Object/keys/proxy-keys.js b/test/built-ins/Object/keys/proxy-keys.js index 69da52ddaa..ac349430fa 100644 --- a/test/built-ins/Object/keys/proxy-keys.js +++ b/test/built-ins/Object/keys/proxy-keys.js @@ -21,6 +21,7 @@ info: | a. If Type(key) is String, then i. Let desc be ? O.[[GetOwnProperty]](key). ... +features: [Symbol] ---*/ let log = []; diff --git a/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js b/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js index 9617575ad9..a8625fd1b1 100644 --- a/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js +++ b/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Object.preventExtensions(obj) where obj contains symbol properties. flags: [noStrict] +features: [Symbol] ---*/ var symA = Symbol("A"); var symB = Symbol("B"); diff --git a/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js b/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js index 01cfb4b6be..6bb4bdf187 100644 --- a/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js +++ b/test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Object.preventExtensions(obj) where obj contains symbol properties. flags: [onlyStrict] +features: [Symbol] ---*/ var symA = Symbol("A"); var symB = Symbol("B"); diff --git a/test/built-ins/Object/prototype/hasOwnProperty/symbol_own_property.js b/test/built-ins/Object/prototype/hasOwnProperty/symbol_own_property.js index f69cc1beb5..d52ed32987 100644 --- a/test/built-ins/Object/prototype/hasOwnProperty/symbol_own_property.js +++ b/test/built-ins/Object/prototype/hasOwnProperty/symbol_own_property.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.2 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js b/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js index 0f52fb72f3..1e0fcc8926 100644 --- a/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js +++ b/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.2 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js b/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js index 772fa4f15d..2827923f0b 100644 --- a/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js +++ b/test/built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.2 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_own_property.js b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_own_property.js index 201f951b1a..5a396dd35d 100644 --- a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_own_property.js +++ b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_own_property.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.4 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js index 945f5d1f31..120b290f05 100644 --- a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js +++ b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.4 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js index 89397e7e3c..520155c208 100644 --- a/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js +++ b/test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js @@ -10,6 +10,7 @@ info: > 2. ReturnIfAbrupt(P). ... es6id: 19.1.3.4 +features: [Symbol] ---*/ var obj = {}; diff --git a/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-non-strict.js b/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-non-strict.js index dcb68e35f2..831deb3d57 100644 --- a/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-non-strict.js +++ b/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Object.seal(obj) where obj contains symbol properties. flags: [noStrict] +features: [Symbol] ---*/ var symA = Symbol("A"); var symB = Symbol("B"); diff --git a/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-strict.js b/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-strict.js index d0c59884a4..0c04b43169 100644 --- a/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-strict.js +++ b/test/built-ins/Object/seal/symbol-object-contains-symbol-properties-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Object.seal(obj) where obj contains symbol properties. flags: [onlyStrict] +features: [Symbol] ---*/ var symA = Symbol("A"); var symB = Symbol("B"); diff --git a/test/built-ins/Object/symbol_object-returns-fresh-symbol.js b/test/built-ins/Object/symbol_object-returns-fresh-symbol.js index c4aa3cf022..453156c565 100644 --- a/test/built-ins/Object/symbol_object-returns-fresh-symbol.js +++ b/test/built-ins/Object/symbol_object-returns-fresh-symbol.js @@ -4,6 +4,7 @@ es6id: 19.1.1.1_S3 description: > Object(sym) returns a fresh Symbol object +features: [Symbol] ---*/ var symA = Symbol('A'); var symB = Symbol(); diff --git a/test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js b/test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js index dfe27205c0..53194a058d 100644 --- a/test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js +++ b/test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js @@ -9,6 +9,7 @@ info: > ... 9. If trapResult contains any duplicate entries, throw a TypeError exception. +features: [Symbol] ---*/ var s = Symbol(); diff --git a/test/built-ins/Set/prototype/add/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/add/this-not-object-throw-symbol.js index 759147e15f..ade8dfc7a2 100644 --- a/test/built-ins/Set/prototype/add/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/add/this-not-object-throw-symbol.js @@ -8,6 +8,7 @@ description: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/clear/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/clear/this-not-object-throw-symbol.js index 6730e5be39..2525d91091 100644 --- a/test/built-ins/Set/prototype/clear/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/clear/this-not-object-throw-symbol.js @@ -8,6 +8,7 @@ description: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/delete/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/delete/this-not-object-throw-symbol.js index de3f319c05..1435297974 100644 --- a/test/built-ins/Set/prototype/delete/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/delete/this-not-object-throw-symbol.js @@ -8,6 +8,7 @@ description: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/entries/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/entries/this-not-object-throw-symbol.js index f727279c46..e006726c77 100644 --- a/test/built-ins/Set/prototype/entries/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/entries/this-not-object-throw-symbol.js @@ -13,6 +13,7 @@ description: > 1. If Type(set) is not Object, throw a TypeError exception. ... +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/forEach/callback-not-callable-symbol.js b/test/built-ins/Set/prototype/forEach/callback-not-callable-symbol.js index 789b3e067e..d715ea6e29 100644 --- a/test/built-ins/Set/prototype/forEach/callback-not-callable-symbol.js +++ b/test/built-ins/Set/prototype/forEach/callback-not-callable-symbol.js @@ -11,6 +11,7 @@ description: > Passing `symbol` as callback +features: [Symbol] ---*/ var s = new Set([1]); diff --git a/test/built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js index c2e0b8645d..01441e8cff 100644 --- a/test/built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js @@ -8,6 +8,7 @@ description: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js b/test/built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js index 64ae5c7d96..04b5ac0c11 100644 --- a/test/built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js +++ b/test/built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js @@ -8,6 +8,7 @@ description: > ... 6. Return false. +features: [Symbol] ---*/ var s = new Set(); diff --git a/test/built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js b/test/built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js index 7620fec78e..3a47d9ca36 100644 --- a/test/built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js +++ b/test/built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js @@ -10,6 +10,7 @@ description: > a. If e is not empty and SameValueZero(e, value) is true, return true. ... +features: [Symbol] ---*/ var s = new Set(); diff --git a/test/built-ins/Set/prototype/has/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/has/this-not-object-throw-symbol.js index c64343df83..46a76eb993 100644 --- a/test/built-ins/Set/prototype/has/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/has/this-not-object-throw-symbol.js @@ -8,6 +8,7 @@ description: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js b/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js index 9ab0554651..096ed5e738 100644 --- a/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js +++ b/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js @@ -9,6 +9,7 @@ description: > 6. For each e that is an element of entries a. If e is not empty, set count to count+1. +features: [Symbol] ---*/ var s = new Set(); diff --git a/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js b/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js index 7243d04731..d7cc5a8a9c 100644 --- a/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js +++ b/test/built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js @@ -9,6 +9,7 @@ description: > 6. For each e that is an element of entries a. If e is not empty, set count to count+1. +features: [Symbol] ---*/ var s = new Set([0, undefined, false, NaN, null, "", Symbol()]); diff --git a/test/built-ins/Set/prototype/values/this-not-object-throw-symbol.js b/test/built-ins/Set/prototype/values/this-not-object-throw-symbol.js index 19eb80a487..549fa1f1fc 100644 --- a/test/built-ins/Set/prototype/values/this-not-object-throw-symbol.js +++ b/test/built-ins/Set/prototype/values/this-not-object-throw-symbol.js @@ -13,6 +13,7 @@ description: > 1. If Type(set) is not Object, throw a TypeError exception. ... +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Set/symbol-as-entry.js b/test/built-ins/Set/symbol-as-entry.js index f60743a312..2a53834720 100644 --- a/test/built-ins/Set/symbol-as-entry.js +++ b/test/built-ins/Set/symbol-as-entry.js @@ -4,7 +4,7 @@ es6id: 19.4 description: > Symbol as Set entry -features: [Set] +features: [Symbol, Set] ---*/ var set = new Set(); var sym = Symbol(); diff --git a/test/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js b/test/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js index 802b1787cb..0dc598dfe3 100644 --- a/test/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js +++ b/test/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js @@ -18,7 +18,7 @@ info: > 1. Let obj be ? OrdinaryCreateFromConstructor(constructor, "%SharedArrayBufferPrototype%", «[[ArrayBufferData]], [[ArrayBufferByteLength]]» ). ... -features: [Reflect.construct] +features: [Symbol, Reflect.construct] ---*/ function newTarget() { } diff --git a/test/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js b/test/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js index 79e857b75f..4cc423002e 100644 --- a/test/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js +++ b/test/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js @@ -3,6 +3,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- description: Throws a TypeError exception when `this` is not Object +features: [Symbol] ---*/ var getter = Object.getOwnPropertyDescriptor( diff --git a/test/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js b/test/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js index ce054180b7..95b7ee53cf 100644 --- a/test/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js +++ b/test/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js @@ -7,6 +7,7 @@ description: > Throws a TypeError if `this` is not an Object. info: > SharedArrayBuffer.prototype.slice ( start, end ) +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js b/test/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js index 86212bc65b..7920c804a3 100644 --- a/test/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js +++ b/test/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js @@ -8,6 +8,7 @@ description: > info: > SharedArrayBuffer.prototype.slice ( start, end ) +features: [Symbol] ---*/ var arrayBuffer = new SharedArrayBuffer(8); diff --git a/test/built-ins/Symbol/auto-boxing-non-strict.js b/test/built-ins/Symbol/auto-boxing-non-strict.js index 459bc75d26..9ba613193a 100644 --- a/test/built-ins/Symbol/auto-boxing-non-strict.js +++ b/test/built-ins/Symbol/auto-boxing-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Symbol ToObject auto-boxing flags: [noStrict] +features: [Symbol] ---*/ var sym = Symbol('66'); diff --git a/test/built-ins/Symbol/auto-boxing-strict.js b/test/built-ins/Symbol/auto-boxing-strict.js index 0d18c53603..02d4c6614d 100644 --- a/test/built-ins/Symbol/auto-boxing-strict.js +++ b/test/built-ins/Symbol/auto-boxing-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Symbol ToObject auto-boxing flags: [onlyStrict] +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Symbol/constructor.js b/test/built-ins/Symbol/constructor.js index cae673b1ab..e62f06c8fd 100644 --- a/test/built-ins/Symbol/constructor.js +++ b/test/built-ins/Symbol/constructor.js @@ -4,6 +4,7 @@ es6id: 19.4.3.1 description: > Symbol constructor +features: [Symbol] ---*/ assert.sameValue( Object.getPrototypeOf(Symbol('66')).constructor, diff --git a/test/built-ins/Symbol/desc-to-string-symbol.js b/test/built-ins/Symbol/desc-to-string-symbol.js index e4b6d2954e..e9aaa69b74 100644 --- a/test/built-ins/Symbol/desc-to-string-symbol.js +++ b/test/built-ins/Symbol/desc-to-string-symbol.js @@ -10,6 +10,7 @@ info: | 2. Else, let descString be ? ToString(description). 3. Return a new unique Symbol value whose [[Description]] value is descString. +features: [Symbol] ---*/ var s = Symbol('1'); diff --git a/test/built-ins/Symbol/desc-to-string.js b/test/built-ins/Symbol/desc-to-string.js index b79f76eda6..aa6e885b84 100644 --- a/test/built-ins/Symbol/desc-to-string.js +++ b/test/built-ins/Symbol/desc-to-string.js @@ -10,6 +10,7 @@ info: | 2. Else, let descString be ? ToString(description). 3. Return a new unique Symbol value whose [[Description]] value is descString. +features: [Symbol] ---*/ var calls, val; diff --git a/test/built-ins/Symbol/for/create-value.js b/test/built-ins/Symbol/for/create-value.js index b5ceaeacb9..dc1aee35b5 100644 --- a/test/built-ins/Symbol/for/create-value.js +++ b/test/built-ins/Symbol/for/create-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/for/to-string-err.js b/test/built-ins/Symbol/for/to-string-err.js index 77348fbd45..22689a8468 100644 --- a/test/built-ins/Symbol/for/to-string-err.js +++ b/test/built-ins/Symbol/for/to-string-err.js @@ -6,6 +6,7 @@ es6id: 19.4.2.1 description: Error resulting from string coercion of first argument info: > 1. Let stringKey be ? ToString(key). +features: [Symbol] ---*/ var subject = { diff --git a/test/built-ins/Symbol/invoked-with-new.js b/test/built-ins/Symbol/invoked-with-new.js index c4274b013e..a3158cc68f 100644 --- a/test/built-ins/Symbol/invoked-with-new.js +++ b/test/built-ins/Symbol/invoked-with-new.js @@ -6,6 +6,7 @@ es6id: 19.4.1 description: The Symbol constructor may not be invoked with `new` info: | 1. If NewTarget is not undefined, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/Symbol/keyFor/arg-non-symbol.js b/test/built-ins/Symbol/keyFor/arg-non-symbol.js index 2042cfa6f1..4c3820e6f3 100644 --- a/test/built-ins/Symbol/keyFor/arg-non-symbol.js +++ b/test/built-ins/Symbol/keyFor/arg-non-symbol.js @@ -6,6 +6,7 @@ es6id: 19.4.2.5 description: Called with a non-symbol argument info: > 1. If Type(sym) is not Symbol, throw a TypeError exception. +features: [Symbol] ---*/ assert.sameValue(typeof Symbol.keyFor, 'function'); 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 86bf657a8f..2f70c632a8 100644 --- a/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js +++ b/test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js @@ -12,6 +12,7 @@ info: > 3. Assert: GlobalSymbolRegistry does not currently contain an entry for sym. 4. Return undefined. +features: [Symbol] ---*/ var constructed = Symbol('Symbol.iterator'); diff --git a/test/built-ins/Symbol/prototype/intrinsic.js b/test/built-ins/Symbol/prototype/intrinsic.js index e51bafffaa..2059f7b84e 100644 --- a/test/built-ins/Symbol/prototype/intrinsic.js +++ b/test/built-ins/Symbol/prototype/intrinsic.js @@ -4,6 +4,7 @@ es6id: 19.4.3 description: > Symbol prototype +features: [Symbol] ---*/ assert.sameValue( Object.getPrototypeOf(Symbol('66')), diff --git a/test/built-ins/Symbol/prototype/toString/toString-default-attributes-non-strict.js b/test/built-ins/Symbol/prototype/toString/toString-default-attributes-non-strict.js index 5fdb58e5b1..a37568c43b 100644 --- a/test/built-ins/Symbol/prototype/toString/toString-default-attributes-non-strict.js +++ b/test/built-ins/Symbol/prototype/toString/toString-default-attributes-non-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Symbol property get and set, non-strict flags: [noStrict] +features: [Symbol] ---*/ var sym = Symbol('66'); diff --git a/test/built-ins/Symbol/prototype/toString/toString-default-attributes-strict.js b/test/built-ins/Symbol/prototype/toString/toString-default-attributes-strict.js index 96df7a9346..188712f548 100644 --- a/test/built-ins/Symbol/prototype/toString/toString-default-attributes-strict.js +++ b/test/built-ins/Symbol/prototype/toString/toString-default-attributes-strict.js @@ -5,6 +5,7 @@ es6id: 19.4 description: > Symbol property get and set, strict flags: [onlyStrict] +features: [Symbol] ---*/ var sym = Symbol("66"); diff --git a/test/built-ins/Symbol/prototype/toString/toString.js b/test/built-ins/Symbol/prototype/toString/toString.js index 1a6541981b..f771cb1e1c 100644 --- a/test/built-ins/Symbol/prototype/toString/toString.js +++ b/test/built-ins/Symbol/prototype/toString/toString.js @@ -4,6 +4,7 @@ es6id: 19.4.3.2 description: > toString operations on Symbols +features: [Symbol] ---*/ assert.sameValue( String(Symbol('66')), diff --git a/test/built-ins/Symbol/prototype/toString/undefined.js b/test/built-ins/Symbol/prototype/toString/undefined.js index 7d6baad469..c2b2bc7434 100644 --- a/test/built-ins/Symbol/prototype/toString/undefined.js +++ b/test/built-ins/Symbol/prototype/toString/undefined.js @@ -18,6 +18,7 @@ info: | 3. If desc is undefined, let desc be the empty string. 4. Assert: Type(desc) is String. 5. Return the result of concatenating the strings "Symbol(", desc, and ")". +features: [Symbol] ---*/ assert.sameValue(Symbol().toString(), 'Symbol()', 'implicit value'); diff --git a/test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js b/test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js index c34b6bbdd3..965b6e5ab5 100644 --- a/test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js +++ b/test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js @@ -10,6 +10,7 @@ info: | 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. 5. Return the value of s's [[SymbolData]] internal slot. +features: [Symbol] ---*/ var valueOf = Symbol.prototype.valueOf; diff --git a/test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js b/test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js index 395ba5b48c..9fd0a94b4a 100644 --- a/test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js +++ b/test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js @@ -7,6 +7,7 @@ description: Called on a Symbol value info: | 1. Let s be the this value. 2. If Type(s) is Symbol, return s. +features: [Symbol] ---*/ var valueOf = Symbol.prototype.valueOf; diff --git a/test/built-ins/Symbol/uniqueness.js b/test/built-ins/Symbol/uniqueness.js index 02efc89f1a..bfca22f6b4 100644 --- a/test/built-ins/Symbol/uniqueness.js +++ b/test/built-ins/Symbol/uniqueness.js @@ -10,6 +10,7 @@ info: | 2. Else, let descString be ? ToString(description). 3. Return a new unique Symbol value whose [[Description]] value is descString. +features: [Symbol] ---*/ assert.notSameValue(Symbol(''), Symbol(''), 'empty string'); diff --git a/test/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js b/test/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js index 416e5db7d1..2b9d976bf1 100644 --- a/test/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js +++ b/test/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js @@ -16,7 +16,7 @@ info: > 7. Let offset be ? ToInteger(byteOffset). ... includes: [testTypedArray.js] -features: [SharedArrayBuffer] +features: [Symbol, SharedArrayBuffer] ---*/ var byteOffset = Symbol("1"); diff --git a/test/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js b/test/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js index 0ae03e4e9e..237aaf62af 100644 --- a/test/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js +++ b/test/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js @@ -17,7 +17,7 @@ info: > a. Let newLength be ? ToLength(length). ... includes: [testTypedArray.js] -features: [SharedArrayBuffer] +features: [Symbol, SharedArrayBuffer] ---*/ var buffer = new SharedArrayBuffer(8); diff --git a/test/built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js b/test/built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js index bfe4097f0f..6363ef5105 100644 --- a/test/built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js +++ b/test/built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js @@ -13,6 +13,7 @@ info: > slot. 5. If Type(key) is not Object, return undefined. ... +features: [Symbol] ---*/ var map = new WeakMap(); diff --git a/test/built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js b/test/built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js index 8624f6dd0d..6599ec870e 100644 --- a/test/built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js +++ b/test/built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js @@ -9,6 +9,7 @@ info: > 1. Let S be the this value. 2. If Type(S) is not Object, throw a TypeError exception. +features: [Symbol] ---*/ assert.throws(TypeError, function() { diff --git a/test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js b/test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js index 1c25f5f3b5..c74175745a 100644 --- a/test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js +++ b/test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js @@ -5,7 +5,7 @@ es6id: 23.4.3.1_S2 esid: sec-weakset.prototype.add description: > Symbol may not be used as a WeakSet entry -features: [WeakSet] +features: [Symbol, WeakSet] ---*/ var weakset = new WeakSet(); var sym = Symbol(); diff --git a/test/harness/verifyProperty-desc-is-not-object.js b/test/harness/verifyProperty-desc-is-not-object.js index 418c2893f5..d269d6737d 100644 --- a/test/harness/verifyProperty-desc-is-not-object.js +++ b/test/harness/verifyProperty-desc-is-not-object.js @@ -5,6 +5,7 @@ description: > The desc argument should be an object or undefined includes: [propertyHelper.js,sta.js] +features: [Symbol] ---*/ var sample = { foo: 42 }; diff --git a/test/harness/verifyProperty-restore-accessor-symbol.js b/test/harness/verifyProperty-restore-accessor-symbol.js index 77d726d542..d560fe9fb7 100644 --- a/test/harness/verifyProperty-restore-accessor-symbol.js +++ b/test/harness/verifyProperty-restore-accessor-symbol.js @@ -5,6 +5,7 @@ description: > verifyProperty allows restoring the original accessor descriptor includes: [propertyHelper.js] +features: [Symbol] ---*/ var obj; diff --git a/test/harness/verifyProperty-restore-symbol.js b/test/harness/verifyProperty-restore-symbol.js index a407412e56..37953bb144 100644 --- a/test/harness/verifyProperty-restore-symbol.js +++ b/test/harness/verifyProperty-restore-symbol.js @@ -5,6 +5,7 @@ description: > verifyProperty allows restoring the original descriptor includes: [propertyHelper.js] +features: [Symbol] ---*/ var obj; diff --git a/test/harness/verifyProperty-symbol-prop.js b/test/harness/verifyProperty-symbol-prop.js index 3a59108d8d..f16c42e30a 100644 --- a/test/harness/verifyProperty-symbol-prop.js +++ b/test/harness/verifyProperty-symbol-prop.js @@ -5,6 +5,7 @@ description: > Verify symbol named property descriptor includes: [propertyHelper.js] +features: [Symbol] ---*/ var obj; diff --git a/test/language/computed-property-names/basics/symbol.js b/test/language/computed-property-names/basics/symbol.js index 60e4784872..c8d54547a4 100644 --- a/test/language/computed-property-names/basics/symbol.js +++ b/test/language/computed-property-names/basics/symbol.js @@ -5,6 +5,7 @@ es6id: 12.2.5 description: > computed property names can be a symbol includes: [compareArray.js] +features: [Symbol] ---*/ function ID(x) { diff --git a/test/language/computed-property-names/class/method/symbol.js b/test/language/computed-property-names/class/method/symbol.js index c7425fcb6a..bec9976f18 100644 --- a/test/language/computed-property-names/class/method/symbol.js +++ b/test/language/computed-property-names/class/method/symbol.js @@ -5,6 +5,7 @@ es6id: 12.2.5 description: > computed property class method names can be a symbol includes: [compareArray.js] +features: [Symbol] ---*/ function ID(x) { diff --git a/test/language/computed-property-names/class/static/method-symbol.js b/test/language/computed-property-names/class/static/method-symbol.js index 31012afeb8..7d6506dcaf 100644 --- a/test/language/computed-property-names/class/static/method-symbol.js +++ b/test/language/computed-property-names/class/static/method-symbol.js @@ -5,6 +5,7 @@ es6id: 12.2.5 description: > In a class, static computed property method names can be a symbol includes: [compareArray.js] +features: [Symbol] ---*/ var sym1 = Symbol(); var sym2 = Symbol(); diff --git a/test/language/computed-property-names/object/method/symbol.js b/test/language/computed-property-names/object/method/symbol.js index 3c76e856be..21ef99efa3 100644 --- a/test/language/computed-property-names/object/method/symbol.js +++ b/test/language/computed-property-names/object/method/symbol.js @@ -5,6 +5,7 @@ es6id: 12.2.5 description: > computed property method names can be a symbol includes: [compareArray.js] +features: [Symbol] ---*/ function ID(x) { diff --git a/test/language/expressions/conditional/symbol-conditional-evaluation.js b/test/language/expressions/conditional/symbol-conditional-evaluation.js index db3add4e3c..b1fb4e696f 100644 --- a/test/language/expressions/conditional/symbol-conditional-evaluation.js +++ b/test/language/expressions/conditional/symbol-conditional-evaluation.js @@ -4,6 +4,7 @@ es6id: 12.12.3 description: > Conditional Symbol evaluation +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/language/expressions/equals/symbol-abstract-equality-comparison.js b/test/language/expressions/equals/symbol-abstract-equality-comparison.js index 7ca1e0f71a..904c4abe4d 100644 --- a/test/language/expressions/equals/symbol-abstract-equality-comparison.js +++ b/test/language/expressions/equals/symbol-abstract-equality-comparison.js @@ -4,6 +4,7 @@ es6id: 7.2.12 description: > Abstract Equality Comparison: Symbol +features: [Symbol] ---*/ var symA = Symbol('66'); var symB = Symbol('66'); diff --git a/test/language/expressions/equals/symbol-strict-equality-comparison.js b/test/language/expressions/equals/symbol-strict-equality-comparison.js index d77c83ca33..361009b834 100644 --- a/test/language/expressions/equals/symbol-strict-equality-comparison.js +++ b/test/language/expressions/equals/symbol-strict-equality-comparison.js @@ -4,6 +4,7 @@ es6id: 7.2.13 description: > Strict Equality Comparison: Symbol +features: [Symbol] ---*/ var symA = Symbol('66'); var symB = Symbol('66'); diff --git a/test/language/expressions/logical-and/symbol-logical-and-evaluation.js b/test/language/expressions/logical-and/symbol-logical-and-evaluation.js index 689ba7d77f..3c2c5a7b7b 100644 --- a/test/language/expressions/logical-and/symbol-logical-and-evaluation.js +++ b/test/language/expressions/logical-and/symbol-logical-and-evaluation.js @@ -4,6 +4,7 @@ es6id: 12.12.3 description: > "Logical AND" Symbol evaluation +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/language/expressions/logical-not/symbol-logical-not-evaluation.js b/test/language/expressions/logical-not/symbol-logical-not-evaluation.js index c161525307..6fe19e1165 100644 --- a/test/language/expressions/logical-not/symbol-logical-not-evaluation.js +++ b/test/language/expressions/logical-not/symbol-logical-not-evaluation.js @@ -4,6 +4,7 @@ es6id: 12.5.12.1 description: > "Logical Not" coercion operation on Symbols +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/language/expressions/logical-or/symbol-logical-or-evaluation.js b/test/language/expressions/logical-or/symbol-logical-or-evaluation.js index 7d3a1be683..905a67c807 100644 --- a/test/language/expressions/logical-or/symbol-logical-or-evaluation.js +++ b/test/language/expressions/logical-or/symbol-logical-or-evaluation.js @@ -4,6 +4,7 @@ es6id: 12.12.3 description: > "Logical OR" Symbol evaluation +features: [Symbol] ---*/ var sym = Symbol(); diff --git a/test/language/expressions/object/computed-__proto__.js b/test/language/expressions/object/computed-__proto__.js index a4040ed31d..9287265631 100644 --- a/test/language/expressions/object/computed-__proto__.js +++ b/test/language/expressions/object/computed-__proto__.js @@ -25,6 +25,7 @@ info: | a. If Type(propValue) is either Object or Null, then i. Return object.[[SetPrototypeOf]](propValue). b. Return NormalCompletion(empty). +features: [Symbol] ---*/ var obj; diff --git a/test/language/expressions/typeof/symbol.js b/test/language/expressions/typeof/symbol.js index 10440b4c04..93e8a1ca9a 100644 --- a/test/language/expressions/typeof/symbol.js +++ b/test/language/expressions/typeof/symbol.js @@ -5,6 +5,7 @@ es6id: 12.5.6.1 description: > typeof Symbol() returns 'symbol'. typeof Object(Symbol()) returns 'object'. +features: [Symbol] ---*/ assert.sameValue(typeof Symbol('A'), 'symbol', "`typeof Symbol('A')` is `'symbol'`"); assert.sameValue(typeof Symbol(), 'symbol', "`typeof Symbol()` is `'symbol'`"); diff --git a/test/language/statements/class/subclass/derived-class-return-override-with-symbol.js b/test/language/statements/class/subclass/derived-class-return-override-with-symbol.js index d318964822..009a88c1ab 100644 --- a/test/language/statements/class/subclass/derived-class-return-override-with-symbol.js +++ b/test/language/statements/class/subclass/derived-class-return-override-with-symbol.js @@ -13,6 +13,7 @@ description: > `return Symbol();` +features: [Symbol] ---*/ class Base { constructor() {} -- GitLab