summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/async-generators/yield-identifier-spread-non-strict.case2
-rw-r--r--src/dstr-assignment-for-await/obj-rest-symbol-val.case2
-rw-r--r--src/dstr-assignment/array-empty-val-symbol.case1
-rw-r--r--src/dstr-assignment/obj-rest-symbol-val.case2
-rw-r--r--src/generators/yield-identifier-spread-non-strict.case2
-rw-r--r--src/spread/obj-spread-order.case2
-rw-r--r--src/spread/obj-symbol-property.case2
-rw-r--r--src/spread/obj-with-overrides.case2
-rw-r--r--test/built-ins/Array/prototype/sort/comparefn-nonfunction-call-throws.js1
-rw-r--r--test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js1
-rw-r--r--test/built-ins/Boolean/symbol-coercion.js1
-rw-r--r--test/built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js2
-rw-r--r--test/built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js2
-rw-r--r--test/built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js2
-rw-r--r--test/built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js2
-rw-r--r--test/built-ins/Function/prototype/bind/instance-name-non-string.js1
-rw-r--r--test/built-ins/Map/prototype/size/this-not-object-throw.js1
-rw-r--r--test/built-ins/Object/assign/Source-Number-Boolen-Symbol.js1
-rw-r--r--test/built-ins/Object/assign/Target-Symbol.js1
-rw-r--r--test/built-ins/Object/defineProperty/symbol-data-property-configurable.js1
-rw-r--r--test/built-ins/Object/defineProperty/symbol-data-property-default-non-strict.js1
-rw-r--r--test/built-ins/Object/defineProperty/symbol-data-property-default-strict.js1
-rw-r--r--test/built-ins/Object/defineProperty/symbol-data-property-writable.js1
-rw-r--r--test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-non-strict.js1
-rw-r--r--test/built-ins/Object/freeze/frozen-object-contains-symbol-properties-strict.js1
-rw-r--r--test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js1
-rw-r--r--test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js1
-rw-r--r--test/built-ins/Object/is/not-same-value-x-y-symbol.js1
-rw-r--r--test/built-ins/Object/is/same-value-x-y-symbol.js1
-rw-r--r--test/built-ins/Object/is/symbol-object-is-same-value.js1
-rw-r--r--test/built-ins/Object/keys/proxy-keys.js1
-rw-r--r--test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js1
-rw-r--r--test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-strict.js1
-rw-r--r--test/built-ins/Object/prototype/hasOwnProperty/symbol_own_property.js1
-rw-r--r--test/built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js1
-rw-r--r--test/built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js1
-rw-r--r--test/built-ins/Object/prototype/propertyIsEnumerable/symbol_own_property.js1
-rw-r--r--test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js1
-rw-r--r--test/built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js1
-rw-r--r--test/built-ins/Object/seal/symbol-object-contains-symbol-properties-non-strict.js1
-rw-r--r--test/built-ins/Object/seal/symbol-object-contains-symbol-properties-strict.js1
-rw-r--r--test/built-ins/Object/symbol_object-returns-fresh-symbol.js1
-rw-r--r--test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.js1
-rw-r--r--test/built-ins/Set/prototype/add/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/clear/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/delete/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/entries/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/forEach/callback-not-callable-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/forEach/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/has/returns-false-when-value-not-present-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/has/returns-true-when-value-present-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/has/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/prototype/size/returns-count-of-present-values-by-insertion.js1
-rw-r--r--test/built-ins/Set/prototype/size/returns-count-of-present-values-by-iterable.js1
-rw-r--r--test/built-ins/Set/prototype/values/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/Set/symbol-as-entry.js2
-rw-r--r--test/built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js2
-rw-r--r--test/built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js1
-rw-r--r--test/built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js1
-rw-r--r--test/built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js1
-rw-r--r--test/built-ins/Symbol/auto-boxing-non-strict.js1
-rw-r--r--test/built-ins/Symbol/auto-boxing-strict.js1
-rw-r--r--test/built-ins/Symbol/constructor.js1
-rw-r--r--test/built-ins/Symbol/desc-to-string-symbol.js1
-rw-r--r--test/built-ins/Symbol/desc-to-string.js1
-rw-r--r--test/built-ins/Symbol/for/create-value.js1
-rw-r--r--test/built-ins/Symbol/for/to-string-err.js1
-rw-r--r--test/built-ins/Symbol/invoked-with-new.js1
-rw-r--r--test/built-ins/Symbol/keyFor/arg-non-symbol.js1
-rw-r--r--test/built-ins/Symbol/keyFor/arg-symbol-registry-miss.js1
-rw-r--r--test/built-ins/Symbol/prototype/intrinsic.js1
-rw-r--r--test/built-ins/Symbol/prototype/toString/toString-default-attributes-non-strict.js1
-rw-r--r--test/built-ins/Symbol/prototype/toString/toString-default-attributes-strict.js1
-rw-r--r--test/built-ins/Symbol/prototype/toString/toString.js1
-rw-r--r--test/built-ins/Symbol/prototype/toString/undefined.js1
-rw-r--r--test/built-ins/Symbol/prototype/valueOf/this-val-obj-symbol.js1
-rw-r--r--test/built-ins/Symbol/prototype/valueOf/this-val-symbol.js1
-rw-r--r--test/built-ins/Symbol/uniqueness.js1
-rw-r--r--test/built-ins/TypedArrays/buffer-arg-byteoffset-is-symbol-throws-sab.js2
-rw-r--r--test/built-ins/TypedArrays/buffer-arg-length-is-symbol-throws-sab.js2
-rw-r--r--test/built-ins/WeakMap/prototype/get/returns-undefined-key-is-not-object.js1
-rw-r--r--test/built-ins/WeakSet/prototype/delete/this-not-object-throw-symbol.js1
-rw-r--r--test/built-ins/WeakSet/symbol-disallowed-as-weakset-key.js2
-rw-r--r--test/harness/verifyProperty-desc-is-not-object.js1
-rw-r--r--test/harness/verifyProperty-restore-accessor-symbol.js1
-rw-r--r--test/harness/verifyProperty-restore-symbol.js1
-rw-r--r--test/harness/verifyProperty-symbol-prop.js1
-rw-r--r--test/language/computed-property-names/basics/symbol.js1
-rw-r--r--test/language/computed-property-names/class/method/symbol.js1
-rw-r--r--test/language/computed-property-names/class/static/method-symbol.js1
-rw-r--r--test/language/computed-property-names/object/method/symbol.js1
-rw-r--r--test/language/expressions/conditional/symbol-conditional-evaluation.js1
-rw-r--r--test/language/expressions/equals/symbol-abstract-equality-comparison.js1
-rw-r--r--test/language/expressions/equals/symbol-strict-equality-comparison.js1
-rw-r--r--test/language/expressions/logical-and/symbol-logical-and-evaluation.js1
-rw-r--r--test/language/expressions/logical-not/symbol-logical-not-evaluation.js1
-rw-r--r--test/language/expressions/logical-or/symbol-logical-or-evaluation.js1
-rw-r--r--test/language/expressions/object/computed-__proto__.js1
-rw-r--r--test/language/expressions/typeof/symbol.js1
-rw-r--r--test/language/statements/class/subclass/derived-class-return-override-with-symbol.js1
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 0db9d527d..73ba0d813 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 4feed1a46..79d391edf 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 723fc7eed..febb378b9 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 a7a918f76..4446de77c 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 f4ad4f40b..6659a5d4d 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 370a36807..b063476dd 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 4a2b4cd41..2f7bc5dd9 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 d72af8987..654be7c99 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 53558acc2..33641e8e5 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 ad00e7d36..704934342 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 a3bc31b6b..d1cc5e6d4 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 d87f83f0e..7687a51af 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 5e4c3c9ad..8fa8e04e9 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 1e0aeaa20..a1ec74a45 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 c18eba883..b4c7107d6 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 b9b9aac26..75383f879 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 d55730db8..ec68cb9bd 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 282c3a5a2..3d0781cec 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 ef1335a42..2c24f4b50 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 4232d5566..36dc26240 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 c39f9e279..a54deb3a9 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 dd597cda7..93cffc023 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 004e47ef5..b2d3a873a 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 a322a6abc..6af3bf094 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 9cc20f8cf..9b93997cb 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 a9a880a2c..96102bf16 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 db73cd72f..26a288b03 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 4f17e77a8..28ccc0a78 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 9e6b206f7..05153d076 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 8f81eb431..b4d5a1384 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 69da52dda..ac349430f 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 9617575ad..a8625fd1b 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 01cfb4b6b..6bb4bdf18 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 f69cc1beb..d52ed3298 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 0f52fb72f..1e0fcc892 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 772fa4f15..2827923f0 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 201f951b1..5a396dd35 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 945f5d1f3..120b290f0 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 89397e7e3..520155c20 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 dcb68e35f..831deb3d5 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 d0c59884a..0c04b4316 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 c4aa3cf02..453156c56 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 dfe27205c..53194a058 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 759147e15..ade8dfc7a 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 6730e5be3..2525d9109 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 de3f319c0..143529797 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 f727279c4..e006726c7 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 789b3e067..d715ea6e2 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 c2e0b8645..01441e8cf 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 64ae5c7d9..04b5ac0c1 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 7620fec78..3a47d9ca3 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 c64343df8..46a76eb99 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 9ab055465..096ed5e73 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 7243d0473..d7cc5a8a9 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 19eb80a48..549fa1f1f 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 f60743a31..2a5383472 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 802b1787c..0dc598dfe 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 79e857b75..4cc423002 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 ce054180b..95b7ee53c 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 86212bc65..7920c804a 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 459bc75d2..9ba613193 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 0d18c5360..02d4c6614 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 cae673b1a..e62f06c8f 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 e4b6d2954..e9aaa69b7 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 b79f76eda..aa6e885b8 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 b5ceaeacb..dc1aee35b 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 77348fbd4..22689a846 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 c4274b013..a3158cc68 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 2042cfa6f..4c3820e6f 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 86bf657a8..2f70c632a 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 e51bafffa..2059f7b84 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 5fdb58e5b..a37568c43 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 96df7a934..188712f54 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 1a6541981..f771cb1e1 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 7d6baad46..c2b2bc743 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 c34b6bbdd..965b6e5ab 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 395ba5b48..9fd0a94b4 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 02efc89f1..bfca22f6b 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 416e5db7d..2b9d976bf 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 0ae03e4e9..237aaf62a 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 bfe4097f0..6363ef510 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 8624f6dd0..6599ec870 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 1c25f5f3b..c74175745 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 418c2893f..d269d6737 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 77d726d54..d560fe9fb 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 a407412e5..37953bb14 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 3a59108d8..f16c42e30 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 60e478487..c8d54547a 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 c7425fcb6..bec9976f1 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 31012afeb..7d6506dca 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 3c76e856b..21ef99efa 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 db3add4e3..b1fb4e696 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 7ca1e0f71..904c4abe4 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 d77c83ca3..361009b83 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 689ba7d77..3c2c5a7b7 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 c16152530..6fe19e116 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 7d3a1be68..905a67c80 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 a4040ed31..928726563 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 10440b4c0..93e8a1ca9 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 d31896482..009a88c1a 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() {}