summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js')
-rw-r--r--js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js b/js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js
new file mode 100644
index 0000000000..9e733e1fa0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/object/accessor-name-computed-err-to-prop-key.js
@@ -0,0 +1,57 @@
+// This file was procedurally generated from the following sources:
+// - src/accessor-names/computed-err-to-prop-key.case
+// - src/accessor-names/error/obj.template
+/*---
+description: Abrupt completion when coercing to property key value (Object initializer)
+esid: sec-object-initializer-runtime-semantics-evaluation
+flags: [generated]
+info: |
+ ObjectLiteral :
+ { PropertyDefinitionList }
+ { PropertyDefinitionList , }
+
+ 1. Let obj be ObjectCreate(%ObjectPrototype%).
+ 2. Let status be the result of performing PropertyDefinitionEvaluation of
+ PropertyDefinitionList with arguments obj and true.
+
+ 12.2.6.7 Runtime Semantics: Evaluation
+
+ [...]
+
+ ComputedPropertyName : [ AssignmentExpression ]
+
+ 1. Let exprValue be the result of evaluating AssignmentExpression.
+ 2. Let propName be ? GetValue(exprValue).
+ 3. Return ? ToPropertyKey(propName).
+
+ 7.1.14 ToPropertyKey
+
+ 1. Let key be ? ToPrimitive(argument, hint String).
+
+ 7.1.1 ToPrimitive
+
+ [...]
+ 7. Return ? OrdinaryToPrimitive(input, hint).
+
+ 7.1.1.1 OrdinaryToPrimitive
+
+ 5. For each name in methodNames in List order, do
+ [...]
+ 6. Throw a TypeError exception.
+---*/
+var badKey = Object.create(null);
+
+
+assert.throws(TypeError, function() {
+ ({
+ get [badKey]() {}
+ });
+}, '`get` accessor');
+
+assert.throws(TypeError, function() {
+ ({
+ set [badKey](_) {}
+ });
+}, '`set` accessor');
+
+reportCompare(0, 0);