From cf32265765e943e93adec28af2109a3098eb0036 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 16:40:35 -0400 Subject: [PATCH 01/10] Add tests for valid identifier names also listed as reserved words Ref #2285 --- src/identifier-names/default-escaped-ext.case | 12 +++++ src/identifier-names/default-escaped.case | 12 +++++ src/identifier-names/default.case | 12 +++++ .../class-expression-method-def.template | 44 +++++++++++++++++++ .../class-statement-method-def.template | 44 +++++++++++++++++++ .../default/member-expr.template | 21 +++++++++ .../default/obj-method-definition.template | 41 +++++++++++++++++ .../default/obj-prop-name.template | 40 +++++++++++++++++ 8 files changed, 226 insertions(+) create mode 100644 src/identifier-names/default-escaped-ext.case create mode 100644 src/identifier-names/default-escaped.case create mode 100644 src/identifier-names/default.case create mode 100644 src/identifier-names/default/class-expression-method-def.template create mode 100644 src/identifier-names/default/class-statement-method-def.template create mode 100644 src/identifier-names/default/member-expr.template create mode 100644 src/identifier-names/default/obj-method-definition.template create mode 100644 src/identifier-names/default/obj-prop-name.template diff --git a/src/identifier-names/default-escaped-ext.case b/src/identifier-names/default-escaped-ext.case new file mode 100644 index 0000000000..76f49258ab --- /dev/null +++ b/src/identifier-names/default-escaped-ext.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: default is a valid identifier name, using extended escape +template: default +---*/ + +//- declareWith +def\u{61}ult +//- referenceWith +default diff --git a/src/identifier-names/default-escaped.case b/src/identifier-names/default-escaped.case new file mode 100644 index 0000000000..5c089b769d --- /dev/null +++ b/src/identifier-names/default-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: default is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +def\u0061ult +//- referenceWith +default diff --git a/src/identifier-names/default.case b/src/identifier-names/default.case new file mode 100644 index 0000000000..5f07a71e6b --- /dev/null +++ b/src/identifier-names/default.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: default is a valid identifier name +template: default +---*/ + +//- declareWith +default +//- referenceWith +default diff --git a/src/identifier-names/default/class-expression-method-def.template b/src/identifier-names/default/class-expression-method-def.template new file mode 100644 index 0000000000..f14c1b0b59 --- /dev/null +++ b/src/identifier-names/default/class-expression-method-def.template @@ -0,0 +1,44 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/class/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [class] +---*/ + +var C = class { + /*{ declareWith }*/() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/default/class-statement-method-def.template b/src/identifier-names/default/class-statement-method-def.template new file mode 100644 index 0000000000..7d00fa309b --- /dev/null +++ b/src/identifier-names/default/class-statement-method-def.template @@ -0,0 +1,44 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/statements/class/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [class] +---*/ + +class C { + /*{ declareWith }*/() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/default/member-expr.template b/src/identifier-names/default/member-expr.template new file mode 100644 index 0000000000..fa15c0a785 --- /dev/null +++ b/src/identifier-names/default/member-expr.template @@ -0,0 +1,21 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/assignment/member-expr-ident-name- +name: MemberExpression IdentifierName +esid: prod-PropertyDefinition +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj./*{ declareWith }*/ = 42; + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); diff --git a/src/identifier-names/default/obj-method-definition.template b/src/identifier-names/default/obj-method-definition.template new file mode 100644 index 0000000000..ab2ec739d8 --- /dev/null +++ b/src/identifier-names/default/obj-method-definition.template @@ -0,0 +1,41 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/object/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + /*{ declareWith }*/() { return 42; } +}; + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/default/obj-prop-name.template b/src/identifier-names/default/obj-prop-name.template new file mode 100644 index 0000000000..02db39b0a6 --- /dev/null +++ b/src/identifier-names/default/obj-prop-name.template @@ -0,0 +1,40 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/object/ident-name-prop-name-literal- +name: PropertyName +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + /*{ declareWith }*/: 42 +}; + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); From 4d06dbc7eb285a3467f1bb91e2b978f96b7f411c Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 16:44:01 -0400 Subject: [PATCH 02/10] Generate tests --- ...ber-expr-ident-name-default-escaped-ext.js | 22 +++++++++ .../member-expr-ident-name-default-escaped.js | 22 +++++++++ .../member-expr-ident-name-default.js | 22 +++++++++ ...ent-name-method-def-default-escaped-ext.js | 46 +++++++++++++++++++ .../ident-name-method-def-default-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-default.js | 46 +++++++++++++++++++ ...ent-name-method-def-default-escaped-ext.js | 42 +++++++++++++++++ .../ident-name-method-def-default-escaped.js | 42 +++++++++++++++++ .../object/ident-name-method-def-default.js | 42 +++++++++++++++++ ...e-prop-name-literal-default-escaped-ext.js | 41 +++++++++++++++++ ...-name-prop-name-literal-default-escaped.js | 41 +++++++++++++++++ .../ident-name-prop-name-literal-default.js | 41 +++++++++++++++++ ...ent-name-method-def-default-escaped-ext.js | 46 +++++++++++++++++++ .../ident-name-method-def-default-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-default.js | 46 +++++++++++++++++++ 15 files changed, 591 insertions(+) create mode 100644 test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-default-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-default.js create mode 100644 test/language/expressions/class/ident-name-method-def-default-escaped-ext.js create mode 100644 test/language/expressions/class/ident-name-method-def-default-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-default.js create mode 100644 test/language/expressions/object/ident-name-method-def-default-escaped-ext.js create mode 100644 test/language/expressions/object/ident-name-method-def-default-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-default.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-default.js create mode 100644 test/language/statements/class/ident-name-method-def-default-escaped-ext.js create mode 100644 test/language/statements/class/ident-name-method-def-default-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-default.js diff --git a/test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js b/test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js new file mode 100644 index 0000000000..77d058225c --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-default-escaped-ext.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/member-expr.template +/*--- +description: default is a valid identifier name, using extended escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.def\u{61}ult = 42; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-default-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-default-escaped.js new file mode 100644 index 0000000000..ad9dcedceb --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-default-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: default is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.def\u0061ult = 42; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-default.js b/test/language/expressions/assignment/member-expr-ident-name-default.js new file mode 100644 index 0000000000..ddd67d6184 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-default.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/member-expr.template +/*--- +description: default is a valid identifier name (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.default = 42; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-default-escaped-ext.js b/test/language/expressions/class/ident-name-method-def-default-escaped-ext.js new file mode 100644 index 0000000000..243b2cec57 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-default-escaped-ext.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: default is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + def\u{61}ult() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-default-escaped.js b/test/language/expressions/class/ident-name-method-def-default-escaped.js new file mode 100644 index 0000000000..854c940e23 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-default-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: default is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + def\u0061ult() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-default.js b/test/language/expressions/class/ident-name-method-def-default.js new file mode 100644 index 0000000000..3c4679c824 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-default.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: default is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + default() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-default-escaped-ext.js b/test/language/expressions/object/ident-name-method-def-default-escaped-ext.js new file mode 100644 index 0000000000..0023bf41f2 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-default-escaped-ext.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: default is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + def\u{61}ult() { return 42; } +}; + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-default-escaped.js b/test/language/expressions/object/ident-name-method-def-default-escaped.js new file mode 100644 index 0000000000..900527e1ad --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-default-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: default is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + def\u0061ult() { return 42; } +}; + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-default.js b/test/language/expressions/object/ident-name-method-def-default.js new file mode 100644 index 0000000000..3c0c89463a --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-default.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: default is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + default() { return 42; } +}; + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js b/test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js new file mode 100644 index 0000000000..63af82a9f7 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-default-escaped-ext.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: default is a valid identifier name, using extended escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + def\u{61}ult: 42 +}; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js new file mode 100644 index 0000000000..ad008e65d3 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-default-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: default is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + def\u0061ult: 42 +}; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-default.js b/test/language/expressions/object/ident-name-prop-name-literal-default.js new file mode 100644 index 0000000000..55e2d582d8 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-default.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: default is a valid identifier name (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + default: 42 +}; + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-default-escaped-ext.js b/test/language/statements/class/ident-name-method-def-default-escaped-ext.js new file mode 100644 index 0000000000..c1a8a83478 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-default-escaped-ext.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: default is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + def\u{61}ult() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-default-escaped.js b/test/language/statements/class/ident-name-method-def-default-escaped.js new file mode 100644 index 0000000000..3de1349e56 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-default-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: default is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + def\u0061ult() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-default.js b/test/language/statements/class/ident-name-method-def-default.js new file mode 100644 index 0000000000..82ae173c14 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-default.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: default is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + default() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['default'](), 42, 'property exists'); From afcbd8106117c78b06ff2a6d4cac4a126038bb92 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 17:00:36 -0400 Subject: [PATCH 03/10] Add extends --- src/identifier-names/extends-escaped-ext.case | 12 ++++++++++++ src/identifier-names/extends-escaped.case | 12 ++++++++++++ src/identifier-names/extends.case | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 src/identifier-names/extends-escaped-ext.case create mode 100644 src/identifier-names/extends-escaped.case create mode 100644 src/identifier-names/extends.case diff --git a/src/identifier-names/extends-escaped-ext.case b/src/identifier-names/extends-escaped-ext.case new file mode 100644 index 0000000000..993610be40 --- /dev/null +++ b/src/identifier-names/extends-escaped-ext.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: extends is a valid identifier name, using extended escape +template: default +---*/ + +//- declareWith +\u{65}xtends +//- referenceWith +extends diff --git a/src/identifier-names/extends-escaped.case b/src/identifier-names/extends-escaped.case new file mode 100644 index 0000000000..0cb0ee0321 --- /dev/null +++ b/src/identifier-names/extends-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: extends is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0065xtends +//- referenceWith +extends diff --git a/src/identifier-names/extends.case b/src/identifier-names/extends.case new file mode 100644 index 0000000000..c70bc1b64c --- /dev/null +++ b/src/identifier-names/extends.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: extends is a valid identifier name +template: default +---*/ + +//- declareWith +extends +//- referenceWith +extends From ad98bcaf181363d0e5c4be225e8ea9ee2f893252 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 17:51:55 -0400 Subject: [PATCH 04/10] Add more cases with other reserved words --- src/identifier-names/await-escaped.case | 12 ++++++++++++ src/identifier-names/break-escaped.case | 12 ++++++++++++ src/identifier-names/case-escaped.case | 12 ++++++++++++ src/identifier-names/catch-escaped.case | 12 ++++++++++++ src/identifier-names/class-escaped.case | 12 ++++++++++++ src/identifier-names/const-escaped.case | 12 ++++++++++++ src/identifier-names/continue-escaped.case | 12 ++++++++++++ src/identifier-names/debugger-escaped.case | 12 ++++++++++++ src/identifier-names/delete-escaped.case | 12 ++++++++++++ src/identifier-names/do-escaped.case | 12 ++++++++++++ src/identifier-names/else-escaped.case | 12 ++++++++++++ src/identifier-names/enum-escaped.case | 12 ++++++++++++ src/identifier-names/export-escaped.case | 12 ++++++++++++ src/identifier-names/finally-escaped.case | 12 ++++++++++++ src/identifier-names/for-escaped.case | 12 ++++++++++++ src/identifier-names/function-escaped.case | 12 ++++++++++++ src/identifier-names/if-escaped.case | 12 ++++++++++++ src/identifier-names/implements-escaped.case | 12 ++++++++++++ src/identifier-names/import-escaped.case | 12 ++++++++++++ src/identifier-names/in-escaped.case | 12 ++++++++++++ src/identifier-names/instance-escaped.case | 12 ++++++++++++ src/identifier-names/interface-escaped.case | 12 ++++++++++++ src/identifier-names/let-escaped.case | 12 ++++++++++++ src/identifier-names/new-escaped.case | 12 ++++++++++++ src/identifier-names/package-escaped.case | 12 ++++++++++++ src/identifier-names/private-escaped.case | 12 ++++++++++++ src/identifier-names/protected-escaped.case | 12 ++++++++++++ src/identifier-names/public-escaped.case | 12 ++++++++++++ src/identifier-names/return-escaped.case | 12 ++++++++++++ src/identifier-names/static-escaped.case | 12 ++++++++++++ src/identifier-names/super-escaped.case | 12 ++++++++++++ src/identifier-names/switch-escaped.case | 12 ++++++++++++ src/identifier-names/this-escaped.case | 12 ++++++++++++ src/identifier-names/throw-escaped.case | 12 ++++++++++++ src/identifier-names/try-escaped.case | 12 ++++++++++++ src/identifier-names/typeof-escaped.case | 12 ++++++++++++ src/identifier-names/var-escaped.case | 12 ++++++++++++ src/identifier-names/void-escaped.case | 12 ++++++++++++ src/identifier-names/while-escaped.case | 12 ++++++++++++ src/identifier-names/with-escaped.case | 12 ++++++++++++ src/identifier-names/yield-escaped.case | 12 ++++++++++++ 41 files changed, 492 insertions(+) create mode 100644 src/identifier-names/await-escaped.case create mode 100644 src/identifier-names/break-escaped.case create mode 100644 src/identifier-names/case-escaped.case create mode 100644 src/identifier-names/catch-escaped.case create mode 100644 src/identifier-names/class-escaped.case create mode 100644 src/identifier-names/const-escaped.case create mode 100644 src/identifier-names/continue-escaped.case create mode 100644 src/identifier-names/debugger-escaped.case create mode 100644 src/identifier-names/delete-escaped.case create mode 100644 src/identifier-names/do-escaped.case create mode 100644 src/identifier-names/else-escaped.case create mode 100644 src/identifier-names/enum-escaped.case create mode 100644 src/identifier-names/export-escaped.case create mode 100644 src/identifier-names/finally-escaped.case create mode 100644 src/identifier-names/for-escaped.case create mode 100644 src/identifier-names/function-escaped.case create mode 100644 src/identifier-names/if-escaped.case create mode 100644 src/identifier-names/implements-escaped.case create mode 100644 src/identifier-names/import-escaped.case create mode 100644 src/identifier-names/in-escaped.case create mode 100644 src/identifier-names/instance-escaped.case create mode 100644 src/identifier-names/interface-escaped.case create mode 100644 src/identifier-names/let-escaped.case create mode 100644 src/identifier-names/new-escaped.case create mode 100644 src/identifier-names/package-escaped.case create mode 100644 src/identifier-names/private-escaped.case create mode 100644 src/identifier-names/protected-escaped.case create mode 100644 src/identifier-names/public-escaped.case create mode 100644 src/identifier-names/return-escaped.case create mode 100644 src/identifier-names/static-escaped.case create mode 100644 src/identifier-names/super-escaped.case create mode 100644 src/identifier-names/switch-escaped.case create mode 100644 src/identifier-names/this-escaped.case create mode 100644 src/identifier-names/throw-escaped.case create mode 100644 src/identifier-names/try-escaped.case create mode 100644 src/identifier-names/typeof-escaped.case create mode 100644 src/identifier-names/var-escaped.case create mode 100644 src/identifier-names/void-escaped.case create mode 100644 src/identifier-names/while-escaped.case create mode 100644 src/identifier-names/with-escaped.case create mode 100644 src/identifier-names/yield-escaped.case diff --git a/src/identifier-names/await-escaped.case b/src/identifier-names/await-escaped.case new file mode 100644 index 0000000000..82454ad045 --- /dev/null +++ b/src/identifier-names/await-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: await is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0061wait +//- referenceWith +await diff --git a/src/identifier-names/break-escaped.case b/src/identifier-names/break-escaped.case new file mode 100644 index 0000000000..9ba4c033cc --- /dev/null +++ b/src/identifier-names/break-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: break is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +bre\u0061k +//- referenceWith +break diff --git a/src/identifier-names/case-escaped.case b/src/identifier-names/case-escaped.case new file mode 100644 index 0000000000..23fac9a625 --- /dev/null +++ b/src/identifier-names/case-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: case is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +c\u0061se +//- referenceWith +case diff --git a/src/identifier-names/catch-escaped.case b/src/identifier-names/catch-escaped.case new file mode 100644 index 0000000000..4b456e6939 --- /dev/null +++ b/src/identifier-names/catch-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: catch is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +c\u0061tch +//- referenceWith +catch diff --git a/src/identifier-names/class-escaped.case b/src/identifier-names/class-escaped.case new file mode 100644 index 0000000000..eca45c659d --- /dev/null +++ b/src/identifier-names/class-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: class is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +cl\u0061ss +//- referenceWith +class diff --git a/src/identifier-names/const-escaped.case b/src/identifier-names/const-escaped.case new file mode 100644 index 0000000000..d1cd11f709 --- /dev/null +++ b/src/identifier-names/const-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: const is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0063onst +//- referenceWith +const diff --git a/src/identifier-names/continue-escaped.case b/src/identifier-names/continue-escaped.case new file mode 100644 index 0000000000..21c94121db --- /dev/null +++ b/src/identifier-names/continue-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: continue is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0063ontinue +//- referenceWith +continue diff --git a/src/identifier-names/debugger-escaped.case b/src/identifier-names/debugger-escaped.case new file mode 100644 index 0000000000..b40650e20f --- /dev/null +++ b/src/identifier-names/debugger-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: debugger is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0064ebugger +//- referenceWith +debugger diff --git a/src/identifier-names/delete-escaped.case b/src/identifier-names/delete-escaped.case new file mode 100644 index 0000000000..b21cf46994 --- /dev/null +++ b/src/identifier-names/delete-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: delete is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0064elete +//- referenceWith +delete diff --git a/src/identifier-names/do-escaped.case b/src/identifier-names/do-escaped.case new file mode 100644 index 0000000000..2776bc8291 --- /dev/null +++ b/src/identifier-names/do-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: do is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0064o +//- referenceWith +do diff --git a/src/identifier-names/else-escaped.case b/src/identifier-names/else-escaped.case new file mode 100644 index 0000000000..84d2a01123 --- /dev/null +++ b/src/identifier-names/else-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: else is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0065lse +//- referenceWith +else diff --git a/src/identifier-names/enum-escaped.case b/src/identifier-names/enum-escaped.case new file mode 100644 index 0000000000..278ab8fb1c --- /dev/null +++ b/src/identifier-names/enum-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: enum is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0065num +//- referenceWith +enum diff --git a/src/identifier-names/export-escaped.case b/src/identifier-names/export-escaped.case new file mode 100644 index 0000000000..542aa3b4d2 --- /dev/null +++ b/src/identifier-names/export-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: export is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0065xport +//- referenceWith +export diff --git a/src/identifier-names/finally-escaped.case b/src/identifier-names/finally-escaped.case new file mode 100644 index 0000000000..a51e793b9c --- /dev/null +++ b/src/identifier-names/finally-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: finally is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0066inally +//- referenceWith +finally diff --git a/src/identifier-names/for-escaped.case b/src/identifier-names/for-escaped.case new file mode 100644 index 0000000000..78485e1389 --- /dev/null +++ b/src/identifier-names/for-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: for is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0066or +//- referenceWith +for diff --git a/src/identifier-names/function-escaped.case b/src/identifier-names/function-escaped.case new file mode 100644 index 0000000000..95183e73a2 --- /dev/null +++ b/src/identifier-names/function-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: function is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0066unction +//- referenceWith +function diff --git a/src/identifier-names/if-escaped.case b/src/identifier-names/if-escaped.case new file mode 100644 index 0000000000..f83622ea32 --- /dev/null +++ b/src/identifier-names/if-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: if is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +i\u0066 +//- referenceWith +if diff --git a/src/identifier-names/implements-escaped.case b/src/identifier-names/implements-escaped.case new file mode 100644 index 0000000000..3fd2360a6a --- /dev/null +++ b/src/identifier-names/implements-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: implements is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0069mplements +//- referenceWith +implements diff --git a/src/identifier-names/import-escaped.case b/src/identifier-names/import-escaped.case new file mode 100644 index 0000000000..b19a85cec6 --- /dev/null +++ b/src/identifier-names/import-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: import is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0069mport +//- referenceWith +import diff --git a/src/identifier-names/in-escaped.case b/src/identifier-names/in-escaped.case new file mode 100644 index 0000000000..accbcd4269 --- /dev/null +++ b/src/identifier-names/in-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: in is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0069n +//- referenceWith +in diff --git a/src/identifier-names/instance-escaped.case b/src/identifier-names/instance-escaped.case new file mode 100644 index 0000000000..47482bfca1 --- /dev/null +++ b/src/identifier-names/instance-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: instance is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +\u0069nstance +//- referenceWith +instance diff --git a/src/identifier-names/interface-escaped.case b/src/identifier-names/interface-escaped.case new file mode 100644 index 0000000000..d5d2ddd90c --- /dev/null +++ b/src/identifier-names/interface-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: interface is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +interf\u0061ce +//- referenceWith +interface diff --git a/src/identifier-names/let-escaped.case b/src/identifier-names/let-escaped.case new file mode 100644 index 0000000000..69d62f71c9 --- /dev/null +++ b/src/identifier-names/let-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: let is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +l\u0065t +//- referenceWith +let diff --git a/src/identifier-names/new-escaped.case b/src/identifier-names/new-escaped.case new file mode 100644 index 0000000000..4fd3043e72 --- /dev/null +++ b/src/identifier-names/new-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: new is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +n\u0065w +//- referenceWith +new diff --git a/src/identifier-names/package-escaped.case b/src/identifier-names/package-escaped.case new file mode 100644 index 0000000000..b15a980aec --- /dev/null +++ b/src/identifier-names/package-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: package is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +p\u0061ckage +//- referenceWith +package diff --git a/src/identifier-names/private-escaped.case b/src/identifier-names/private-escaped.case new file mode 100644 index 0000000000..5f0c9af94d --- /dev/null +++ b/src/identifier-names/private-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: private is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +privat\u0065 +//- referenceWith +private diff --git a/src/identifier-names/protected-escaped.case b/src/identifier-names/protected-escaped.case new file mode 100644 index 0000000000..420c439643 --- /dev/null +++ b/src/identifier-names/protected-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: protected is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +prot\u0065cted +//- referenceWith +protected diff --git a/src/identifier-names/public-escaped.case b/src/identifier-names/public-escaped.case new file mode 100644 index 0000000000..f3d6250a36 --- /dev/null +++ b/src/identifier-names/public-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: public is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +pu\u0062lic +//- referenceWith +public diff --git a/src/identifier-names/return-escaped.case b/src/identifier-names/return-escaped.case new file mode 100644 index 0000000000..fc86170b52 --- /dev/null +++ b/src/identifier-names/return-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: return is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +r\u0065turn +//- referenceWith +return diff --git a/src/identifier-names/static-escaped.case b/src/identifier-names/static-escaped.case new file mode 100644 index 0000000000..bac1f7e03e --- /dev/null +++ b/src/identifier-names/static-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: static is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +st\u0061tic +//- referenceWith +static diff --git a/src/identifier-names/super-escaped.case b/src/identifier-names/super-escaped.case new file mode 100644 index 0000000000..7463f1940b --- /dev/null +++ b/src/identifier-names/super-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: super is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +s\u0065per +//- referenceWith +super diff --git a/src/identifier-names/switch-escaped.case b/src/identifier-names/switch-escaped.case new file mode 100644 index 0000000000..f80300a594 --- /dev/null +++ b/src/identifier-names/switch-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: switch is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +sw\u0069tch +//- referenceWith +switch diff --git a/src/identifier-names/this-escaped.case b/src/identifier-names/this-escaped.case new file mode 100644 index 0000000000..fe3b292391 --- /dev/null +++ b/src/identifier-names/this-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: this is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +th\u0069s +//- referenceWith +this diff --git a/src/identifier-names/throw-escaped.case b/src/identifier-names/throw-escaped.case new file mode 100644 index 0000000000..2914fafcd2 --- /dev/null +++ b/src/identifier-names/throw-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: throw is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +t\u0068row +//- referenceWith +throw diff --git a/src/identifier-names/try-escaped.case b/src/identifier-names/try-escaped.case new file mode 100644 index 0000000000..f17260bbfa --- /dev/null +++ b/src/identifier-names/try-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: try is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +tr\u0079 +//- referenceWith +try diff --git a/src/identifier-names/typeof-escaped.case b/src/identifier-names/typeof-escaped.case new file mode 100644 index 0000000000..ad0661e69f --- /dev/null +++ b/src/identifier-names/typeof-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: typeof is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +t\u0068peof +//- referenceWith +typeof diff --git a/src/identifier-names/var-escaped.case b/src/identifier-names/var-escaped.case new file mode 100644 index 0000000000..e1829aa3fe --- /dev/null +++ b/src/identifier-names/var-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: var is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +v\u0061r +//- referenceWith +var diff --git a/src/identifier-names/void-escaped.case b/src/identifier-names/void-escaped.case new file mode 100644 index 0000000000..950f177988 --- /dev/null +++ b/src/identifier-names/void-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: void is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +voi\u0064 +//- referenceWith +void diff --git a/src/identifier-names/while-escaped.case b/src/identifier-names/while-escaped.case new file mode 100644 index 0000000000..9e1f527b00 --- /dev/null +++ b/src/identifier-names/while-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: while is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +whil\u0065 +//- referenceWith +while diff --git a/src/identifier-names/with-escaped.case b/src/identifier-names/with-escaped.case new file mode 100644 index 0000000000..110409a87c --- /dev/null +++ b/src/identifier-names/with-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: with is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +w\u0069th +//- referenceWith +with diff --git a/src/identifier-names/yield-escaped.case b/src/identifier-names/yield-escaped.case new file mode 100644 index 0000000000..f3f6ad54ce --- /dev/null +++ b/src/identifier-names/yield-escaped.case @@ -0,0 +1,12 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: yield is a valid identifier name, using escape +template: default +---*/ + +//- declareWith +y\u0069eld +//- referenceWith +yield From ae4df81f6f380942d83d9861c2a25dfd6ebd6b97 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 17:52:41 -0400 Subject: [PATCH 05/10] Generate tests --- .../member-expr-ident-name-await-escaped.js | 22 +++++++++ .../member-expr-ident-name-break-escaped.js | 22 +++++++++ .../member-expr-ident-name-case-escaped.js | 22 +++++++++ .../member-expr-ident-name-catch-escaped.js | 22 +++++++++ .../member-expr-ident-name-class-escaped.js | 22 +++++++++ .../member-expr-ident-name-const-escaped.js | 22 +++++++++ ...member-expr-ident-name-continue-escaped.js | 22 +++++++++ ...member-expr-ident-name-debugger-escaped.js | 22 +++++++++ .../member-expr-ident-name-delete-escaped.js | 22 +++++++++ .../member-expr-ident-name-do-escaped.js | 22 +++++++++ .../member-expr-ident-name-else-escaped.js | 22 +++++++++ .../member-expr-ident-name-enum-escaped.js | 22 +++++++++ .../member-expr-ident-name-export-escaped.js | 22 +++++++++ ...ber-expr-ident-name-extends-escaped-ext.js | 22 +++++++++ .../member-expr-ident-name-extends-escaped.js | 22 +++++++++ .../member-expr-ident-name-extends.js | 22 +++++++++ .../member-expr-ident-name-finally-escaped.js | 22 +++++++++ .../member-expr-ident-name-for-escaped.js | 22 +++++++++ ...member-expr-ident-name-function-escaped.js | 22 +++++++++ .../member-expr-ident-name-if-escaped.js | 22 +++++++++ ...mber-expr-ident-name-implements-escaped.js | 22 +++++++++ .../member-expr-ident-name-import-escaped.js | 22 +++++++++ .../member-expr-ident-name-in-escaped.js | 22 +++++++++ ...member-expr-ident-name-instance-escaped.js | 22 +++++++++ ...ember-expr-ident-name-interface-escaped.js | 22 +++++++++ .../member-expr-ident-name-let-escaped.js | 22 +++++++++ .../member-expr-ident-name-new-escaped.js | 22 +++++++++ .../member-expr-ident-name-package-escaped.js | 22 +++++++++ .../member-expr-ident-name-private-escaped.js | 22 +++++++++ ...ember-expr-ident-name-protected-escaped.js | 22 +++++++++ .../member-expr-ident-name-public-escaped.js | 22 +++++++++ .../member-expr-ident-name-return-escaped.js | 22 +++++++++ .../member-expr-ident-name-static-escaped.js | 22 +++++++++ .../member-expr-ident-name-super-escaped.js | 22 +++++++++ .../member-expr-ident-name-switch-escaped.js | 22 +++++++++ .../member-expr-ident-name-this-escaped.js | 22 +++++++++ .../member-expr-ident-name-throw-escaped.js | 22 +++++++++ .../member-expr-ident-name-try-escaped.js | 22 +++++++++ .../member-expr-ident-name-typeof-escaped.js | 22 +++++++++ .../member-expr-ident-name-var-escaped.js | 22 +++++++++ .../member-expr-ident-name-void-escaped.js | 22 +++++++++ .../member-expr-ident-name-while-escaped.js | 22 +++++++++ .../member-expr-ident-name-with-escaped.js | 22 +++++++++ .../member-expr-ident-name-yield-escaped.js | 22 +++++++++ .../ident-name-method-def-await-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-break-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-case-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-catch-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-class-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-const-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-continue-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-debugger-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-delete-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-do-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-else-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-enum-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-export-escaped.js | 46 +++++++++++++++++++ ...ent-name-method-def-extends-escaped-ext.js | 46 +++++++++++++++++++ .../ident-name-method-def-extends-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-extends.js | 46 +++++++++++++++++++ .../ident-name-method-def-finally-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-for-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-function-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-if-escaped.js | 46 +++++++++++++++++++ ...dent-name-method-def-implements-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-import-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-in-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-instance-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-let-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-new-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-package-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-private-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-protected-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-public-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-return-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-static-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-super-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-switch-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-this-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-throw-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-try-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-typeof-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-var-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-void-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-while-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-with-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-yield-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-await-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-break-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-case-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-catch-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-class-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-const-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-continue-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-debugger-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-delete-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-do-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-else-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-enum-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-export-escaped.js | 42 +++++++++++++++++ ...ent-name-method-def-extends-escaped-ext.js | 42 +++++++++++++++++ .../ident-name-method-def-extends-escaped.js | 42 +++++++++++++++++ .../object/ident-name-method-def-extends.js | 42 +++++++++++++++++ .../ident-name-method-def-finally-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-for-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-function-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-if-escaped.js | 42 +++++++++++++++++ ...dent-name-method-def-implements-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-import-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-in-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-instance-escaped.js | 42 +++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-let-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-new-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-package-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-private-escaped.js | 42 +++++++++++++++++ ...ident-name-method-def-protected-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-public-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-return-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-static-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-super-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-switch-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-this-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-throw-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-try-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-typeof-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-var-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-void-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-while-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-with-escaped.js | 42 +++++++++++++++++ .../ident-name-method-def-yield-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-await-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-break-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-case-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-catch-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-class-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-const-escaped.js | 41 +++++++++++++++++ ...name-prop-name-literal-continue-escaped.js | 41 +++++++++++++++++ ...name-prop-name-literal-debugger-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-delete-escaped.js | 41 +++++++++++++++++ ...ident-name-prop-name-literal-do-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-else-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-enum-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-export-escaped.js | 41 +++++++++++++++++ ...e-prop-name-literal-extends-escaped-ext.js | 41 +++++++++++++++++ ...-name-prop-name-literal-extends-escaped.js | 41 +++++++++++++++++ .../ident-name-prop-name-literal-extends.js | 41 +++++++++++++++++ ...-name-prop-name-literal-finally-escaped.js | 41 +++++++++++++++++ ...dent-name-prop-name-literal-for-escaped.js | 41 +++++++++++++++++ ...name-prop-name-literal-function-escaped.js | 41 +++++++++++++++++ ...ident-name-prop-name-literal-if-escaped.js | 41 +++++++++++++++++ ...me-prop-name-literal-implements-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-import-escaped.js | 41 +++++++++++++++++ ...ident-name-prop-name-literal-in-escaped.js | 41 +++++++++++++++++ ...name-prop-name-literal-instance-escaped.js | 41 +++++++++++++++++ ...ame-prop-name-literal-interface-escaped.js | 41 +++++++++++++++++ ...dent-name-prop-name-literal-let-escaped.js | 41 +++++++++++++++++ ...dent-name-prop-name-literal-new-escaped.js | 41 +++++++++++++++++ ...-name-prop-name-literal-package-escaped.js | 41 +++++++++++++++++ ...-name-prop-name-literal-private-escaped.js | 41 +++++++++++++++++ ...ame-prop-name-literal-protected-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-public-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-return-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-static-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-super-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-switch-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-this-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-throw-escaped.js | 41 +++++++++++++++++ ...dent-name-prop-name-literal-try-escaped.js | 41 +++++++++++++++++ ...t-name-prop-name-literal-typeof-escaped.js | 41 +++++++++++++++++ ...dent-name-prop-name-literal-var-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-void-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-while-escaped.js | 41 +++++++++++++++++ ...ent-name-prop-name-literal-with-escaped.js | 41 +++++++++++++++++ ...nt-name-prop-name-literal-yield-escaped.js | 41 +++++++++++++++++ .../ident-name-method-def-await-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-break-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-case-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-catch-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-class-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-const-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-continue-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-debugger-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-delete-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-do-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-else-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-enum-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-export-escaped.js | 46 +++++++++++++++++++ ...ent-name-method-def-extends-escaped-ext.js | 46 +++++++++++++++++++ .../ident-name-method-def-extends-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-extends.js | 46 +++++++++++++++++++ .../ident-name-method-def-finally-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-for-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-function-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-if-escaped.js | 46 +++++++++++++++++++ ...dent-name-method-def-implements-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-import-escaped.js | 46 +++++++++++++++++++ .../class/ident-name-method-def-in-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-instance-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-let-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-new-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-package-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-private-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-protected-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-public-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-return-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-static-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-super-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-switch-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-this-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-throw-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-try-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-typeof-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-var-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-void-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-while-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-with-escaped.js | 46 +++++++++++++++++++ .../ident-name-method-def-yield-escaped.js | 46 +++++++++++++++++++ 220 files changed, 8668 insertions(+) create mode 100644 test/language/expressions/assignment/member-expr-ident-name-await-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-break-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-case-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-class-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-const-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-do-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-else-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-export-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-extends.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-for-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-function-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-if-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-import-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-in-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-let-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-new-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-package-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-private-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-public-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-return-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-static-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-super-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-this-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-try-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-var-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-void-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-while-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-with-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-await-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-break-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-case-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-catch-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-class-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-const-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-continue-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-debugger-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-delete-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-do-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-else-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-enum-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-export-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js create mode 100644 test/language/expressions/class/ident-name-method-def-extends-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-extends.js create mode 100644 test/language/expressions/class/ident-name-method-def-finally-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-for-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-function-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-if-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-implements-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-import-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-in-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-instance-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-interface-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-let-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-new-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-package-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-private-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-protected-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-public-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-return-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-static-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-super-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-switch-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-this-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-throw-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-try-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-typeof-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-var-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-void-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-while-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-with-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-yield-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-await-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-break-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-case-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-catch-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-class-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-const-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-continue-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-debugger-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-delete-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-do-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-else-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-enum-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-export-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js create mode 100644 test/language/expressions/object/ident-name-method-def-extends-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-extends.js create mode 100644 test/language/expressions/object/ident-name-method-def-finally-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-for-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-function-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-if-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-implements-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-import-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-in-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-instance-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-interface-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-let-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-new-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-package-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-private-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-protected-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-public-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-return-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-static-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-super-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-switch-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-this-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-throw-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-try-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-typeof-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-var-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-void-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-while-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-with-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-yield-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-extends.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-await-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-break-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-case-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-catch-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-class-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-const-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-continue-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-debugger-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-delete-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-do-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-else-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-enum-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-export-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-extends-escaped-ext.js create mode 100644 test/language/statements/class/ident-name-method-def-extends-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-extends.js create mode 100644 test/language/statements/class/ident-name-method-def-finally-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-for-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-function-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-if-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-implements-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-import-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-in-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-instance-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-interface-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-let-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-new-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-package-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-private-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-protected-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-public-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-return-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-static-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-super-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-switch-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-this-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-throw-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-try-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-typeof-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-var-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-void-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-while-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-with-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-yield-escaped.js diff --git a/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js new file mode 100644 index 0000000000..f43c3e800c --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/await-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: await is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0061wait = 42; + +assert.sameValue(obj['await'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-break-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-break-escaped.js new file mode 100644 index 0000000000..be02cb28db --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-break-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: break is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.bre\u0061k = 42; + +assert.sameValue(obj['break'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-case-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-case-escaped.js new file mode 100644 index 0000000000..45cd852898 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-case-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: case is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.c\u0061se = 42; + +assert.sameValue(obj['case'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js new file mode 100644 index 0000000000..a221f8b92b --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-catch-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: catch is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.c\u0061tch = 42; + +assert.sameValue(obj['catch'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-class-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-class-escaped.js new file mode 100644 index 0000000000..dace026026 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-class-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: class is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.cl\u0061ss = 42; + +assert.sameValue(obj['class'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-const-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-const-escaped.js new file mode 100644 index 0000000000..da2570877e --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-const-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: const is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0063onst = 42; + +assert.sameValue(obj['const'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js new file mode 100644 index 0000000000..9d3e0bc08a --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-continue-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: continue is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0063ontinue = 42; + +assert.sameValue(obj['continue'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js new file mode 100644 index 0000000000..dd82c2bf2e --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-debugger-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: debugger is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0064ebugger = 42; + +assert.sameValue(obj['debugger'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js new file mode 100644 index 0000000000..e35d08f318 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-delete-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: delete is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0064elete = 42; + +assert.sameValue(obj['delete'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-do-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-do-escaped.js new file mode 100644 index 0000000000..0d1cc4aa08 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-do-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: do is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0064o = 42; + +assert.sameValue(obj['do'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-else-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-else-escaped.js new file mode 100644 index 0000000000..fce18356e5 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-else-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: else is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0065lse = 42; + +assert.sameValue(obj['else'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js new file mode 100644 index 0000000000..8a5ef8cfc0 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-enum-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: enum is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0065num = 42; + +assert.sameValue(obj['enum'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-export-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-export-escaped.js new file mode 100644 index 0000000000..8c4cde8943 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-export-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: export is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0065xport = 42; + +assert.sameValue(obj['export'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js b/test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js new file mode 100644 index 0000000000..08aaee07a0 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-extends-escaped-ext.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/member-expr.template +/*--- +description: extends is a valid identifier name, using extended escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u{65}xtends = 42; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js new file mode 100644 index 0000000000..4f3e30a0e7 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-extends-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: extends is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0065xtends = 42; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-extends.js b/test/language/expressions/assignment/member-expr-ident-name-extends.js new file mode 100644 index 0000000000..6090b3d11c --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-extends.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/member-expr.template +/*--- +description: extends is a valid identifier name (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.extends = 42; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js new file mode 100644 index 0000000000..558a2b23c0 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-finally-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: finally is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0066inally = 42; + +assert.sameValue(obj['finally'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-for-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-for-escaped.js new file mode 100644 index 0000000000..27c6a9f241 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-for-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: for is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0066or = 42; + +assert.sameValue(obj['for'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-function-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-function-escaped.js new file mode 100644 index 0000000000..220c8eb08f --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-function-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: function is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0066unction = 42; + +assert.sameValue(obj['function'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-if-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-if-escaped.js new file mode 100644 index 0000000000..6bd823db51 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-if-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: if is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.i\u0066 = 42; + +assert.sameValue(obj['if'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js new file mode 100644 index 0000000000..44f77994e5 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: implements is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0069mplements = 42; + +assert.sameValue(obj['implements'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-import-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-import-escaped.js new file mode 100644 index 0000000000..0f3b612339 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-import-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: import is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0069mport = 42; + +assert.sameValue(obj['import'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-in-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-in-escaped.js new file mode 100644 index 0000000000..5e7c61ae51 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-in-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: in is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0069n = 42; + +assert.sameValue(obj['in'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js new file mode 100644 index 0000000000..c25b411b15 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instance-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: instance is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0069nstance = 42; + +assert.sameValue(obj['instance'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js new file mode 100644 index 0000000000..6dfdd0bf65 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: interface is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.interf\u0061ce = 42; + +assert.sameValue(obj['interface'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js new file mode 100644 index 0000000000..9ecb7e8712 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: let is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.l\u0065t = 42; + +assert.sameValue(obj['let'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-new-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-new-escaped.js new file mode 100644 index 0000000000..125bf31d21 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-new-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: new is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.n\u0065w = 42; + +assert.sameValue(obj['new'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js new file mode 100644 index 0000000000..6ac03d4420 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: package is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.p\u0061ckage = 42; + +assert.sameValue(obj['package'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js new file mode 100644 index 0000000000..4183736448 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: private is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.privat\u0065 = 42; + +assert.sameValue(obj['private'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js new file mode 100644 index 0000000000..19eda6f380 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: protected is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.prot\u0065cted = 42; + +assert.sameValue(obj['protected'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js new file mode 100644 index 0000000000..b7fa44c457 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: public is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.pu\u0062lic = 42; + +assert.sameValue(obj['public'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-return-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-return-escaped.js new file mode 100644 index 0000000000..1edfa49f99 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-return-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: return is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.r\u0065turn = 42; + +assert.sameValue(obj['return'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js new file mode 100644 index 0000000000..4d9bed22df --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: static is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.st\u0061tic = 42; + +assert.sameValue(obj['static'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js new file mode 100644 index 0000000000..420ed5938b --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: super is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.s\u0065per = 42; + +assert.sameValue(obj['super'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js new file mode 100644 index 0000000000..a66893a5b7 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-switch-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: switch is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.sw\u0069tch = 42; + +assert.sameValue(obj['switch'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-this-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-this-escaped.js new file mode 100644 index 0000000000..f86b429840 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-this-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: this is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.th\u0069s = 42; + +assert.sameValue(obj['this'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js new file mode 100644 index 0000000000..63d2c644ca --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-throw-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: throw is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.t\u0068row = 42; + +assert.sameValue(obj['throw'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-try-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-try-escaped.js new file mode 100644 index 0000000000..902fe133b7 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-try-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: try is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.tr\u0079 = 42; + +assert.sameValue(obj['try'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js new file mode 100644 index 0000000000..b30b3f9616 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: typeof is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.t\u0068peof = 42; + +assert.sameValue(obj['typeof'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-var-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-var-escaped.js new file mode 100644 index 0000000000..2034547ca3 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-var-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: var is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.v\u0061r = 42; + +assert.sameValue(obj['var'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-void-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-void-escaped.js new file mode 100644 index 0000000000..17fc892da1 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-void-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: void is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.voi\u0064 = 42; + +assert.sameValue(obj['void'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-while-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-while-escaped.js new file mode 100644 index 0000000000..6292ad5d19 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-while-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: while is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.whil\u0065 = 42; + +assert.sameValue(obj['while'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-with-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-with-escaped.js new file mode 100644 index 0000000000..6d9322df7e --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-with-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: with is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.w\u0069th = 42; + +assert.sameValue(obj['with'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js new file mode 100644 index 0000000000..2b8c170bf1 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/yield-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: yield is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.y\u0069eld = 42; + +assert.sameValue(obj['yield'], 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-await-escaped.js b/test/language/expressions/class/ident-name-method-def-await-escaped.js new file mode 100644 index 0000000000..7bcf14ad82 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-await-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/await-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: await is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0061wait() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-break-escaped.js b/test/language/expressions/class/ident-name-method-def-break-escaped.js new file mode 100644 index 0000000000..828e283850 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-break-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: break is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + bre\u0061k() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['break'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-case-escaped.js b/test/language/expressions/class/ident-name-method-def-case-escaped.js new file mode 100644 index 0000000000..94324c3674 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-case-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: case is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + c\u0061se() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['case'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-catch-escaped.js b/test/language/expressions/class/ident-name-method-def-catch-escaped.js new file mode 100644 index 0000000000..05a0188c75 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-catch-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: catch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + c\u0061tch() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['catch'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-class-escaped.js b/test/language/expressions/class/ident-name-method-def-class-escaped.js new file mode 100644 index 0000000000..73ef7406d9 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-class-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: class is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + cl\u0061ss() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['class'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-const-escaped.js b/test/language/expressions/class/ident-name-method-def-const-escaped.js new file mode 100644 index 0000000000..e1061bb27d --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-const-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: const is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0063onst() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['const'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-continue-escaped.js b/test/language/expressions/class/ident-name-method-def-continue-escaped.js new file mode 100644 index 0000000000..346117b3d8 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-continue-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: continue is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0063ontinue() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['continue'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-debugger-escaped.js b/test/language/expressions/class/ident-name-method-def-debugger-escaped.js new file mode 100644 index 0000000000..1698c3e24e --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-debugger-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: debugger is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0064ebugger() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['debugger'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-delete-escaped.js b/test/language/expressions/class/ident-name-method-def-delete-escaped.js new file mode 100644 index 0000000000..b1898b6e0b --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-delete-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: delete is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0064elete() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['delete'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-do-escaped.js b/test/language/expressions/class/ident-name-method-def-do-escaped.js new file mode 100644 index 0000000000..5ff086baa8 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-do-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: do is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0064o() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['do'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-else-escaped.js b/test/language/expressions/class/ident-name-method-def-else-escaped.js new file mode 100644 index 0000000000..ea08a40b00 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-else-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: else is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0065lse() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['else'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-enum-escaped.js b/test/language/expressions/class/ident-name-method-def-enum-escaped.js new file mode 100644 index 0000000000..a3731e6aed --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-enum-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: enum is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0065num() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['enum'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-export-escaped.js b/test/language/expressions/class/ident-name-method-def-export-escaped.js new file mode 100644 index 0000000000..3640931859 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-export-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: export is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0065xport() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['export'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js b/test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js new file mode 100644 index 0000000000..1fbd455510 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-extends-escaped-ext.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: extends is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u{65}xtends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-extends-escaped.js b/test/language/expressions/class/ident-name-method-def-extends-escaped.js new file mode 100644 index 0000000000..c736038b32 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-extends-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: extends is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0065xtends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-extends.js b/test/language/expressions/class/ident-name-method-def-extends.js new file mode 100644 index 0000000000..03901b4cc9 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-extends.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: extends is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + extends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-finally-escaped.js b/test/language/expressions/class/ident-name-method-def-finally-escaped.js new file mode 100644 index 0000000000..11bdfb1436 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-finally-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: finally is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0066inally() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['finally'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-for-escaped.js b/test/language/expressions/class/ident-name-method-def-for-escaped.js new file mode 100644 index 0000000000..4bba05400b --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-for-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: for is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0066or() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['for'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-function-escaped.js b/test/language/expressions/class/ident-name-method-def-function-escaped.js new file mode 100644 index 0000000000..a92c1e56ea --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-function-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: function is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0066unction() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['function'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-if-escaped.js b/test/language/expressions/class/ident-name-method-def-if-escaped.js new file mode 100644 index 0000000000..bd64102112 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-if-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: if is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + i\u0066() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['if'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-implements-escaped.js b/test/language/expressions/class/ident-name-method-def-implements-escaped.js new file mode 100644 index 0000000000..0fa21b0968 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-implements-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: implements is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0069mplements() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['implements'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-import-escaped.js b/test/language/expressions/class/ident-name-method-def-import-escaped.js new file mode 100644 index 0000000000..251c278e12 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-import-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: import is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0069mport() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['import'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-in-escaped.js b/test/language/expressions/class/ident-name-method-def-in-escaped.js new file mode 100644 index 0000000000..18c922fcdc --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-in-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: in is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0069n() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['in'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-instance-escaped.js b/test/language/expressions/class/ident-name-method-def-instance-escaped.js new file mode 100644 index 0000000000..d21ebe1ddd --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-instance-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instance-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: instance is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0069nstance() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-interface-escaped.js b/test/language/expressions/class/ident-name-method-def-interface-escaped.js new file mode 100644 index 0000000000..68efe7c4e3 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-interface-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: interface is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + interf\u0061ce() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['interface'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-let-escaped.js b/test/language/expressions/class/ident-name-method-def-let-escaped.js new file mode 100644 index 0000000000..20981a046e --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-let-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: let is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + l\u0065t() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['let'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-new-escaped.js b/test/language/expressions/class/ident-name-method-def-new-escaped.js new file mode 100644 index 0000000000..615bd79718 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-new-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: new is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + n\u0065w() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['new'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-package-escaped.js b/test/language/expressions/class/ident-name-method-def-package-escaped.js new file mode 100644 index 0000000000..5d04b9e257 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-package-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: package is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + p\u0061ckage() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['package'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-private-escaped.js b/test/language/expressions/class/ident-name-method-def-private-escaped.js new file mode 100644 index 0000000000..6461960409 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-private-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: private is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + privat\u0065() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['private'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-protected-escaped.js b/test/language/expressions/class/ident-name-method-def-protected-escaped.js new file mode 100644 index 0000000000..c39245eeac --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-protected-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: protected is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + prot\u0065cted() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['protected'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-public-escaped.js b/test/language/expressions/class/ident-name-method-def-public-escaped.js new file mode 100644 index 0000000000..471b7b7938 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-public-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: public is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + pu\u0062lic() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['public'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-return-escaped.js b/test/language/expressions/class/ident-name-method-def-return-escaped.js new file mode 100644 index 0000000000..b4802928ea --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-return-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: return is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + r\u0065turn() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['return'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-static-escaped.js b/test/language/expressions/class/ident-name-method-def-static-escaped.js new file mode 100644 index 0000000000..e62bda411b --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-static-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: static is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + st\u0061tic() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['static'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-super-escaped.js b/test/language/expressions/class/ident-name-method-def-super-escaped.js new file mode 100644 index 0000000000..e86a6c93b7 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-super-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: super is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + s\u0065per() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['super'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-switch-escaped.js b/test/language/expressions/class/ident-name-method-def-switch-escaped.js new file mode 100644 index 0000000000..b082357ba9 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-switch-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: switch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + sw\u0069tch() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['switch'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-this-escaped.js b/test/language/expressions/class/ident-name-method-def-this-escaped.js new file mode 100644 index 0000000000..7cfa600fa9 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-this-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: this is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + th\u0069s() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['this'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-throw-escaped.js b/test/language/expressions/class/ident-name-method-def-throw-escaped.js new file mode 100644 index 0000000000..fd38f89977 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-throw-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: throw is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + t\u0068row() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['throw'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-try-escaped.js b/test/language/expressions/class/ident-name-method-def-try-escaped.js new file mode 100644 index 0000000000..0a12f6bd8a --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-try-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: try is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + tr\u0079() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['try'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-typeof-escaped.js b/test/language/expressions/class/ident-name-method-def-typeof-escaped.js new file mode 100644 index 0000000000..1acfe5ffa9 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-typeof-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: typeof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + t\u0068peof() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['typeof'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-var-escaped.js b/test/language/expressions/class/ident-name-method-def-var-escaped.js new file mode 100644 index 0000000000..c5c2a178bb --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-var-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: var is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + v\u0061r() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['var'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-void-escaped.js b/test/language/expressions/class/ident-name-method-def-void-escaped.js new file mode 100644 index 0000000000..0793f890af --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-void-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: void is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + voi\u0064() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['void'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-while-escaped.js b/test/language/expressions/class/ident-name-method-def-while-escaped.js new file mode 100644 index 0000000000..088c64d097 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-while-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: while is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + whil\u0065() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['while'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-with-escaped.js b/test/language/expressions/class/ident-name-method-def-with-escaped.js new file mode 100644 index 0000000000..e0238e9594 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-with-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: with is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + w\u0069th() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['with'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-yield-escaped.js b/test/language/expressions/class/ident-name-method-def-yield-escaped.js new file mode 100644 index 0000000000..5c50b67b38 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-yield-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/yield-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: yield is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + y\u0069eld() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['yield'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-await-escaped.js b/test/language/expressions/object/ident-name-method-def-await-escaped.js new file mode 100644 index 0000000000..79547c31f4 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-await-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/await-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: await is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0061wait() { return 42; } +}; + +assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-break-escaped.js b/test/language/expressions/object/ident-name-method-def-break-escaped.js new file mode 100644 index 0000000000..4399baca3f --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-break-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: break is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + bre\u0061k() { return 42; } +}; + +assert.sameValue(obj['break'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-case-escaped.js b/test/language/expressions/object/ident-name-method-def-case-escaped.js new file mode 100644 index 0000000000..eb175eabc3 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-case-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: case is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + c\u0061se() { return 42; } +}; + +assert.sameValue(obj['case'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-catch-escaped.js b/test/language/expressions/object/ident-name-method-def-catch-escaped.js new file mode 100644 index 0000000000..4f0bb8ba2e --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-catch-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: catch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + c\u0061tch() { return 42; } +}; + +assert.sameValue(obj['catch'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-class-escaped.js b/test/language/expressions/object/ident-name-method-def-class-escaped.js new file mode 100644 index 0000000000..56111c3e26 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-class-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: class is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + cl\u0061ss() { return 42; } +}; + +assert.sameValue(obj['class'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-const-escaped.js b/test/language/expressions/object/ident-name-method-def-const-escaped.js new file mode 100644 index 0000000000..a5d491c939 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-const-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: const is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0063onst() { return 42; } +}; + +assert.sameValue(obj['const'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-continue-escaped.js b/test/language/expressions/object/ident-name-method-def-continue-escaped.js new file mode 100644 index 0000000000..0709dcf098 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-continue-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: continue is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0063ontinue() { return 42; } +}; + +assert.sameValue(obj['continue'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-debugger-escaped.js b/test/language/expressions/object/ident-name-method-def-debugger-escaped.js new file mode 100644 index 0000000000..c508451b64 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-debugger-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: debugger is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0064ebugger() { return 42; } +}; + +assert.sameValue(obj['debugger'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-delete-escaped.js b/test/language/expressions/object/ident-name-method-def-delete-escaped.js new file mode 100644 index 0000000000..4ca589e4fa --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-delete-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: delete is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0064elete() { return 42; } +}; + +assert.sameValue(obj['delete'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-do-escaped.js b/test/language/expressions/object/ident-name-method-def-do-escaped.js new file mode 100644 index 0000000000..375fcdad6b --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-do-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: do is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0064o() { return 42; } +}; + +assert.sameValue(obj['do'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-else-escaped.js b/test/language/expressions/object/ident-name-method-def-else-escaped.js new file mode 100644 index 0000000000..a18fc25055 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-else-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: else is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0065lse() { return 42; } +}; + +assert.sameValue(obj['else'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-enum-escaped.js b/test/language/expressions/object/ident-name-method-def-enum-escaped.js new file mode 100644 index 0000000000..261fed6bc5 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-enum-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: enum is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0065num() { return 42; } +}; + +assert.sameValue(obj['enum'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-export-escaped.js b/test/language/expressions/object/ident-name-method-def-export-escaped.js new file mode 100644 index 0000000000..bf51c39327 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-export-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: export is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0065xport() { return 42; } +}; + +assert.sameValue(obj['export'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js b/test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js new file mode 100644 index 0000000000..cc8e5dd33f --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-extends-escaped-ext.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: extends is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u{65}xtends() { return 42; } +}; + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-extends-escaped.js b/test/language/expressions/object/ident-name-method-def-extends-escaped.js new file mode 100644 index 0000000000..7dc703bbec --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-extends-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: extends is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0065xtends() { return 42; } +}; + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-extends.js b/test/language/expressions/object/ident-name-method-def-extends.js new file mode 100644 index 0000000000..ee4dbafb6b --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-extends.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: extends is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + extends() { return 42; } +}; + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-finally-escaped.js b/test/language/expressions/object/ident-name-method-def-finally-escaped.js new file mode 100644 index 0000000000..40c9bdee74 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-finally-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: finally is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0066inally() { return 42; } +}; + +assert.sameValue(obj['finally'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-for-escaped.js b/test/language/expressions/object/ident-name-method-def-for-escaped.js new file mode 100644 index 0000000000..41c7d2e099 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-for-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: for is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0066or() { return 42; } +}; + +assert.sameValue(obj['for'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-function-escaped.js b/test/language/expressions/object/ident-name-method-def-function-escaped.js new file mode 100644 index 0000000000..6713cad219 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-function-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: function is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0066unction() { return 42; } +}; + +assert.sameValue(obj['function'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-if-escaped.js b/test/language/expressions/object/ident-name-method-def-if-escaped.js new file mode 100644 index 0000000000..70e88905a0 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-if-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: if is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + i\u0066() { return 42; } +}; + +assert.sameValue(obj['if'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-implements-escaped.js b/test/language/expressions/object/ident-name-method-def-implements-escaped.js new file mode 100644 index 0000000000..013dd26eb7 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-implements-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: implements is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0069mplements() { return 42; } +}; + +assert.sameValue(obj['implements'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-import-escaped.js b/test/language/expressions/object/ident-name-method-def-import-escaped.js new file mode 100644 index 0000000000..60054b88a1 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-import-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: import is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0069mport() { return 42; } +}; + +assert.sameValue(obj['import'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-in-escaped.js b/test/language/expressions/object/ident-name-method-def-in-escaped.js new file mode 100644 index 0000000000..f8fd036a2a --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-in-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: in is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0069n() { return 42; } +}; + +assert.sameValue(obj['in'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-instance-escaped.js b/test/language/expressions/object/ident-name-method-def-instance-escaped.js new file mode 100644 index 0000000000..b28aafb4a3 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-instance-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instance-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: instance is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0069nstance() { return 42; } +}; + +assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-interface-escaped.js b/test/language/expressions/object/ident-name-method-def-interface-escaped.js new file mode 100644 index 0000000000..5de30f9cd3 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-interface-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: interface is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + interf\u0061ce() { return 42; } +}; + +assert.sameValue(obj['interface'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-let-escaped.js b/test/language/expressions/object/ident-name-method-def-let-escaped.js new file mode 100644 index 0000000000..352a0ffe82 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-let-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: let is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + l\u0065t() { return 42; } +}; + +assert.sameValue(obj['let'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-new-escaped.js b/test/language/expressions/object/ident-name-method-def-new-escaped.js new file mode 100644 index 0000000000..4ff299eb34 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-new-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: new is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + n\u0065w() { return 42; } +}; + +assert.sameValue(obj['new'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-package-escaped.js b/test/language/expressions/object/ident-name-method-def-package-escaped.js new file mode 100644 index 0000000000..b6fc21fe86 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-package-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: package is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + p\u0061ckage() { return 42; } +}; + +assert.sameValue(obj['package'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-private-escaped.js b/test/language/expressions/object/ident-name-method-def-private-escaped.js new file mode 100644 index 0000000000..9894b4f8a1 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-private-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: private is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + privat\u0065() { return 42; } +}; + +assert.sameValue(obj['private'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-protected-escaped.js b/test/language/expressions/object/ident-name-method-def-protected-escaped.js new file mode 100644 index 0000000000..e1d2047f0f --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-protected-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: protected is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + prot\u0065cted() { return 42; } +}; + +assert.sameValue(obj['protected'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-public-escaped.js b/test/language/expressions/object/ident-name-method-def-public-escaped.js new file mode 100644 index 0000000000..2f0b3f1b3c --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-public-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: public is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + pu\u0062lic() { return 42; } +}; + +assert.sameValue(obj['public'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-return-escaped.js b/test/language/expressions/object/ident-name-method-def-return-escaped.js new file mode 100644 index 0000000000..2514033632 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-return-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: return is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + r\u0065turn() { return 42; } +}; + +assert.sameValue(obj['return'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-static-escaped.js b/test/language/expressions/object/ident-name-method-def-static-escaped.js new file mode 100644 index 0000000000..c95145dbd9 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-static-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: static is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + st\u0061tic() { return 42; } +}; + +assert.sameValue(obj['static'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-super-escaped.js b/test/language/expressions/object/ident-name-method-def-super-escaped.js new file mode 100644 index 0000000000..46c886a714 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-super-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: super is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + s\u0065per() { return 42; } +}; + +assert.sameValue(obj['super'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-switch-escaped.js b/test/language/expressions/object/ident-name-method-def-switch-escaped.js new file mode 100644 index 0000000000..c69e6180c7 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-switch-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: switch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + sw\u0069tch() { return 42; } +}; + +assert.sameValue(obj['switch'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-this-escaped.js b/test/language/expressions/object/ident-name-method-def-this-escaped.js new file mode 100644 index 0000000000..0f498f984a --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-this-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: this is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + th\u0069s() { return 42; } +}; + +assert.sameValue(obj['this'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-throw-escaped.js b/test/language/expressions/object/ident-name-method-def-throw-escaped.js new file mode 100644 index 0000000000..6ad8c22b14 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-throw-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: throw is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + t\u0068row() { return 42; } +}; + +assert.sameValue(obj['throw'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-try-escaped.js b/test/language/expressions/object/ident-name-method-def-try-escaped.js new file mode 100644 index 0000000000..d8a36783f7 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-try-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: try is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + tr\u0079() { return 42; } +}; + +assert.sameValue(obj['try'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-typeof-escaped.js b/test/language/expressions/object/ident-name-method-def-typeof-escaped.js new file mode 100644 index 0000000000..05ddbff3c9 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-typeof-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: typeof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + t\u0068peof() { return 42; } +}; + +assert.sameValue(obj['typeof'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-var-escaped.js b/test/language/expressions/object/ident-name-method-def-var-escaped.js new file mode 100644 index 0000000000..8bbbaf2573 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-var-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: var is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + v\u0061r() { return 42; } +}; + +assert.sameValue(obj['var'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-void-escaped.js b/test/language/expressions/object/ident-name-method-def-void-escaped.js new file mode 100644 index 0000000000..938f98936d --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-void-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: void is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + voi\u0064() { return 42; } +}; + +assert.sameValue(obj['void'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-while-escaped.js b/test/language/expressions/object/ident-name-method-def-while-escaped.js new file mode 100644 index 0000000000..6481748843 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-while-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: while is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + whil\u0065() { return 42; } +}; + +assert.sameValue(obj['while'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-with-escaped.js b/test/language/expressions/object/ident-name-method-def-with-escaped.js new file mode 100644 index 0000000000..2d407652d5 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-with-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: with is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + w\u0069th() { return 42; } +}; + +assert.sameValue(obj['with'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-yield-escaped.js b/test/language/expressions/object/ident-name-method-def-yield-escaped.js new file mode 100644 index 0000000000..22906d89e6 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-yield-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/yield-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: yield is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + y\u0069eld() { return 42; } +}; + +assert.sameValue(obj['yield'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js new file mode 100644 index 0000000000..37c759b31b --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/await-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: await is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0061wait: 42 +}; + +assert.sameValue(obj['await'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js new file mode 100644 index 0000000000..1795ac4885 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-break-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: break is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + bre\u0061k: 42 +}; + +assert.sameValue(obj['break'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js new file mode 100644 index 0000000000..e96991d4ba --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-case-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: case is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + c\u0061se: 42 +}; + +assert.sameValue(obj['case'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js new file mode 100644 index 0000000000..a71681a354 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-catch-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: catch is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + c\u0061tch: 42 +}; + +assert.sameValue(obj['catch'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js new file mode 100644 index 0000000000..21e1f03cbd --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-class-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: class is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + cl\u0061ss: 42 +}; + +assert.sameValue(obj['class'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js new file mode 100644 index 0000000000..4c02e7de9f --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-const-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: const is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0063onst: 42 +}; + +assert.sameValue(obj['const'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js new file mode 100644 index 0000000000..6ef8e304a1 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-continue-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: continue is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0063ontinue: 42 +}; + +assert.sameValue(obj['continue'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js new file mode 100644 index 0000000000..c7cf859ebc --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-debugger-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: debugger is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0064ebugger: 42 +}; + +assert.sameValue(obj['debugger'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js new file mode 100644 index 0000000000..bf8ddca986 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-delete-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: delete is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0064elete: 42 +}; + +assert.sameValue(obj['delete'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js new file mode 100644 index 0000000000..0312a3b3e8 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-do-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: do is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0064o: 42 +}; + +assert.sameValue(obj['do'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js new file mode 100644 index 0000000000..08a30f801a --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-else-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: else is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0065lse: 42 +}; + +assert.sameValue(obj['else'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js new file mode 100644 index 0000000000..dce66641c0 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-enum-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: enum is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0065num: 42 +}; + +assert.sameValue(obj['enum'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js new file mode 100644 index 0000000000..d8d2fa8d41 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-export-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: export is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0065xport: 42 +}; + +assert.sameValue(obj['export'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js b/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js new file mode 100644 index 0000000000..401985f10d --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped-ext.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: extends is a valid identifier name, using extended escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u{65}xtends: 42 +}; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js new file mode 100644 index 0000000000..5a1627f93c --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-extends-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: extends is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0065xtends: 42 +}; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-extends.js b/test/language/expressions/object/ident-name-prop-name-literal-extends.js new file mode 100644 index 0000000000..7868f97015 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-extends.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: extends is a valid identifier name (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + extends: 42 +}; + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js new file mode 100644 index 0000000000..625038bfb1 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-finally-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: finally is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0066inally: 42 +}; + +assert.sameValue(obj['finally'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js new file mode 100644 index 0000000000..2614fdb525 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-for-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: for is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0066or: 42 +}; + +assert.sameValue(obj['for'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js new file mode 100644 index 0000000000..f63ecbbf92 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-function-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: function is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0066unction: 42 +}; + +assert.sameValue(obj['function'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js new file mode 100644 index 0000000000..3e1decb1f2 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-if-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: if is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + i\u0066: 42 +}; + +assert.sameValue(obj['if'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js new file mode 100644 index 0000000000..abc1c80be8 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: implements is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0069mplements: 42 +}; + +assert.sameValue(obj['implements'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js new file mode 100644 index 0000000000..845127b575 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-import-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: import is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0069mport: 42 +}; + +assert.sameValue(obj['import'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js new file mode 100644 index 0000000000..3efb914acb --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-in-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: in is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0069n: 42 +}; + +assert.sameValue(obj['in'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js new file mode 100644 index 0000000000..996efa5afc --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instance-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: instance is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0069nstance: 42 +}; + +assert.sameValue(obj['instance'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js new file mode 100644 index 0000000000..1b60e37317 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: interface is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + interf\u0061ce: 42 +}; + +assert.sameValue(obj['interface'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js new file mode 100644 index 0000000000..2230c8a488 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: let is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + l\u0065t: 42 +}; + +assert.sameValue(obj['let'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js new file mode 100644 index 0000000000..d8d7b7e538 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-new-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: new is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + n\u0065w: 42 +}; + +assert.sameValue(obj['new'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js new file mode 100644 index 0000000000..c5aceb9db9 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: package is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + p\u0061ckage: 42 +}; + +assert.sameValue(obj['package'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js new file mode 100644 index 0000000000..8e0dd2d481 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: private is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + privat\u0065: 42 +}; + +assert.sameValue(obj['private'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js new file mode 100644 index 0000000000..77232d50c9 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: protected is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + prot\u0065cted: 42 +}; + +assert.sameValue(obj['protected'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js new file mode 100644 index 0000000000..678b4297d5 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: public is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + pu\u0062lic: 42 +}; + +assert.sameValue(obj['public'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js new file mode 100644 index 0000000000..ced79a6c44 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-return-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: return is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + r\u0065turn: 42 +}; + +assert.sameValue(obj['return'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js new file mode 100644 index 0000000000..7472bd4ec4 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: static is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + st\u0061tic: 42 +}; + +assert.sameValue(obj['static'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js new file mode 100644 index 0000000000..f210d86b90 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: super is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + s\u0065per: 42 +}; + +assert.sameValue(obj['super'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js new file mode 100644 index 0000000000..c4852196e3 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-switch-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: switch is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + sw\u0069tch: 42 +}; + +assert.sameValue(obj['switch'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js new file mode 100644 index 0000000000..b03c9505aa --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-this-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: this is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + th\u0069s: 42 +}; + +assert.sameValue(obj['this'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js new file mode 100644 index 0000000000..0841967007 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-throw-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: throw is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + t\u0068row: 42 +}; + +assert.sameValue(obj['throw'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js new file mode 100644 index 0000000000..d0d95d82c5 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-try-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: try is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + tr\u0079: 42 +}; + +assert.sameValue(obj['try'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js new file mode 100644 index 0000000000..1c1b81b6d4 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: typeof is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + t\u0068peof: 42 +}; + +assert.sameValue(obj['typeof'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js new file mode 100644 index 0000000000..ceb637680c --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-var-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: var is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + v\u0061r: 42 +}; + +assert.sameValue(obj['var'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js new file mode 100644 index 0000000000..1eb5a2da75 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-void-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: void is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + voi\u0064: 42 +}; + +assert.sameValue(obj['void'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js new file mode 100644 index 0000000000..d837793c2d --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-while-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: while is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + whil\u0065: 42 +}; + +assert.sameValue(obj['while'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js new file mode 100644 index 0000000000..6e81bd2618 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-with-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: with is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + w\u0069th: 42 +}; + +assert.sameValue(obj['with'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js new file mode 100644 index 0000000000..e6d3d8a677 --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/yield-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: yield is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + y\u0069eld: 42 +}; + +assert.sameValue(obj['yield'], 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-await-escaped.js b/test/language/statements/class/ident-name-method-def-await-escaped.js new file mode 100644 index 0000000000..ecdd9c7322 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-await-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/await-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: await is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0061wait() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-break-escaped.js b/test/language/statements/class/ident-name-method-def-break-escaped.js new file mode 100644 index 0000000000..6a6ddac9a5 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-break-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: break is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + bre\u0061k() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['break'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-case-escaped.js b/test/language/statements/class/ident-name-method-def-case-escaped.js new file mode 100644 index 0000000000..3bab712118 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-case-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: case is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + c\u0061se() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['case'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-catch-escaped.js b/test/language/statements/class/ident-name-method-def-catch-escaped.js new file mode 100644 index 0000000000..716852d40d --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-catch-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: catch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + c\u0061tch() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['catch'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-class-escaped.js b/test/language/statements/class/ident-name-method-def-class-escaped.js new file mode 100644 index 0000000000..cb9e57c727 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-class-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: class is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + cl\u0061ss() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['class'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-const-escaped.js b/test/language/statements/class/ident-name-method-def-const-escaped.js new file mode 100644 index 0000000000..6b813ef50a --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-const-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: const is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0063onst() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['const'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-continue-escaped.js b/test/language/statements/class/ident-name-method-def-continue-escaped.js new file mode 100644 index 0000000000..5740e2c1a8 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-continue-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: continue is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0063ontinue() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['continue'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-debugger-escaped.js b/test/language/statements/class/ident-name-method-def-debugger-escaped.js new file mode 100644 index 0000000000..acd7d58cd0 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-debugger-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: debugger is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0064ebugger() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['debugger'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-delete-escaped.js b/test/language/statements/class/ident-name-method-def-delete-escaped.js new file mode 100644 index 0000000000..57d0efaf5f --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-delete-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: delete is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0064elete() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['delete'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-do-escaped.js b/test/language/statements/class/ident-name-method-def-do-escaped.js new file mode 100644 index 0000000000..88bc390b3c --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-do-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: do is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0064o() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['do'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-else-escaped.js b/test/language/statements/class/ident-name-method-def-else-escaped.js new file mode 100644 index 0000000000..fbce6af634 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-else-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: else is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0065lse() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['else'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-enum-escaped.js b/test/language/statements/class/ident-name-method-def-enum-escaped.js new file mode 100644 index 0000000000..d3cc3ca4f1 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-enum-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: enum is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0065num() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['enum'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-export-escaped.js b/test/language/statements/class/ident-name-method-def-export-escaped.js new file mode 100644 index 0000000000..d9b6404806 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-export-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: export is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0065xport() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['export'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-extends-escaped-ext.js b/test/language/statements/class/ident-name-method-def-extends-escaped-ext.js new file mode 100644 index 0000000000..49b6b17d14 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-extends-escaped-ext.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: extends is a valid identifier name, using extended escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u{65}xtends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-extends-escaped.js b/test/language/statements/class/ident-name-method-def-extends-escaped.js new file mode 100644 index 0000000000..682da1a012 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-extends-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: extends is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0065xtends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-extends.js b/test/language/statements/class/ident-name-method-def-extends.js new file mode 100644 index 0000000000..f4caadc0cf --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-extends.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: extends is a valid identifier name (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + extends() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['extends'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-finally-escaped.js b/test/language/statements/class/ident-name-method-def-finally-escaped.js new file mode 100644 index 0000000000..b85042a641 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-finally-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: finally is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0066inally() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['finally'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-for-escaped.js b/test/language/statements/class/ident-name-method-def-for-escaped.js new file mode 100644 index 0000000000..bbd13182ee --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-for-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: for is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0066or() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['for'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-function-escaped.js b/test/language/statements/class/ident-name-method-def-function-escaped.js new file mode 100644 index 0000000000..64c0a9e5a0 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-function-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: function is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0066unction() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['function'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-if-escaped.js b/test/language/statements/class/ident-name-method-def-if-escaped.js new file mode 100644 index 0000000000..4fd1f02fe4 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-if-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: if is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + i\u0066() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['if'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-implements-escaped.js b/test/language/statements/class/ident-name-method-def-implements-escaped.js new file mode 100644 index 0000000000..e9f6bfb6d9 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-implements-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: implements is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0069mplements() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['implements'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-import-escaped.js b/test/language/statements/class/ident-name-method-def-import-escaped.js new file mode 100644 index 0000000000..63da261eea --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-import-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: import is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0069mport() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['import'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-in-escaped.js b/test/language/statements/class/ident-name-method-def-in-escaped.js new file mode 100644 index 0000000000..f25af73211 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-in-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: in is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0069n() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['in'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-instance-escaped.js b/test/language/statements/class/ident-name-method-def-instance-escaped.js new file mode 100644 index 0000000000..4ca7ce400c --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-instance-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instance-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: instance is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0069nstance() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-interface-escaped.js b/test/language/statements/class/ident-name-method-def-interface-escaped.js new file mode 100644 index 0000000000..9cb9ee2789 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-interface-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: interface is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + interf\u0061ce() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['interface'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-let-escaped.js b/test/language/statements/class/ident-name-method-def-let-escaped.js new file mode 100644 index 0000000000..06cea599a7 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-let-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: let is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + l\u0065t() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['let'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-new-escaped.js b/test/language/statements/class/ident-name-method-def-new-escaped.js new file mode 100644 index 0000000000..ec2aa612ee --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-new-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: new is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + n\u0065w() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['new'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-package-escaped.js b/test/language/statements/class/ident-name-method-def-package-escaped.js new file mode 100644 index 0000000000..429d3663c8 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-package-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: package is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + p\u0061ckage() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['package'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-private-escaped.js b/test/language/statements/class/ident-name-method-def-private-escaped.js new file mode 100644 index 0000000000..345e4325c2 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-private-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: private is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + privat\u0065() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['private'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-protected-escaped.js b/test/language/statements/class/ident-name-method-def-protected-escaped.js new file mode 100644 index 0000000000..783ae9b9e3 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-protected-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: protected is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + prot\u0065cted() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['protected'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-public-escaped.js b/test/language/statements/class/ident-name-method-def-public-escaped.js new file mode 100644 index 0000000000..9c2ad1c828 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-public-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: public is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + pu\u0062lic() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['public'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-return-escaped.js b/test/language/statements/class/ident-name-method-def-return-escaped.js new file mode 100644 index 0000000000..1e0ac999cf --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-return-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: return is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + r\u0065turn() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['return'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-static-escaped.js b/test/language/statements/class/ident-name-method-def-static-escaped.js new file mode 100644 index 0000000000..85c072b5cd --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-static-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: static is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + st\u0061tic() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['static'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-super-escaped.js b/test/language/statements/class/ident-name-method-def-super-escaped.js new file mode 100644 index 0000000000..03580e3314 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-super-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: super is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + s\u0065per() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['super'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-switch-escaped.js b/test/language/statements/class/ident-name-method-def-switch-escaped.js new file mode 100644 index 0000000000..6dee44f118 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-switch-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: switch is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + sw\u0069tch() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['switch'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-this-escaped.js b/test/language/statements/class/ident-name-method-def-this-escaped.js new file mode 100644 index 0000000000..372a503bff --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-this-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: this is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + th\u0069s() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['this'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-throw-escaped.js b/test/language/statements/class/ident-name-method-def-throw-escaped.js new file mode 100644 index 0000000000..29b5a49552 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-throw-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: throw is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + t\u0068row() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['throw'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-try-escaped.js b/test/language/statements/class/ident-name-method-def-try-escaped.js new file mode 100644 index 0000000000..b17f6627d2 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-try-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: try is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + tr\u0079() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['try'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-typeof-escaped.js b/test/language/statements/class/ident-name-method-def-typeof-escaped.js new file mode 100644 index 0000000000..7f2c7ed60d --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-typeof-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: typeof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + t\u0068peof() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['typeof'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-var-escaped.js b/test/language/statements/class/ident-name-method-def-var-escaped.js new file mode 100644 index 0000000000..c0c1533560 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-var-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: var is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + v\u0061r() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['var'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-void-escaped.js b/test/language/statements/class/ident-name-method-def-void-escaped.js new file mode 100644 index 0000000000..85620ac38c --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-void-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: void is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + voi\u0064() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['void'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-while-escaped.js b/test/language/statements/class/ident-name-method-def-while-escaped.js new file mode 100644 index 0000000000..3f02bfe4e9 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-while-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: while is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + whil\u0065() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['while'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-with-escaped.js b/test/language/statements/class/ident-name-method-def-with-escaped.js new file mode 100644 index 0000000000..785ed7f64b --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-with-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: with is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + w\u0069th() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['with'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-yield-escaped.js b/test/language/statements/class/ident-name-method-def-yield-escaped.js new file mode 100644 index 0000000000..5357893343 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-yield-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/yield-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: yield is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + y\u0069eld() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['yield'](), 42, 'property exists'); From f7c89547e689b1d96af50636437ca0b5102235e0 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 17:57:50 -0400 Subject: [PATCH 06/10] Add template for CoverParenthesizedExpressionAndArrowParameterList --- .../default/covered-obj-prop-name.template | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/identifier-names/default/covered-obj-prop-name.template diff --git a/src/identifier-names/default/covered-obj-prop-name.template b/src/identifier-names/default/covered-obj-prop-name.template new file mode 100644 index 0000000000..4a47dd61b9 --- /dev/null +++ b/src/identifier-names/default/covered-obj-prop-name.template @@ -0,0 +1,38 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/object/covered-ident-name-prop-name-literal- +name: PropertyName in a CoverParenthesizedExpressionAndArrowParameterList +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ /*{ declareWith }*/: 42 }); + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); From eff2850ca3a9ed1555cbcf3e4633a379374af2df Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 18:04:15 -0400 Subject: [PATCH 07/10] Add template for ObjectAssignment using identifier names like reserved words --- .../default/obj-assignment-prop-name.template | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/identifier-names/default/obj-assignment-prop-name.template diff --git a/src/identifier-names/default/obj-assignment-prop-name.template b/src/identifier-names/default/obj-assignment-prop-name.template new file mode 100644 index 0000000000..19ec8b0ddc --- /dev/null +++ b/src/identifier-names/default/obj-assignment-prop-name.template @@ -0,0 +1,38 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignment/dstr/ident-name-prop-name-literal- +name: PropertyName of an ObjectAssignmentPattern +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +0, { /*{ declareWith }*/: x } = { /*{ referenceWith }*/: 42 }; + +assert.sameValue(x, 42, 'property exists'); From 99656c6da5377d06e7d30c6ac2693aa24f166663 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 18:26:40 -0400 Subject: [PATCH 08/10] Add cases with assignment patterns --- .../arrow-fn-assignment-identifier.template | 38 ++++++++++++++++ .../obj-assignment-identifier.template | 38 ++++++++++++++++ .../default/obj-assignment-prop-name.template | 9 ++-- .../arrow-fn-assignment-identifier.template | 39 ++++++++++++++++ .../class-expression-method-def.template | 44 +++++++++++++++++++ .../class-statement-method-def.template | 44 +++++++++++++++++++ .../covered-obj-prop-name.template | 38 ++++++++++++++++ .../member-expr.template | 21 +++++++++ .../obj-assignment-identifier.template | 39 ++++++++++++++++ .../obj-assignment-prop-name.template | 41 +++++++++++++++++ .../obj-method-definition.template | 41 +++++++++++++++++ .../obj-prop-name.template | 40 +++++++++++++++++ src/identifier-names/implements-escaped.case | 2 +- src/identifier-names/instance-escaped.case | 12 ----- ...t-escaped.case => instanceof-escaped.case} | 6 +-- src/identifier-names/interface-escaped.case | 2 +- src/identifier-names/let-escaped.case | 2 +- src/identifier-names/package-escaped.case | 2 +- src/identifier-names/private-escaped.case | 2 +- src/identifier-names/protected-escaped.case | 2 +- src/identifier-names/public-escaped.case | 2 +- src/identifier-names/static-escaped.case | 2 +- src/identifier-names/super-escaped.case | 2 +- src/identifier-names/typeof-escaped.case | 2 +- src/identifier-names/yield-escaped.case | 12 ----- 25 files changed, 442 insertions(+), 40 deletions(-) create mode 100644 src/identifier-names/default/arrow-fn-assignment-identifier.template create mode 100644 src/identifier-names/default/obj-assignment-identifier.template create mode 100644 src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template create mode 100644 src/identifier-names/future-reserved-words/class-expression-method-def.template create mode 100644 src/identifier-names/future-reserved-words/class-statement-method-def.template create mode 100644 src/identifier-names/future-reserved-words/covered-obj-prop-name.template create mode 100644 src/identifier-names/future-reserved-words/member-expr.template create mode 100644 src/identifier-names/future-reserved-words/obj-assignment-identifier.template create mode 100644 src/identifier-names/future-reserved-words/obj-assignment-prop-name.template create mode 100644 src/identifier-names/future-reserved-words/obj-method-definition.template create mode 100644 src/identifier-names/future-reserved-words/obj-prop-name.template delete mode 100644 src/identifier-names/instance-escaped.case rename src/identifier-names/{await-escaped.case => instanceof-escaped.case} (69%) delete mode 100644 src/identifier-names/yield-escaped.case diff --git a/src/identifier-names/default/arrow-fn-assignment-identifier.template b/src/identifier-names/default/arrow-fn-assignment-identifier.template new file mode 100644 index 0000000000..b08b6ac605 --- /dev/null +++ b/src/identifier-names/default/arrow-fn-assignment-identifier.template @@ -0,0 +1,38 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/arrow-function/dstr/syntax-error-ident-ref- +name: IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord +negative: + phase: parse + type: SyntaxError +features: [arrow-function, destructuring-assignment] +---*/ + +$DONOTEVALUATE(); + +var x = ({ /*{ declareWith }*/ }) => {}; diff --git a/src/identifier-names/default/obj-assignment-identifier.template b/src/identifier-names/default/obj-assignment-identifier.template new file mode 100644 index 0000000000..5bea8fd50f --- /dev/null +++ b/src/identifier-names/default/obj-assignment-identifier.template @@ -0,0 +1,38 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignment/dstr/syntax-error-ident-ref- +name: IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord +negative: + phase: parse + type: SyntaxError +features: [destructuring-assignment] +---*/ + +$DONOTEVALUATE(); + +var x = { /*{ declareWith }*/ } = { /*{ referenceWith }*/: 42 }; diff --git a/src/identifier-names/default/obj-assignment-prop-name.template b/src/identifier-names/default/obj-assignment-prop-name.template index 19ec8b0ddc..048c2585ac 100644 --- a/src/identifier-names/default/obj-assignment-prop-name.template +++ b/src/identifier-names/default/obj-assignment-prop-name.template @@ -19,7 +19,7 @@ info: | AssignmentProperty: IdentifierReference Initializer_opt PropertyName : AssignmentElement - + PropertyName: LiteralPropertyName ... @@ -29,10 +29,13 @@ info: | ... Reserved Words - + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [destructuring-assignment] +flags: [noStrict] ---*/ -0, { /*{ declareWith }*/: x } = { /*{ referenceWith }*/: 42 }; +var y = { /*{ declareWith }*/: x } = { /*{ referenceWith }*/: 42 }; assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['/*{ referenceWith }*/'], 42, 'assignment successful'); diff --git a/src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template b/src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template new file mode 100644 index 0000000000..f4970c7446 --- /dev/null +++ b/src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template @@ -0,0 +1,39 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/arrow-function/dstr/syntax-error-ident-ref- +name: IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord +negative: + phase: parse + type: SyntaxError +features: [arrow-function, destructuring-assignment] +flags: [onlyStrict] +---*/ + +$DONOTEVALUATE(); + +var x = ({ /*{ declareWith }*/ }) => {}; diff --git a/src/identifier-names/future-reserved-words/class-expression-method-def.template b/src/identifier-names/future-reserved-words/class-expression-method-def.template new file mode 100644 index 0000000000..f14c1b0b59 --- /dev/null +++ b/src/identifier-names/future-reserved-words/class-expression-method-def.template @@ -0,0 +1,44 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/class/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [class] +---*/ + +var C = class { + /*{ declareWith }*/() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/future-reserved-words/class-statement-method-def.template b/src/identifier-names/future-reserved-words/class-statement-method-def.template new file mode 100644 index 0000000000..7d00fa309b --- /dev/null +++ b/src/identifier-names/future-reserved-words/class-statement-method-def.template @@ -0,0 +1,44 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/statements/class/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [class] +---*/ + +class C { + /*{ declareWith }*/() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/future-reserved-words/covered-obj-prop-name.template b/src/identifier-names/future-reserved-words/covered-obj-prop-name.template new file mode 100644 index 0000000000..4a47dd61b9 --- /dev/null +++ b/src/identifier-names/future-reserved-words/covered-obj-prop-name.template @@ -0,0 +1,38 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/object/covered-ident-name-prop-name-literal- +name: PropertyName in a CoverParenthesizedExpressionAndArrowParameterList +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ /*{ declareWith }*/: 42 }); + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); diff --git a/src/identifier-names/future-reserved-words/member-expr.template b/src/identifier-names/future-reserved-words/member-expr.template new file mode 100644 index 0000000000..fa15c0a785 --- /dev/null +++ b/src/identifier-names/future-reserved-words/member-expr.template @@ -0,0 +1,21 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/assignment/member-expr-ident-name- +name: MemberExpression IdentifierName +esid: prod-PropertyDefinition +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj./*{ declareWith }*/ = 42; + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); diff --git a/src/identifier-names/future-reserved-words/obj-assignment-identifier.template b/src/identifier-names/future-reserved-words/obj-assignment-identifier.template new file mode 100644 index 0000000000..574763c167 --- /dev/null +++ b/src/identifier-names/future-reserved-words/obj-assignment-identifier.template @@ -0,0 +1,39 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignment/dstr/syntax-error-ident-ref- +name: IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord +negative: + phase: parse + type: SyntaxError +flags: [onlyStrict] +features: [destructuring-assignment] +---*/ + +$DONOTEVALUATE(); + +var x = { /*{ declareWith }*/ } = { /*{ referenceWith }*/: 42 }; diff --git a/src/identifier-names/future-reserved-words/obj-assignment-prop-name.template b/src/identifier-names/future-reserved-words/obj-assignment-prop-name.template new file mode 100644 index 0000000000..311e13e6a4 --- /dev/null +++ b/src/identifier-names/future-reserved-words/obj-assignment-prop-name.template @@ -0,0 +1,41 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignment/dstr/ident-name-prop-name-literal- +name: PropertyName of an ObjectAssignmentPattern +esid: prod-AssignmentPattern +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +features: [destructuring-assignment] +flags: [noStrict] +---*/ + +var y = { /*{ declareWith }*/: x } = { /*{ referenceWith }*/: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['/*{ referenceWith }*/'], 42, 'assignment successful'); diff --git a/src/identifier-names/future-reserved-words/obj-method-definition.template b/src/identifier-names/future-reserved-words/obj-method-definition.template new file mode 100644 index 0000000000..ab2ec739d8 --- /dev/null +++ b/src/identifier-names/future-reserved-words/obj-method-definition.template @@ -0,0 +1,41 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/object/ident-name-method-def- +name: MethodDefinition +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + /*{ declareWith }*/() { return 42; } +}; + +assert.sameValue(obj['/*{ referenceWith }*/'](), 42, 'property exists'); diff --git a/src/identifier-names/future-reserved-words/obj-prop-name.template b/src/identifier-names/future-reserved-words/obj-prop-name.template new file mode 100644 index 0000000000..02db39b0a6 --- /dev/null +++ b/src/identifier-names/future-reserved-words/obj-prop-name.template @@ -0,0 +1,40 @@ +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +path: language/expressions/object/ident-name-prop-name-literal- +name: PropertyName +esid: prod-PropertyDefinition +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + /*{ declareWith }*/: 42 +}; + +assert.sameValue(obj['/*{ referenceWith }*/'], 42, 'property exists'); diff --git a/src/identifier-names/implements-escaped.case b/src/identifier-names/implements-escaped.case index 3fd2360a6a..f32c4bd314 100644 --- a/src/identifier-names/implements-escaped.case +++ b/src/identifier-names/implements-escaped.case @@ -3,7 +3,7 @@ /*--- desc: implements is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/instance-escaped.case b/src/identifier-names/instance-escaped.case deleted file mode 100644 index 47482bfca1..0000000000 --- a/src/identifier-names/instance-escaped.case +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (C) 2019 Leo Balter. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: instance is a valid identifier name, using escape -template: default ----*/ - -//- declareWith -\u0069nstance -//- referenceWith -instance diff --git a/src/identifier-names/await-escaped.case b/src/identifier-names/instanceof-escaped.case similarity index 69% rename from src/identifier-names/await-escaped.case rename to src/identifier-names/instanceof-escaped.case index 82454ad045..a0eaa4f28c 100644 --- a/src/identifier-names/await-escaped.case +++ b/src/identifier-names/instanceof-escaped.case @@ -2,11 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -desc: await is a valid identifier name, using escape +desc: instanceof is a valid identifier name, using escape template: default ---*/ //- declareWith -\u0061wait +\u0069nstanceof //- referenceWith -await +instanceof diff --git a/src/identifier-names/interface-escaped.case b/src/identifier-names/interface-escaped.case index d5d2ddd90c..4914309f1d 100644 --- a/src/identifier-names/interface-escaped.case +++ b/src/identifier-names/interface-escaped.case @@ -3,7 +3,7 @@ /*--- desc: interface is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/let-escaped.case b/src/identifier-names/let-escaped.case index 69d62f71c9..f8e7176e98 100644 --- a/src/identifier-names/let-escaped.case +++ b/src/identifier-names/let-escaped.case @@ -3,7 +3,7 @@ /*--- desc: let is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/package-escaped.case b/src/identifier-names/package-escaped.case index b15a980aec..0f8a5de442 100644 --- a/src/identifier-names/package-escaped.case +++ b/src/identifier-names/package-escaped.case @@ -3,7 +3,7 @@ /*--- desc: package is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/private-escaped.case b/src/identifier-names/private-escaped.case index 5f0c9af94d..47058cbe92 100644 --- a/src/identifier-names/private-escaped.case +++ b/src/identifier-names/private-escaped.case @@ -3,7 +3,7 @@ /*--- desc: private is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/protected-escaped.case b/src/identifier-names/protected-escaped.case index 420c439643..e73898f389 100644 --- a/src/identifier-names/protected-escaped.case +++ b/src/identifier-names/protected-escaped.case @@ -3,7 +3,7 @@ /*--- desc: protected is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/public-escaped.case b/src/identifier-names/public-escaped.case index f3d6250a36..1b53c95b0a 100644 --- a/src/identifier-names/public-escaped.case +++ b/src/identifier-names/public-escaped.case @@ -3,7 +3,7 @@ /*--- desc: public is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/static-escaped.case b/src/identifier-names/static-escaped.case index bac1f7e03e..c4ffd3c9dc 100644 --- a/src/identifier-names/static-escaped.case +++ b/src/identifier-names/static-escaped.case @@ -3,7 +3,7 @@ /*--- desc: static is a valid identifier name, using escape -template: default +template: future-reserved-words ---*/ //- declareWith diff --git a/src/identifier-names/super-escaped.case b/src/identifier-names/super-escaped.case index 7463f1940b..4a7d7a8b07 100644 --- a/src/identifier-names/super-escaped.case +++ b/src/identifier-names/super-escaped.case @@ -7,6 +7,6 @@ template: default ---*/ //- declareWith -s\u0065per +sup\u0065r //- referenceWith super diff --git a/src/identifier-names/typeof-escaped.case b/src/identifier-names/typeof-escaped.case index ad0661e69f..2e925fb4e3 100644 --- a/src/identifier-names/typeof-escaped.case +++ b/src/identifier-names/typeof-escaped.case @@ -7,6 +7,6 @@ template: default ---*/ //- declareWith -t\u0068peof +typ\u0065of //- referenceWith typeof diff --git a/src/identifier-names/yield-escaped.case b/src/identifier-names/yield-escaped.case deleted file mode 100644 index f3f6ad54ce..0000000000 --- a/src/identifier-names/yield-escaped.case +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (C) 2019 Leo Balter. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -desc: yield is a valid identifier name, using escape -template: default ----*/ - -//- declareWith -y\u0069eld -//- referenceWith -yield From 209845c7b5c4e44511d6c3b88a81e1ebdc4adc61 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 18:54:04 -0400 Subject: [PATCH 09/10] Generate tests --- .../syntax-error-ident-ref-break-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-case-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-catch-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-class-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-const-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-continue-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-debugger-escaped.js | 40 ++++++++++++++++ ...tax-error-ident-ref-default-escaped-ext.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-default-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-default.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-delete-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-do-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-else-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-enum-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-export-escaped.js | 40 ++++++++++++++++ ...tax-error-ident-ref-extends-escaped-ext.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-extends-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-extends.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-finally-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-for-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-function-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-if-escaped.js | 40 ++++++++++++++++ ...ntax-error-ident-ref-implements-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-import-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-in-escaped.js | 40 ++++++++++++++++ ...ntax-error-ident-ref-instanceof-escaped.js | 40 ++++++++++++++++ ...yntax-error-ident-ref-interface-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-let-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-new-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-package-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-private-escaped.js | 40 ++++++++++++++++ ...yntax-error-ident-ref-protected-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-public-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-return-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-static-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-super-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-switch-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-this-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-throw-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-try-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-typeof-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-var-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-void-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-while-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-with-escaped.js | 40 ++++++++++++++++ ...nt-name-prop-name-literal-break-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-case-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-catch-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-class-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-const-escaped.js | 42 +++++++++++++++++ ...name-prop-name-literal-continue-escaped.js | 42 +++++++++++++++++ ...name-prop-name-literal-debugger-escaped.js | 42 +++++++++++++++++ ...e-prop-name-literal-default-escaped-ext.js | 42 +++++++++++++++++ ...-name-prop-name-literal-default-escaped.js | 42 +++++++++++++++++ .../ident-name-prop-name-literal-default.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-delete-escaped.js | 42 +++++++++++++++++ ...ident-name-prop-name-literal-do-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-else-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-enum-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-export-escaped.js | 42 +++++++++++++++++ ...e-prop-name-literal-extends-escaped-ext.js | 42 +++++++++++++++++ ...-name-prop-name-literal-extends-escaped.js | 42 +++++++++++++++++ .../ident-name-prop-name-literal-extends.js | 42 +++++++++++++++++ ...-name-prop-name-literal-finally-escaped.js | 42 +++++++++++++++++ ...dent-name-prop-name-literal-for-escaped.js | 42 +++++++++++++++++ ...name-prop-name-literal-function-escaped.js | 42 +++++++++++++++++ ...ident-name-prop-name-literal-if-escaped.js | 42 +++++++++++++++++ ...me-prop-name-literal-implements-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-import-escaped.js | 42 +++++++++++++++++ ...ident-name-prop-name-literal-in-escaped.js | 42 +++++++++++++++++ ...me-prop-name-literal-instanceof-escaped.js | 42 +++++++++++++++++ ...ame-prop-name-literal-interface-escaped.js | 42 +++++++++++++++++ ...dent-name-prop-name-literal-let-escaped.js | 42 +++++++++++++++++ ...dent-name-prop-name-literal-new-escaped.js | 42 +++++++++++++++++ ...-name-prop-name-literal-package-escaped.js | 42 +++++++++++++++++ ...-name-prop-name-literal-private-escaped.js | 42 +++++++++++++++++ ...ame-prop-name-literal-protected-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-public-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-return-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-static-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-super-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-switch-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-this-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-throw-escaped.js | 42 +++++++++++++++++ ...dent-name-prop-name-literal-try-escaped.js | 42 +++++++++++++++++ ...t-name-prop-name-literal-typeof-escaped.js | 42 +++++++++++++++++ ...dent-name-prop-name-literal-var-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-void-escaped.js | 42 +++++++++++++++++ ...nt-name-prop-name-literal-while-escaped.js | 42 +++++++++++++++++ ...ent-name-prop-name-literal-with-escaped.js | 42 +++++++++++++++++ .../syntax-error-ident-ref-break-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-case-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-catch-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-class-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-const-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-continue-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-debugger-escaped.js | 40 ++++++++++++++++ ...tax-error-ident-ref-default-escaped-ext.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-default-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-default.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-delete-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-do-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-else-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-enum-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-export-escaped.js | 40 ++++++++++++++++ ...tax-error-ident-ref-extends-escaped-ext.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-extends-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-extends.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-finally-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-for-escaped.js | 40 ++++++++++++++++ ...syntax-error-ident-ref-function-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-if-escaped.js | 40 ++++++++++++++++ ...ntax-error-ident-ref-implements-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-import-escaped.js | 40 ++++++++++++++++ .../dstr/syntax-error-ident-ref-in-escaped.js | 40 ++++++++++++++++ ...ntax-error-ident-ref-instanceof-escaped.js | 40 ++++++++++++++++ ...yntax-error-ident-ref-interface-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-let-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-new-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-package-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-private-escaped.js | 40 ++++++++++++++++ ...yntax-error-ident-ref-protected-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-public-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-return-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-static-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-super-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-switch-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-this-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-throw-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-try-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-typeof-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-var-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-void-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-while-escaped.js | 40 ++++++++++++++++ .../syntax-error-ident-ref-with-escaped.js | 40 ++++++++++++++++ ...mber-expr-ident-name-implements-escaped.js | 2 +- ...mber-expr-ident-name-instanceof-escaped.js | 22 +++++++++ ...ember-expr-ident-name-interface-escaped.js | 2 +- .../member-expr-ident-name-let-escaped.js | 2 +- .../member-expr-ident-name-package-escaped.js | 2 +- .../member-expr-ident-name-private-escaped.js | 2 +- ...ember-expr-ident-name-protected-escaped.js | 2 +- .../member-expr-ident-name-public-escaped.js | 2 +- .../member-expr-ident-name-static-escaped.js | 2 +- .../member-expr-ident-name-super-escaped.js | 2 +- .../member-expr-ident-name-typeof-escaped.js | 2 +- ...dent-name-method-def-implements-escaped.js | 2 +- ...dent-name-method-def-instanceof-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 2 +- .../ident-name-method-def-let-escaped.js | 2 +- .../ident-name-method-def-package-escaped.js | 2 +- .../ident-name-method-def-private-escaped.js | 2 +- ...ident-name-method-def-protected-escaped.js | 2 +- .../ident-name-method-def-public-escaped.js | 2 +- .../ident-name-method-def-static-escaped.js | 2 +- .../ident-name-method-def-super-escaped.js | 2 +- .../ident-name-method-def-typeof-escaped.js | 2 +- ...nt-name-prop-name-literal-break-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-case-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-catch-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-class-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-const-escaped.js | 39 ++++++++++++++++ ...name-prop-name-literal-continue-escaped.js | 39 ++++++++++++++++ ...name-prop-name-literal-debugger-escaped.js | 39 ++++++++++++++++ ...e-prop-name-literal-default-escaped-ext.js | 39 ++++++++++++++++ ...-name-prop-name-literal-default-escaped.js | 39 ++++++++++++++++ ...ed-ident-name-prop-name-literal-default.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-delete-escaped.js | 39 ++++++++++++++++ ...ident-name-prop-name-literal-do-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-else-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-enum-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-export-escaped.js | 39 ++++++++++++++++ ...e-prop-name-literal-extends-escaped-ext.js | 39 ++++++++++++++++ ...-name-prop-name-literal-extends-escaped.js | 39 ++++++++++++++++ ...ed-ident-name-prop-name-literal-extends.js | 39 ++++++++++++++++ ...-name-prop-name-literal-finally-escaped.js | 39 ++++++++++++++++ ...dent-name-prop-name-literal-for-escaped.js | 39 ++++++++++++++++ ...name-prop-name-literal-function-escaped.js | 39 ++++++++++++++++ ...ident-name-prop-name-literal-if-escaped.js | 39 ++++++++++++++++ ...me-prop-name-literal-implements-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-import-escaped.js | 39 ++++++++++++++++ ...ident-name-prop-name-literal-in-escaped.js | 39 ++++++++++++++++ ...me-prop-name-literal-instanceof-escaped.js | 39 ++++++++++++++++ ...ame-prop-name-literal-interface-escaped.js | 39 ++++++++++++++++ ...dent-name-prop-name-literal-let-escaped.js | 39 ++++++++++++++++ ...dent-name-prop-name-literal-new-escaped.js | 39 ++++++++++++++++ ...-name-prop-name-literal-package-escaped.js | 39 ++++++++++++++++ ...-name-prop-name-literal-private-escaped.js | 39 ++++++++++++++++ ...ame-prop-name-literal-protected-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-public-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-return-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-static-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-super-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-switch-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-this-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-throw-escaped.js | 39 ++++++++++++++++ ...dent-name-prop-name-literal-try-escaped.js | 39 ++++++++++++++++ ...t-name-prop-name-literal-typeof-escaped.js | 39 ++++++++++++++++ ...dent-name-prop-name-literal-var-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-void-escaped.js | 39 ++++++++++++++++ ...nt-name-prop-name-literal-while-escaped.js | 39 ++++++++++++++++ ...ent-name-prop-name-literal-with-escaped.js | 39 ++++++++++++++++ ...dent-name-method-def-implements-escaped.js | 2 +- ...dent-name-method-def-instanceof-escaped.js | 42 +++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 2 +- .../ident-name-method-def-let-escaped.js | 2 +- .../ident-name-method-def-package-escaped.js | 2 +- .../ident-name-method-def-private-escaped.js | 2 +- ...ident-name-method-def-protected-escaped.js | 2 +- .../ident-name-method-def-public-escaped.js | 2 +- .../ident-name-method-def-static-escaped.js | 2 +- .../ident-name-method-def-super-escaped.js | 2 +- .../ident-name-method-def-typeof-escaped.js | 2 +- ...me-prop-name-literal-implements-escaped.js | 2 +- ...me-prop-name-literal-instanceof-escaped.js | 41 +++++++++++++++++ ...ame-prop-name-literal-interface-escaped.js | 2 +- ...dent-name-prop-name-literal-let-escaped.js | 2 +- ...-name-prop-name-literal-package-escaped.js | 2 +- ...-name-prop-name-literal-private-escaped.js | 2 +- ...ame-prop-name-literal-protected-escaped.js | 2 +- ...t-name-prop-name-literal-public-escaped.js | 2 +- ...t-name-prop-name-literal-static-escaped.js | 2 +- ...nt-name-prop-name-literal-super-escaped.js | 2 +- ...t-name-prop-name-literal-typeof-escaped.js | 2 +- ...dent-name-method-def-implements-escaped.js | 2 +- ...dent-name-method-def-instanceof-escaped.js | 46 +++++++++++++++++++ ...ident-name-method-def-interface-escaped.js | 2 +- .../ident-name-method-def-let-escaped.js | 2 +- .../ident-name-method-def-package-escaped.js | 2 +- .../ident-name-method-def-private-escaped.js | 2 +- ...ident-name-method-def-protected-escaped.js | 2 +- .../ident-name-method-def-public-escaped.js | 2 +- .../ident-name-method-def-static-escaped.js | 2 +- .../ident-name-method-def-super-escaped.js | 2 +- .../ident-name-method-def-typeof-escaped.js | 2 +- 235 files changed, 7492 insertions(+), 50 deletions(-) create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-break-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-case-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-catch-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-class-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-const-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-continue-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-debugger-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped-ext.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-delete-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-do-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-else-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-enum-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-export-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped-ext.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-finally-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-for-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-function-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-if-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-implements-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-import-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-in-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-instanceof-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-interface-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-let-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-new-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-package-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-private-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-protected-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-public-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-return-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-static-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-super-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-switch-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-this-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-throw-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-try-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-typeof-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-var-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-void-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-while-escaped.js create mode 100644 test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-with-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-break-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-case-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-catch-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-class-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-const-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-continue-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-debugger-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped-ext.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-delete-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-do-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-else-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-enum-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-export-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped-ext.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-finally-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-for-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-function-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-if-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-implements-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-import-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-in-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-instanceof-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-interface-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-let-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-new-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-package-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-private-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-protected-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-public-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-return-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-static-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-super-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-switch-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-this-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-throw-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-try-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-typeof-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-var-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-void-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-while-escaped.js create mode 100644 test/language/expressions/assignment/dstr/ident-name-prop-name-literal-with-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-break-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-case-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-catch-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-class-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-const-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-continue-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-debugger-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped-ext.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-default.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-delete-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-do-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-else-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-enum-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-export-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped-ext.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-finally-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-for-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-function-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-if-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-implements-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-import-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-in-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-instanceof-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-interface-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-let-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-new-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-package-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-private-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-protected-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-public-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-return-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-static-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-super-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-switch-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-this-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-throw-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-try-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-typeof-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-var-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-void-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-while-escaped.js create mode 100644 test/language/expressions/assignment/dstr/syntax-error-ident-ref-with-escaped.js create mode 100644 test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js create mode 100644 test/language/expressions/class/ident-name-method-def-instanceof-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-default.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-extends.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-implements-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-interface-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-package-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-private-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-protected-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-public-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-static-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js create mode 100644 test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js create mode 100644 test/language/expressions/object/ident-name-method-def-instanceof-escaped.js create mode 100644 test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js create mode 100644 test/language/statements/class/ident-name-method-def-instanceof-escaped.js diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-break-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-break-escaped.js new file mode 100644 index 0000000000..9ea829f2f8 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-break-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: break is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ bre\u0061k }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-case-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-case-escaped.js new file mode 100644 index 0000000000..ae873a507d --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-case-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: case is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ c\u0061se }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-catch-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-catch-escaped.js new file mode 100644 index 0000000000..6a73898583 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-catch-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: catch is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ c\u0061tch }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-class-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-class-escaped.js new file mode 100644 index 0000000000..1165f0dc90 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-class-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: class is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ cl\u0061ss }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-const-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-const-escaped.js new file mode 100644 index 0000000000..38b813b68f --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-const-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: const is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0063onst }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-continue-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-continue-escaped.js new file mode 100644 index 0000000000..4107841e9a --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-continue-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: continue is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0063ontinue }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-debugger-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-debugger-escaped.js new file mode 100644 index 0000000000..dd992b8d3e --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-debugger-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: debugger is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0064ebugger }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped-ext.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped-ext.js new file mode 100644 index 0000000000..d5a2bd9eea --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: default is a valid identifier name, using extended escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ def\u{61}ult }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped.js new file mode 100644 index 0000000000..817ca8d004 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: default is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ def\u0061ult }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default.js new file mode 100644 index 0000000000..b01dd1856a --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-default.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: default is a valid identifier name (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ default }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-delete-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-delete-escaped.js new file mode 100644 index 0000000000..ddc0944b62 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-delete-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: delete is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0064elete }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-do-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-do-escaped.js new file mode 100644 index 0000000000..235a436f6b --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-do-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: do is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0064o }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-else-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-else-escaped.js new file mode 100644 index 0000000000..cb80673bdc --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-else-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: else is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0065lse }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-enum-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-enum-escaped.js new file mode 100644 index 0000000000..a96bc2f2c9 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-enum-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: enum is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0065num }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-export-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-export-escaped.js new file mode 100644 index 0000000000..3871fd94ee --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-export-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: export is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0065xport }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped-ext.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped-ext.js new file mode 100644 index 0000000000..71ce774f7e --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: extends is a valid identifier name, using extended escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u{65}xtends }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped.js new file mode 100644 index 0000000000..f3a98ddd4f --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: extends is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0065xtends }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends.js new file mode 100644 index 0000000000..ef480185e9 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-extends.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: extends is a valid identifier name (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ extends }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-finally-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-finally-escaped.js new file mode 100644 index 0000000000..1b0410e7f1 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-finally-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: finally is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0066inally }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-for-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-for-escaped.js new file mode 100644 index 0000000000..be5c9b3bca --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-for-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: for is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0066or }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-function-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-function-escaped.js new file mode 100644 index 0000000000..70416d6c81 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-function-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: function is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0066unction }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-if-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-if-escaped.js new file mode 100644 index 0000000000..82d9d2936f --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-if-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: if is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ i\u0066 }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-implements-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-implements-escaped.js new file mode 100644 index 0000000000..807c0d3fdd --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-implements-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: implements is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0069mplements }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-import-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-import-escaped.js new file mode 100644 index 0000000000..7dc378cc0c --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-import-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: import is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0069mport }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-in-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-in-escaped.js new file mode 100644 index 0000000000..882edec45b --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-in-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: in is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0069n }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-instanceof-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-instanceof-escaped.js new file mode 100644 index 0000000000..be984eed07 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-instanceof-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: instanceof is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ \u0069nstanceof }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-interface-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-interface-escaped.js new file mode 100644 index 0000000000..249a7331c3 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-interface-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: interface is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ interf\u0061ce }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-let-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-let-escaped.js new file mode 100644 index 0000000000..4f5f407244 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-let-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: let is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ l\u0065t }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-new-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-new-escaped.js new file mode 100644 index 0000000000..71bf9f198d --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-new-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: new is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ n\u0065w }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-package-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-package-escaped.js new file mode 100644 index 0000000000..2a03deff96 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-package-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: package is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ p\u0061ckage }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-private-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-private-escaped.js new file mode 100644 index 0000000000..b035db389f --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-private-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: private is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ privat\u0065 }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-protected-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-protected-escaped.js new file mode 100644 index 0000000000..38506fd923 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-protected-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: protected is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ prot\u0065cted }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-public-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-public-escaped.js new file mode 100644 index 0000000000..1c1ea3052e --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-public-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: public is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ pu\u0062lic }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-return-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-return-escaped.js new file mode 100644 index 0000000000..d0ae695098 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-return-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: return is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ r\u0065turn }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-static-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-static-escaped.js new file mode 100644 index 0000000000..bc9518cb2d --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-static-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/future-reserved-words/arrow-fn-assignment-identifier.template +/*--- +description: static is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ st\u0061tic }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-super-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-super-escaped.js new file mode 100644 index 0000000000..5e195d8f44 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-super-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: super is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ sup\u0065r }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-switch-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-switch-escaped.js new file mode 100644 index 0000000000..0126e6740a --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-switch-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: switch is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ sw\u0069tch }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-this-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-this-escaped.js new file mode 100644 index 0000000000..1a691d18e5 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-this-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: this is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ th\u0069s }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-throw-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-throw-escaped.js new file mode 100644 index 0000000000..b7d49538a1 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-throw-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: throw is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ t\u0068row }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-try-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-try-escaped.js new file mode 100644 index 0000000000..18ca8dba32 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-try-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: try is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ tr\u0079 }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-typeof-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-typeof-escaped.js new file mode 100644 index 0000000000..242acdb4ee --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-typeof-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: typeof is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ typ\u0065of }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-var-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-var-escaped.js new file mode 100644 index 0000000000..2b60400d33 --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-var-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: var is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ v\u0061r }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-void-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-void-escaped.js new file mode 100644 index 0000000000..f40399af9e --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-void-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: void is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ voi\u0064 }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-while-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-while-escaped.js new file mode 100644 index 0000000000..6050b8c1ba --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-while-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: while is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ whil\u0065 }) => {}; diff --git a/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-with-escaped.js b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-with-escaped.js new file mode 100644 index 0000000000..61be431b1d --- /dev/null +++ b/test/language/expressions/arrow-function/dstr/syntax-error-ident-ref-with-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/arrow-fn-assignment-identifier.template +/*--- +description: with is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern (Arrow Function) cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [arrow-function, destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = ({ w\u0069th }) => {}; diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-break-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-break-escaped.js new file mode 100644 index 0000000000..0ef6eb7d5a --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-break-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: break is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { bre\u0061k: x } = { break: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['break'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-case-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-case-escaped.js new file mode 100644 index 0000000000..0f5e540b53 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-case-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: case is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { c\u0061se: x } = { case: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['case'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-catch-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-catch-escaped.js new file mode 100644 index 0000000000..0ef309ddac --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-catch-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: catch is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { c\u0061tch: x } = { catch: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['catch'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-class-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-class-escaped.js new file mode 100644 index 0000000000..db6bf64d4d --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-class-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: class is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { cl\u0061ss: x } = { class: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['class'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-const-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-const-escaped.js new file mode 100644 index 0000000000..480a71def2 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-const-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: const is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0063onst: x } = { const: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['const'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-continue-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-continue-escaped.js new file mode 100644 index 0000000000..e13fc073b0 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-continue-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: continue is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0063ontinue: x } = { continue: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['continue'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-debugger-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-debugger-escaped.js new file mode 100644 index 0000000000..ea092f71f7 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-debugger-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: debugger is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0064ebugger: x } = { debugger: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['debugger'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped-ext.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped-ext.js new file mode 100644 index 0000000000..5693131834 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped-ext.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: default is a valid identifier name, using extended escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { def\u{61}ult: x } = { default: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['default'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped.js new file mode 100644 index 0000000000..2cab883e1e --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: default is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { def\u0061ult: x } = { default: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['default'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default.js new file mode 100644 index 0000000000..79156de4d8 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: default is a valid identifier name (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { default: x } = { default: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['default'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-delete-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-delete-escaped.js new file mode 100644 index 0000000000..93def65290 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-delete-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: delete is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0064elete: x } = { delete: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['delete'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-do-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-do-escaped.js new file mode 100644 index 0000000000..d3aea3847e --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-do-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: do is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0064o: x } = { do: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['do'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-else-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-else-escaped.js new file mode 100644 index 0000000000..5efb85c6a5 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-else-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: else is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0065lse: x } = { else: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['else'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-enum-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-enum-escaped.js new file mode 100644 index 0000000000..aad6a63567 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-enum-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: enum is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0065num: x } = { enum: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['enum'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-export-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-export-escaped.js new file mode 100644 index 0000000000..7410a51734 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-export-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: export is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0065xport: x } = { export: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['export'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped-ext.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped-ext.js new file mode 100644 index 0000000000..a7dd7ddb9e --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped-ext.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: extends is a valid identifier name, using extended escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u{65}xtends: x } = { extends: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['extends'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped.js new file mode 100644 index 0000000000..ab86f728fe --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: extends is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0065xtends: x } = { extends: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['extends'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends.js new file mode 100644 index 0000000000..e798648eea --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: extends is a valid identifier name (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { extends: x } = { extends: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['extends'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-finally-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-finally-escaped.js new file mode 100644 index 0000000000..439d395b13 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-finally-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: finally is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0066inally: x } = { finally: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['finally'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-for-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-for-escaped.js new file mode 100644 index 0000000000..5a0d180247 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-for-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: for is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0066or: x } = { for: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['for'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-function-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-function-escaped.js new file mode 100644 index 0000000000..cc15b80e87 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-function-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: function is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0066unction: x } = { function: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['function'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-if-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-if-escaped.js new file mode 100644 index 0000000000..581bf81e9e --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-if-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: if is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { i\u0066: x } = { if: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['if'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-implements-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-implements-escaped.js new file mode 100644 index 0000000000..be7176fd7e --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-implements-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: implements is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0069mplements: x } = { implements: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['implements'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-import-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-import-escaped.js new file mode 100644 index 0000000000..f09e3110fd --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-import-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: import is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0069mport: x } = { import: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['import'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-in-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-in-escaped.js new file mode 100644 index 0000000000..6bfdf854b4 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-in-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: in is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0069n: x } = { in: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['in'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-instanceof-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-instanceof-escaped.js new file mode 100644 index 0000000000..9adeb64ed6 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-instanceof-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: instanceof is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { \u0069nstanceof: x } = { instanceof: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['instanceof'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-interface-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-interface-escaped.js new file mode 100644 index 0000000000..a6372cc9a1 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-interface-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: interface is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { interf\u0061ce: x } = { interface: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['interface'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-let-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-let-escaped.js new file mode 100644 index 0000000000..bde1f0e4e4 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-let-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: let is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { l\u0065t: x } = { let: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['let'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-new-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-new-escaped.js new file mode 100644 index 0000000000..b72df58a66 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-new-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: new is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { n\u0065w: x } = { new: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['new'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-package-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-package-escaped.js new file mode 100644 index 0000000000..2bd5fc54b5 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-package-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: package is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { p\u0061ckage: x } = { package: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['package'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-private-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-private-escaped.js new file mode 100644 index 0000000000..c79faf1cf6 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-private-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: private is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { privat\u0065: x } = { private: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['private'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-protected-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-protected-escaped.js new file mode 100644 index 0000000000..ff36f0fcb1 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-protected-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: protected is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { prot\u0065cted: x } = { protected: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['protected'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-public-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-public-escaped.js new file mode 100644 index 0000000000..b638fad15d --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-public-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: public is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { pu\u0062lic: x } = { public: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['public'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-return-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-return-escaped.js new file mode 100644 index 0000000000..f32a94544c --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-return-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: return is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { r\u0065turn: x } = { return: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['return'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-static-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-static-escaped.js new file mode 100644 index 0000000000..7c1ddcebf7 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-static-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-prop-name.template +/*--- +description: static is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { st\u0061tic: x } = { static: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['static'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-super-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-super-escaped.js new file mode 100644 index 0000000000..06b08faca8 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-super-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: super is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { sup\u0065r: x } = { super: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['super'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-switch-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-switch-escaped.js new file mode 100644 index 0000000000..9c94299518 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-switch-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: switch is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { sw\u0069tch: x } = { switch: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['switch'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-this-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-this-escaped.js new file mode 100644 index 0000000000..9c49aa2f89 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-this-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: this is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { th\u0069s: x } = { this: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['this'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-throw-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-throw-escaped.js new file mode 100644 index 0000000000..1a60294662 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-throw-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: throw is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { t\u0068row: x } = { throw: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['throw'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-try-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-try-escaped.js new file mode 100644 index 0000000000..b80c26beed --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-try-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: try is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { tr\u0079: x } = { try: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['try'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-typeof-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-typeof-escaped.js new file mode 100644 index 0000000000..912de0c685 --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-typeof-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: typeof is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { typ\u0065of: x } = { typeof: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['typeof'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-var-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-var-escaped.js new file mode 100644 index 0000000000..66584008aa --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-var-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: var is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { v\u0061r: x } = { var: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['var'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-void-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-void-escaped.js new file mode 100644 index 0000000000..357c3efaeb --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-void-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: void is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { voi\u0064: x } = { void: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['void'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-while-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-while-escaped.js new file mode 100644 index 0000000000..80e537f78d --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-while-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: while is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { whil\u0065: x } = { while: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['while'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-with-escaped.js b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-with-escaped.js new file mode 100644 index 0000000000..6fb764b06d --- /dev/null +++ b/test/language/expressions/assignment/dstr/ident-name-prop-name-literal-with-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/obj-assignment-prop-name.template +/*--- +description: with is a valid identifier name, using escape (PropertyName of an ObjectAssignmentPattern) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, noStrict] +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var y = { w\u0069th: x } = { with: 42 }; + +assert.sameValue(x, 42, 'property exists'); +assert.sameValue(y['with'], 42, 'assignment successful'); diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-break-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-break-escaped.js new file mode 100644 index 0000000000..87a2d056bf --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-break-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: break is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { bre\u0061k } = { break: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-case-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-case-escaped.js new file mode 100644 index 0000000000..d4c461571f --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-case-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: case is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { c\u0061se } = { case: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-catch-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-catch-escaped.js new file mode 100644 index 0000000000..ce801e6f02 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-catch-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: catch is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { c\u0061tch } = { catch: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-class-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-class-escaped.js new file mode 100644 index 0000000000..26ef826ac3 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-class-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: class is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { cl\u0061ss } = { class: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-const-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-const-escaped.js new file mode 100644 index 0000000000..722d37a640 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-const-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: const is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0063onst } = { const: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-continue-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-continue-escaped.js new file mode 100644 index 0000000000..dbc817a864 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-continue-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: continue is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0063ontinue } = { continue: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-debugger-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-debugger-escaped.js new file mode 100644 index 0000000000..85461e875c --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-debugger-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: debugger is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0064ebugger } = { debugger: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped-ext.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped-ext.js new file mode 100644 index 0000000000..20f3675a45 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: default is a valid identifier name, using extended escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { def\u{61}ult } = { default: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped.js new file mode 100644 index 0000000000..cd965f1573 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: default is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { def\u0061ult } = { default: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default.js new file mode 100644 index 0000000000..77ffa8cdc7 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-default.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: default is a valid identifier name (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { default } = { default: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-delete-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-delete-escaped.js new file mode 100644 index 0000000000..0650962a41 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-delete-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: delete is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0064elete } = { delete: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-do-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-do-escaped.js new file mode 100644 index 0000000000..88b5593d4f --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-do-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: do is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0064o } = { do: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-else-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-else-escaped.js new file mode 100644 index 0000000000..1a496d7239 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-else-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: else is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0065lse } = { else: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-enum-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-enum-escaped.js new file mode 100644 index 0000000000..ed0ac862e4 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-enum-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: enum is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0065num } = { enum: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-export-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-export-escaped.js new file mode 100644 index 0000000000..af3d4d8501 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-export-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: export is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0065xport } = { export: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped-ext.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped-ext.js new file mode 100644 index 0000000000..8323096fc6 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped-ext.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: extends is a valid identifier name, using extended escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u{65}xtends } = { extends: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped.js new file mode 100644 index 0000000000..cd4a500a85 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: extends is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0065xtends } = { extends: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends.js new file mode 100644 index 0000000000..80ca908c7f --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-extends.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: extends is a valid identifier name (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { extends } = { extends: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-finally-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-finally-escaped.js new file mode 100644 index 0000000000..b1aa4d95d2 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-finally-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: finally is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0066inally } = { finally: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-for-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-for-escaped.js new file mode 100644 index 0000000000..eb76069e00 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-for-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: for is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0066or } = { for: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-function-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-function-escaped.js new file mode 100644 index 0000000000..aafed8d249 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-function-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: function is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0066unction } = { function: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-if-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-if-escaped.js new file mode 100644 index 0000000000..275555cc3e --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-if-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: if is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { i\u0066 } = { if: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-implements-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-implements-escaped.js new file mode 100644 index 0000000000..b70bb6a640 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-implements-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: implements is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0069mplements } = { implements: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-import-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-import-escaped.js new file mode 100644 index 0000000000..16751f1a8e --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-import-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: import is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0069mport } = { import: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-in-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-in-escaped.js new file mode 100644 index 0000000000..4ab6432fb3 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-in-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: in is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0069n } = { in: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-instanceof-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-instanceof-escaped.js new file mode 100644 index 0000000000..3c92bdf8a5 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-instanceof-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: instanceof is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { \u0069nstanceof } = { instanceof: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-interface-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-interface-escaped.js new file mode 100644 index 0000000000..c330f9e72e --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-interface-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: interface is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { interf\u0061ce } = { interface: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-let-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-let-escaped.js new file mode 100644 index 0000000000..7515edf68b --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-let-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: let is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { l\u0065t } = { let: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-new-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-new-escaped.js new file mode 100644 index 0000000000..0ad44efdda --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-new-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: new is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { n\u0065w } = { new: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-package-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-package-escaped.js new file mode 100644 index 0000000000..82792e8c71 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-package-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: package is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { p\u0061ckage } = { package: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-private-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-private-escaped.js new file mode 100644 index 0000000000..737d673929 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-private-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: private is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { privat\u0065 } = { private: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-protected-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-protected-escaped.js new file mode 100644 index 0000000000..b30b4558f2 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-protected-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: protected is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { prot\u0065cted } = { protected: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-public-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-public-escaped.js new file mode 100644 index 0000000000..a7433b0ca9 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-public-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: public is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { pu\u0062lic } = { public: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-return-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-return-escaped.js new file mode 100644 index 0000000000..e6d895d632 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-return-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: return is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { r\u0065turn } = { return: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-static-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-static-escaped.js new file mode 100644 index 0000000000..dabc19a598 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-static-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/future-reserved-words/obj-assignment-identifier.template +/*--- +description: static is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated, onlyStrict] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { st\u0061tic } = { static: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-super-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-super-escaped.js new file mode 100644 index 0000000000..dd8cf52673 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-super-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: super is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { sup\u0065r } = { super: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-switch-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-switch-escaped.js new file mode 100644 index 0000000000..699aaa4ca5 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-switch-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: switch is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { sw\u0069tch } = { switch: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-this-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-this-escaped.js new file mode 100644 index 0000000000..fad7bd62a6 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-this-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: this is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { th\u0069s } = { this: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-throw-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-throw-escaped.js new file mode 100644 index 0000000000..3a5875ac98 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-throw-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: throw is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { t\u0068row } = { throw: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-try-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-try-escaped.js new file mode 100644 index 0000000000..993ca9ce79 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-try-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: try is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { tr\u0079 } = { try: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-typeof-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-typeof-escaped.js new file mode 100644 index 0000000000..b6c6647227 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-typeof-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: typeof is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { typ\u0065of } = { typeof: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-var-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-var-escaped.js new file mode 100644 index 0000000000..81a24e0910 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-var-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: var is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { v\u0061r } = { var: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-void-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-void-escaped.js new file mode 100644 index 0000000000..c7ca53e28a --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-void-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: void is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { voi\u0064 } = { void: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-while-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-while-escaped.js new file mode 100644 index 0000000000..d272ef6b4c --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-while-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: while is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { whil\u0065 } = { while: 42 }; diff --git a/test/language/expressions/assignment/dstr/syntax-error-ident-ref-with-escaped.js b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-with-escaped.js new file mode 100644 index 0000000000..1fc4b86b37 --- /dev/null +++ b/test/language/expressions/assignment/dstr/syntax-error-ident-ref-with-escaped.js @@ -0,0 +1,40 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/obj-assignment-identifier.template +/*--- +description: with is a valid identifier name, using escape (IdentiferReference in ObjectAssignmentPattern cannot be a ReservedWord) +esid: prod-AssignmentPattern +features: [destructuring-assignment] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + AssignmentPattern: + ObjectAssignmentPattern + + ObjectAssignmentPattern: + { AssignmentPropertyList } + + AssignmentPropertyList: + AssignmentProperty + AssignmentPropertyList , AssignmentProperty + + AssignmentProperty: + IdentifierReference Initializer_opt + PropertyName : AssignmentElement + + IdentifierReference: + Identifier + [~Yield]yield + [~Await]await + + Identifier: + IdentifierName but not ReservedWord + +---*/ + + +$DONOTEVALUATE(); + +var x = { w\u0069th } = { with: 42 }; diff --git a/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js index 44f77994e5..c75c92bdba 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-implements-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/implements-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: implements is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js new file mode 100644 index 0000000000..2e31ea7f66 --- /dev/null +++ b/test/language/expressions/assignment/member-expr-ident-name-instanceof-escaped.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/member-expr.template +/*--- +description: instanceof is a valid identifier name, using escape (MemberExpression IdentifierName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + MemberExpression: + ... + MemberExpression . IdentifierName + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = {}; + +obj.\u0069nstanceof = 42; + +assert.sameValue(obj['instanceof'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js index 6dfdd0bf65..c028904736 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-interface-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/interface-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: interface is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js index 9ecb7e8712..a81489c12d 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-let-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/let-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: let is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js index 6ac03d4420..4ab13097a6 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-package-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/package-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: package is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js index 4183736448..23d93b8ae4 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-private-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/private-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: private is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js index 19eda6f380..4870d499ad 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-protected-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/protected-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: protected is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js index b7fa44c457..0b7abddac1 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-public-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/public-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: public is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js index 4d9bed22df..e46dfa5518 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-static-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/static-escaped.case -// - src/identifier-names/default/member-expr.template +// - src/identifier-names/future-reserved-words/member-expr.template /*--- description: static is a valid identifier name, using escape (MemberExpression IdentifierName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js index 420ed5938b..1f185e9322 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-super-escaped.js @@ -17,6 +17,6 @@ info: | var obj = {}; -obj.s\u0065per = 42; +obj.sup\u0065r = 42; assert.sameValue(obj['super'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js index b30b3f9616..e0ff3aa3fa 100644 --- a/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js +++ b/test/language/expressions/assignment/member-expr-ident-name-typeof-escaped.js @@ -17,6 +17,6 @@ info: | var obj = {}; -obj.t\u0068peof = 42; +obj.typ\u0065of = 42; assert.sameValue(obj['typeof'], 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-implements-escaped.js b/test/language/expressions/class/ident-name-method-def-implements-escaped.js index 0fa21b0968..29ecb09165 100644 --- a/test/language/expressions/class/ident-name-method-def-implements-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-implements-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/implements-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: implements is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-instanceof-escaped.js b/test/language/expressions/class/ident-name-method-def-instanceof-escaped.js new file mode 100644 index 0000000000..ad6c2f3309 --- /dev/null +++ b/test/language/expressions/class/ident-name-method-def-instanceof-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/class-expression-method-def.template +/*--- +description: instanceof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +var C = class { + \u0069nstanceof() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['instanceof'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-interface-escaped.js b/test/language/expressions/class/ident-name-method-def-interface-escaped.js index 68efe7c4e3..8c9d0b21cc 100644 --- a/test/language/expressions/class/ident-name-method-def-interface-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-interface-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/interface-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: interface is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-let-escaped.js b/test/language/expressions/class/ident-name-method-def-let-escaped.js index 20981a046e..b997f15ddf 100644 --- a/test/language/expressions/class/ident-name-method-def-let-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-let-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/let-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: let is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-package-escaped.js b/test/language/expressions/class/ident-name-method-def-package-escaped.js index 5d04b9e257..1fa7a561c9 100644 --- a/test/language/expressions/class/ident-name-method-def-package-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-package-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/package-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: package is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-private-escaped.js b/test/language/expressions/class/ident-name-method-def-private-escaped.js index 6461960409..12cbc40334 100644 --- a/test/language/expressions/class/ident-name-method-def-private-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-private-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/private-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: private is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-protected-escaped.js b/test/language/expressions/class/ident-name-method-def-protected-escaped.js index c39245eeac..5f4adb8857 100644 --- a/test/language/expressions/class/ident-name-method-def-protected-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-protected-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/protected-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: protected is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-public-escaped.js b/test/language/expressions/class/ident-name-method-def-public-escaped.js index 471b7b7938..10559d9113 100644 --- a/test/language/expressions/class/ident-name-method-def-public-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-public-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/public-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: public is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-static-escaped.js b/test/language/expressions/class/ident-name-method-def-static-escaped.js index e62bda411b..bd6e7ecae7 100644 --- a/test/language/expressions/class/ident-name-method-def-static-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-static-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/static-escaped.case -// - src/identifier-names/default/class-expression-method-def.template +// - src/identifier-names/future-reserved-words/class-expression-method-def.template /*--- description: static is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/class/ident-name-method-def-super-escaped.js b/test/language/expressions/class/ident-name-method-def-super-escaped.js index e86a6c93b7..0840d9684d 100644 --- a/test/language/expressions/class/ident-name-method-def-super-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-super-escaped.js @@ -38,7 +38,7 @@ info: | var C = class { - s\u0065per() { return 42; } + sup\u0065r() { return 42; } } var obj = new C(); diff --git a/test/language/expressions/class/ident-name-method-def-typeof-escaped.js b/test/language/expressions/class/ident-name-method-def-typeof-escaped.js index 1acfe5ffa9..1d8b635f66 100644 --- a/test/language/expressions/class/ident-name-method-def-typeof-escaped.js +++ b/test/language/expressions/class/ident-name-method-def-typeof-escaped.js @@ -38,7 +38,7 @@ info: | var C = class { - t\u0068peof() { return 42; } + typ\u0065of() { return 42; } } var obj = new C(); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js new file mode 100644 index 0000000000..11c1d04ae6 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-break-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/break-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: break is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ bre\u0061k: 42 }); + +assert.sameValue(obj['break'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js new file mode 100644 index 0000000000..53923144ab --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-case-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/case-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: case is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ c\u0061se: 42 }); + +assert.sameValue(obj['case'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js new file mode 100644 index 0000000000..06fa242a70 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-catch-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/catch-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: catch is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ c\u0061tch: 42 }); + +assert.sameValue(obj['catch'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js new file mode 100644 index 0000000000..83d3012591 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-class-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/class-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: class is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ cl\u0061ss: 42 }); + +assert.sameValue(obj['class'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js new file mode 100644 index 0000000000..1ae9e4182b --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-const-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/const-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: const is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0063onst: 42 }); + +assert.sameValue(obj['const'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js new file mode 100644 index 0000000000..2a5936ed02 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-continue-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/continue-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: continue is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0063ontinue: 42 }); + +assert.sameValue(obj['continue'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js new file mode 100644 index 0000000000..3ed7d471df --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-debugger-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/debugger-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: debugger is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0064ebugger: 42 }); + +assert.sameValue(obj['debugger'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js new file mode 100644 index 0000000000..ba60b7f637 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped-ext.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped-ext.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: default is a valid identifier name, using extended escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ def\u{61}ult: 42 }); + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js new file mode 100644 index 0000000000..9965a6f3fc --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-default-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: default is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ def\u0061ult: 42 }); + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-default.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-default.js new file mode 100644 index 0000000000..bb1742a6f3 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-default.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/default.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: default is a valid identifier name (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ default: 42 }); + +assert.sameValue(obj['default'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js new file mode 100644 index 0000000000..af8ab02c61 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-delete-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/delete-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: delete is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0064elete: 42 }); + +assert.sameValue(obj['delete'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js new file mode 100644 index 0000000000..69df46f8cd --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-do-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/do-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: do is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0064o: 42 }); + +assert.sameValue(obj['do'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js new file mode 100644 index 0000000000..2288757333 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-else-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/else-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: else is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0065lse: 42 }); + +assert.sameValue(obj['else'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js new file mode 100644 index 0000000000..9b5b537bf2 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-enum-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/enum-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: enum is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0065num: 42 }); + +assert.sameValue(obj['enum'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js new file mode 100644 index 0000000000..95570f7979 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-export-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/export-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: export is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0065xport: 42 }); + +assert.sameValue(obj['export'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js new file mode 100644 index 0000000000..758da1e95a --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped-ext.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped-ext.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: extends is a valid identifier name, using extended escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u{65}xtends: 42 }); + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js new file mode 100644 index 0000000000..51ae81b34b --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: extends is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0065xtends: 42 }); + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-extends.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends.js new file mode 100644 index 0000000000..b13bd3919c --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-extends.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/extends.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: extends is a valid identifier name (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ extends: 42 }); + +assert.sameValue(obj['extends'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js new file mode 100644 index 0000000000..4168035089 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-finally-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/finally-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: finally is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0066inally: 42 }); + +assert.sameValue(obj['finally'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js new file mode 100644 index 0000000000..a43af261a6 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-for-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/for-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: for is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0066or: 42 }); + +assert.sameValue(obj['for'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js new file mode 100644 index 0000000000..a555b30f16 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-function-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/function-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: function is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0066unction: 42 }); + +assert.sameValue(obj['function'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js new file mode 100644 index 0000000000..4016630d73 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-if-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/if-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: if is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ i\u0066: 42 }); + +assert.sameValue(obj['if'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-implements-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-implements-escaped.js new file mode 100644 index 0000000000..c250c8a2df --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-implements-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/implements-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: implements is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0069mplements: 42 }); + +assert.sameValue(obj['implements'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js new file mode 100644 index 0000000000..37508784db --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-import-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/import-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: import is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0069mport: 42 }); + +assert.sameValue(obj['import'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js new file mode 100644 index 0000000000..2f3b2e1c6f --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-in-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/in-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: in is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0069n: 42 }); + +assert.sameValue(obj['in'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js new file mode 100644 index 0000000000..e3da5cafc4 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-instanceof-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: instanceof is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ \u0069nstanceof: 42 }); + +assert.sameValue(obj['instanceof'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-interface-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-interface-escaped.js new file mode 100644 index 0000000000..7da3f1809a --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-interface-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/interface-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: interface is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ interf\u0061ce: 42 }); + +assert.sameValue(obj['interface'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js new file mode 100644 index 0000000000..734ac582c5 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-let-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/let-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: let is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ l\u0065t: 42 }); + +assert.sameValue(obj['let'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js new file mode 100644 index 0000000000..54ad4e6b55 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-new-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/new-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: new is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ n\u0065w: 42 }); + +assert.sameValue(obj['new'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-package-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-package-escaped.js new file mode 100644 index 0000000000..9b14d8e102 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-package-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/package-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: package is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ p\u0061ckage: 42 }); + +assert.sameValue(obj['package'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-private-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-private-escaped.js new file mode 100644 index 0000000000..2812ae5cf1 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-private-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/private-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: private is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ privat\u0065: 42 }); + +assert.sameValue(obj['private'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-protected-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-protected-escaped.js new file mode 100644 index 0000000000..688d0752d3 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-protected-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/protected-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: protected is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ prot\u0065cted: 42 }); + +assert.sameValue(obj['protected'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-public-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-public-escaped.js new file mode 100644 index 0000000000..22e4382ec8 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-public-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/public-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: public is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ pu\u0062lic: 42 }); + +assert.sameValue(obj['public'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js new file mode 100644 index 0000000000..fdc021b66d --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-return-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/return-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: return is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ r\u0065turn: 42 }); + +assert.sameValue(obj['return'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-static-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-static-escaped.js new file mode 100644 index 0000000000..3abf7e27d1 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-static-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/static-escaped.case +// - src/identifier-names/future-reserved-words/covered-obj-prop-name.template +/*--- +description: static is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ st\u0061tic: 42 }); + +assert.sameValue(obj['static'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js new file mode 100644 index 0000000000..6d56319d8f --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-super-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/super-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: super is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ sup\u0065r: 42 }); + +assert.sameValue(obj['super'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js new file mode 100644 index 0000000000..46f9b47e5f --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-switch-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/switch-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: switch is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ sw\u0069tch: 42 }); + +assert.sameValue(obj['switch'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js new file mode 100644 index 0000000000..37db692d03 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-this-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/this-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: this is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ th\u0069s: 42 }); + +assert.sameValue(obj['this'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js new file mode 100644 index 0000000000..6b04074492 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-throw-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/throw-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: throw is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ t\u0068row: 42 }); + +assert.sameValue(obj['throw'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js new file mode 100644 index 0000000000..67592e42b3 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-try-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/try-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: try is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ tr\u0079: 42 }); + +assert.sameValue(obj['try'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js new file mode 100644 index 0000000000..e21b7c039c --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-typeof-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/typeof-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: typeof is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ typ\u0065of: 42 }); + +assert.sameValue(obj['typeof'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js new file mode 100644 index 0000000000..a5e68d5127 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-var-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/var-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: var is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ v\u0061r: 42 }); + +assert.sameValue(obj['var'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js new file mode 100644 index 0000000000..de730b4e72 --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-void-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/void-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: void is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ voi\u0064: 42 }); + +assert.sameValue(obj['void'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js new file mode 100644 index 0000000000..8b248b047b --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-while-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/while-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: while is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ whil\u0065: 42 }); + +assert.sameValue(obj['while'], 42, 'property exists'); diff --git a/test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js b/test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js new file mode 100644 index 0000000000..f6fcf8ed5d --- /dev/null +++ b/test/language/expressions/object/covered-ident-name-prop-name-literal-with-escaped.js @@ -0,0 +1,39 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/with-escaped.case +// - src/identifier-names/default/covered-obj-prop-name.template +/*--- +description: with is a valid identifier name, using escape (PropertyName in a CoverParenthesizedExpressionAndArrowParameterList) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = ({ w\u0069th: 42 }); + +assert.sameValue(obj['with'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-implements-escaped.js b/test/language/expressions/object/ident-name-method-def-implements-escaped.js index 013dd26eb7..8164e224c9 100644 --- a/test/language/expressions/object/ident-name-method-def-implements-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-implements-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/implements-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: implements is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-instanceof-escaped.js b/test/language/expressions/object/ident-name-method-def-instanceof-escaped.js new file mode 100644 index 0000000000..cb22b0a2d8 --- /dev/null +++ b/test/language/expressions/object/ident-name-method-def-instanceof-escaped.js @@ -0,0 +1,42 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/obj-method-definition.template +/*--- +description: instanceof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + + +var obj = { + \u0069nstanceof() { return 42; } +}; + +assert.sameValue(obj['instanceof'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-interface-escaped.js b/test/language/expressions/object/ident-name-method-def-interface-escaped.js index 5de30f9cd3..e8304d29ee 100644 --- a/test/language/expressions/object/ident-name-method-def-interface-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-interface-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/interface-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: interface is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-let-escaped.js b/test/language/expressions/object/ident-name-method-def-let-escaped.js index 352a0ffe82..ec1b9c3155 100644 --- a/test/language/expressions/object/ident-name-method-def-let-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-let-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/let-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: let is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-package-escaped.js b/test/language/expressions/object/ident-name-method-def-package-escaped.js index b6fc21fe86..1c3e36a622 100644 --- a/test/language/expressions/object/ident-name-method-def-package-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-package-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/package-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: package is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-private-escaped.js b/test/language/expressions/object/ident-name-method-def-private-escaped.js index 9894b4f8a1..296bf512c8 100644 --- a/test/language/expressions/object/ident-name-method-def-private-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-private-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/private-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: private is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-protected-escaped.js b/test/language/expressions/object/ident-name-method-def-protected-escaped.js index e1d2047f0f..4f046eb3b9 100644 --- a/test/language/expressions/object/ident-name-method-def-protected-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-protected-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/protected-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: protected is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-public-escaped.js b/test/language/expressions/object/ident-name-method-def-public-escaped.js index 2f0b3f1b3c..8171ee1c6c 100644 --- a/test/language/expressions/object/ident-name-method-def-public-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-public-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/public-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: public is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-static-escaped.js b/test/language/expressions/object/ident-name-method-def-static-escaped.js index c95145dbd9..5b1c580f42 100644 --- a/test/language/expressions/object/ident-name-method-def-static-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-static-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/static-escaped.case -// - src/identifier-names/default/obj-method-definition.template +// - src/identifier-names/future-reserved-words/obj-method-definition.template /*--- description: static is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-method-def-super-escaped.js b/test/language/expressions/object/ident-name-method-def-super-escaped.js index 46c886a714..2b0d892084 100644 --- a/test/language/expressions/object/ident-name-method-def-super-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-super-escaped.js @@ -36,7 +36,7 @@ info: | var obj = { - s\u0065per() { return 42; } + sup\u0065r() { return 42; } }; assert.sameValue(obj['super'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-typeof-escaped.js b/test/language/expressions/object/ident-name-method-def-typeof-escaped.js index 05ddbff3c9..3203e44f75 100644 --- a/test/language/expressions/object/ident-name-method-def-typeof-escaped.js +++ b/test/language/expressions/object/ident-name-method-def-typeof-escaped.js @@ -36,7 +36,7 @@ info: | var obj = { - t\u0068peof() { return 42; } + typ\u0065of() { return 42; } }; assert.sameValue(obj['typeof'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js index abc1c80be8..33e389e96c 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-implements-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/implements-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: implements is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js new file mode 100644 index 0000000000..aa5f60769b --- /dev/null +++ b/test/language/expressions/object/ident-name-prop-name-literal-instanceof-escaped.js @@ -0,0 +1,41 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/obj-prop-name.template +/*--- +description: instanceof is a valid identifier name, using escape (PropertyName) +esid: prod-PropertyDefinition +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + IdentifierReference + PropertyName : AssignmentExpression + MethodDefinition + ... AssignmentExpression + ... + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. +---*/ + +var obj = { + \u0069nstanceof: 42 +}; + +assert.sameValue(obj['instanceof'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js index 1b60e37317..13822fdcb9 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-interface-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/interface-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: interface is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js index 2230c8a488..473656a024 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-let-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/let-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: let is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js index c5aceb9db9..f1369c6877 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-package-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/package-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: package is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js index 8e0dd2d481..106f007d09 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-private-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/private-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: private is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js index 77232d50c9..f87ef8a583 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-protected-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/protected-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: protected is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js index 678b4297d5..a353c279ee 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-public-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/public-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: public is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js index 7472bd4ec4..8c776e09ee 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-static-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/static-escaped.case -// - src/identifier-names/default/obj-prop-name.template +// - src/identifier-names/future-reserved-words/obj-prop-name.template /*--- description: static is a valid identifier name, using escape (PropertyName) esid: prod-PropertyDefinition diff --git a/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js index f210d86b90..cb2d0cd989 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-super-escaped.js @@ -35,7 +35,7 @@ info: | ---*/ var obj = { - s\u0065per: 42 + sup\u0065r: 42 }; assert.sameValue(obj['super'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js index 1c1b81b6d4..0619fccbea 100644 --- a/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js +++ b/test/language/expressions/object/ident-name-prop-name-literal-typeof-escaped.js @@ -35,7 +35,7 @@ info: | ---*/ var obj = { - t\u0068peof: 42 + typ\u0065of: 42 }; assert.sameValue(obj['typeof'], 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-implements-escaped.js b/test/language/statements/class/ident-name-method-def-implements-escaped.js index e9f6bfb6d9..7520f6f4b7 100644 --- a/test/language/statements/class/ident-name-method-def-implements-escaped.js +++ b/test/language/statements/class/ident-name-method-def-implements-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/implements-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: implements is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-instanceof-escaped.js b/test/language/statements/class/ident-name-method-def-instanceof-escaped.js new file mode 100644 index 0000000000..f69f43a0f2 --- /dev/null +++ b/test/language/statements/class/ident-name-method-def-instanceof-escaped.js @@ -0,0 +1,46 @@ +// This file was procedurally generated from the following sources: +// - src/identifier-names/instanceof-escaped.case +// - src/identifier-names/default/class-statement-method-def.template +/*--- +description: instanceof is a valid identifier name, using escape (MethodDefinition) +esid: prod-PropertyDefinition +features: [class] +flags: [generated] +info: | + ObjectLiteral : + { PropertyDefinitionList } + { PropertyDefinitionList , } + + PropertyDefinitionList: + PropertyDefinition + PropertyDefinitionList , PropertyDefinition + + PropertyDefinition: + MethodDefinition + ... + + MethodDefinition: + PropertyName ( UniqueFormalParameters ){ FunctionBody } + + PropertyName: + LiteralPropertyName + ... + + LiteralPropertyName: + IdentifierName + ... + + Reserved Words + + A reserved word is an IdentifierName that cannot be used as an Identifier. + +---*/ + + +class C { + \u0069nstanceof() { return 42; } +} + +var obj = new C(); + +assert.sameValue(obj['instanceof'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-interface-escaped.js b/test/language/statements/class/ident-name-method-def-interface-escaped.js index 9cb9ee2789..e413d86b26 100644 --- a/test/language/statements/class/ident-name-method-def-interface-escaped.js +++ b/test/language/statements/class/ident-name-method-def-interface-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/interface-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: interface is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-let-escaped.js b/test/language/statements/class/ident-name-method-def-let-escaped.js index 06cea599a7..32452fb08c 100644 --- a/test/language/statements/class/ident-name-method-def-let-escaped.js +++ b/test/language/statements/class/ident-name-method-def-let-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/let-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: let is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-package-escaped.js b/test/language/statements/class/ident-name-method-def-package-escaped.js index 429d3663c8..aecd721b37 100644 --- a/test/language/statements/class/ident-name-method-def-package-escaped.js +++ b/test/language/statements/class/ident-name-method-def-package-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/package-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: package is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-private-escaped.js b/test/language/statements/class/ident-name-method-def-private-escaped.js index 345e4325c2..07adf1a8e1 100644 --- a/test/language/statements/class/ident-name-method-def-private-escaped.js +++ b/test/language/statements/class/ident-name-method-def-private-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/private-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: private is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-protected-escaped.js b/test/language/statements/class/ident-name-method-def-protected-escaped.js index 783ae9b9e3..9d0011abd8 100644 --- a/test/language/statements/class/ident-name-method-def-protected-escaped.js +++ b/test/language/statements/class/ident-name-method-def-protected-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/protected-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: protected is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-public-escaped.js b/test/language/statements/class/ident-name-method-def-public-escaped.js index 9c2ad1c828..2fdcf77759 100644 --- a/test/language/statements/class/ident-name-method-def-public-escaped.js +++ b/test/language/statements/class/ident-name-method-def-public-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/public-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: public is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-static-escaped.js b/test/language/statements/class/ident-name-method-def-static-escaped.js index 85c072b5cd..4addd95686 100644 --- a/test/language/statements/class/ident-name-method-def-static-escaped.js +++ b/test/language/statements/class/ident-name-method-def-static-escaped.js @@ -1,6 +1,6 @@ // This file was procedurally generated from the following sources: // - src/identifier-names/static-escaped.case -// - src/identifier-names/default/class-statement-method-def.template +// - src/identifier-names/future-reserved-words/class-statement-method-def.template /*--- description: static is a valid identifier name, using escape (MethodDefinition) esid: prod-PropertyDefinition diff --git a/test/language/statements/class/ident-name-method-def-super-escaped.js b/test/language/statements/class/ident-name-method-def-super-escaped.js index 03580e3314..2dc45d12cd 100644 --- a/test/language/statements/class/ident-name-method-def-super-escaped.js +++ b/test/language/statements/class/ident-name-method-def-super-escaped.js @@ -38,7 +38,7 @@ info: | class C { - s\u0065per() { return 42; } + sup\u0065r() { return 42; } } var obj = new C(); diff --git a/test/language/statements/class/ident-name-method-def-typeof-escaped.js b/test/language/statements/class/ident-name-method-def-typeof-escaped.js index 7f2c7ed60d..2323e8673d 100644 --- a/test/language/statements/class/ident-name-method-def-typeof-escaped.js +++ b/test/language/statements/class/ident-name-method-def-typeof-escaped.js @@ -38,7 +38,7 @@ info: | class C { - t\u0068peof() { return 42; } + typ\u0065of() { return 42; } } var obj = new C(); From bcb6c333872c7106e56cea2009ded3e32522d4fd Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 19:14:44 -0400 Subject: [PATCH 10/10] Regenerate tests --- .../member-expr-ident-name-await-escaped.js | 22 --------- ...member-expr-ident-name-instance-escaped.js | 22 --------- .../member-expr-ident-name-yield-escaped.js | 22 --------- .../ident-name-method-def-await-escaped.js | 46 ------------------- .../ident-name-method-def-instance-escaped.js | 46 ------------------- .../ident-name-method-def-yield-escaped.js | 46 ------------------- .../ident-name-method-def-await-escaped.js | 42 ----------------- .../ident-name-method-def-instance-escaped.js | 42 ----------------- .../ident-name-method-def-yield-escaped.js | 42 ----------------- ...nt-name-prop-name-literal-await-escaped.js | 41 ----------------- ...name-prop-name-literal-instance-escaped.js | 41 ----------------- ...nt-name-prop-name-literal-yield-escaped.js | 41 ----------------- .../ident-name-method-def-await-escaped.js | 46 ------------------- .../ident-name-method-def-instance-escaped.js | 46 ------------------- .../ident-name-method-def-yield-escaped.js | 46 ------------------- 15 files changed, 591 deletions(-) delete mode 100644 test/language/expressions/assignment/member-expr-ident-name-await-escaped.js delete mode 100644 test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js delete mode 100644 test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js delete mode 100644 test/language/expressions/class/ident-name-method-def-await-escaped.js delete mode 100644 test/language/expressions/class/ident-name-method-def-instance-escaped.js delete mode 100644 test/language/expressions/class/ident-name-method-def-yield-escaped.js delete mode 100644 test/language/expressions/object/ident-name-method-def-await-escaped.js delete mode 100644 test/language/expressions/object/ident-name-method-def-instance-escaped.js delete mode 100644 test/language/expressions/object/ident-name-method-def-yield-escaped.js delete mode 100644 test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js delete mode 100644 test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js delete mode 100644 test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js delete mode 100644 test/language/statements/class/ident-name-method-def-await-escaped.js delete mode 100644 test/language/statements/class/ident-name-method-def-instance-escaped.js delete mode 100644 test/language/statements/class/ident-name-method-def-yield-escaped.js diff --git a/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js deleted file mode 100644 index f43c3e800c..0000000000 --- a/test/language/expressions/assignment/member-expr-ident-name-await-escaped.js +++ /dev/null @@ -1,22 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/await-escaped.case -// - src/identifier-names/default/member-expr.template -/*--- -description: await is a valid identifier name, using escape (MemberExpression IdentifierName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - MemberExpression: - ... - MemberExpression . IdentifierName - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = {}; - -obj.\u0061wait = 42; - -assert.sameValue(obj['await'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js deleted file mode 100644 index c25b411b15..0000000000 --- a/test/language/expressions/assignment/member-expr-ident-name-instance-escaped.js +++ /dev/null @@ -1,22 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/instance-escaped.case -// - src/identifier-names/default/member-expr.template -/*--- -description: instance is a valid identifier name, using escape (MemberExpression IdentifierName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - MemberExpression: - ... - MemberExpression . IdentifierName - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = {}; - -obj.\u0069nstance = 42; - -assert.sameValue(obj['instance'], 42, 'property exists'); diff --git a/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js b/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js deleted file mode 100644 index 2b8c170bf1..0000000000 --- a/test/language/expressions/assignment/member-expr-ident-name-yield-escaped.js +++ /dev/null @@ -1,22 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/yield-escaped.case -// - src/identifier-names/default/member-expr.template -/*--- -description: yield is a valid identifier name, using escape (MemberExpression IdentifierName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - MemberExpression: - ... - MemberExpression . IdentifierName - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = {}; - -obj.y\u0069eld = 42; - -assert.sameValue(obj['yield'], 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-await-escaped.js b/test/language/expressions/class/ident-name-method-def-await-escaped.js deleted file mode 100644 index 7bcf14ad82..0000000000 --- a/test/language/expressions/class/ident-name-method-def-await-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/await-escaped.case -// - src/identifier-names/default/class-expression-method-def.template -/*--- -description: await is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -var C = class { - \u0061wait() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-instance-escaped.js b/test/language/expressions/class/ident-name-method-def-instance-escaped.js deleted file mode 100644 index d21ebe1ddd..0000000000 --- a/test/language/expressions/class/ident-name-method-def-instance-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/instance-escaped.case -// - src/identifier-names/default/class-expression-method-def.template -/*--- -description: instance is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -var C = class { - \u0069nstance() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/expressions/class/ident-name-method-def-yield-escaped.js b/test/language/expressions/class/ident-name-method-def-yield-escaped.js deleted file mode 100644 index 5c50b67b38..0000000000 --- a/test/language/expressions/class/ident-name-method-def-yield-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/yield-escaped.case -// - src/identifier-names/default/class-expression-method-def.template -/*--- -description: yield is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -var C = class { - y\u0069eld() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['yield'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-await-escaped.js b/test/language/expressions/object/ident-name-method-def-await-escaped.js deleted file mode 100644 index 79547c31f4..0000000000 --- a/test/language/expressions/object/ident-name-method-def-await-escaped.js +++ /dev/null @@ -1,42 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/await-escaped.case -// - src/identifier-names/default/obj-method-definition.template -/*--- -description: await is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - - -var obj = { - \u0061wait() { return 42; } -}; - -assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-instance-escaped.js b/test/language/expressions/object/ident-name-method-def-instance-escaped.js deleted file mode 100644 index b28aafb4a3..0000000000 --- a/test/language/expressions/object/ident-name-method-def-instance-escaped.js +++ /dev/null @@ -1,42 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/instance-escaped.case -// - src/identifier-names/default/obj-method-definition.template -/*--- -description: instance is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - - -var obj = { - \u0069nstance() { return 42; } -}; - -assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-method-def-yield-escaped.js b/test/language/expressions/object/ident-name-method-def-yield-escaped.js deleted file mode 100644 index 22906d89e6..0000000000 --- a/test/language/expressions/object/ident-name-method-def-yield-escaped.js +++ /dev/null @@ -1,42 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/yield-escaped.case -// - src/identifier-names/default/obj-method-definition.template -/*--- -description: yield is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - - -var obj = { - y\u0069eld() { return 42; } -}; - -assert.sameValue(obj['yield'](), 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js deleted file mode 100644 index 37c759b31b..0000000000 --- a/test/language/expressions/object/ident-name-prop-name-literal-await-escaped.js +++ /dev/null @@ -1,41 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/await-escaped.case -// - src/identifier-names/default/obj-prop-name.template -/*--- -description: await is a valid identifier name, using escape (PropertyName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - IdentifierReference - PropertyName : AssignmentExpression - MethodDefinition - ... AssignmentExpression - ... - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = { - \u0061wait: 42 -}; - -assert.sameValue(obj['await'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js deleted file mode 100644 index 996efa5afc..0000000000 --- a/test/language/expressions/object/ident-name-prop-name-literal-instance-escaped.js +++ /dev/null @@ -1,41 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/instance-escaped.case -// - src/identifier-names/default/obj-prop-name.template -/*--- -description: instance is a valid identifier name, using escape (PropertyName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - IdentifierReference - PropertyName : AssignmentExpression - MethodDefinition - ... AssignmentExpression - ... - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = { - \u0069nstance: 42 -}; - -assert.sameValue(obj['instance'], 42, 'property exists'); diff --git a/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js b/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js deleted file mode 100644 index e6d3d8a677..0000000000 --- a/test/language/expressions/object/ident-name-prop-name-literal-yield-escaped.js +++ /dev/null @@ -1,41 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/yield-escaped.case -// - src/identifier-names/default/obj-prop-name.template -/*--- -description: yield is a valid identifier name, using escape (PropertyName) -esid: prod-PropertyDefinition -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - IdentifierReference - PropertyName : AssignmentExpression - MethodDefinition - ... AssignmentExpression - ... - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. ----*/ - -var obj = { - y\u0069eld: 42 -}; - -assert.sameValue(obj['yield'], 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-await-escaped.js b/test/language/statements/class/ident-name-method-def-await-escaped.js deleted file mode 100644 index ecdd9c7322..0000000000 --- a/test/language/statements/class/ident-name-method-def-await-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/await-escaped.case -// - src/identifier-names/default/class-statement-method-def.template -/*--- -description: await is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -class C { - \u0061wait() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['await'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-instance-escaped.js b/test/language/statements/class/ident-name-method-def-instance-escaped.js deleted file mode 100644 index 4ca7ce400c..0000000000 --- a/test/language/statements/class/ident-name-method-def-instance-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/instance-escaped.case -// - src/identifier-names/default/class-statement-method-def.template -/*--- -description: instance is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -class C { - \u0069nstance() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['instance'](), 42, 'property exists'); diff --git a/test/language/statements/class/ident-name-method-def-yield-escaped.js b/test/language/statements/class/ident-name-method-def-yield-escaped.js deleted file mode 100644 index 5357893343..0000000000 --- a/test/language/statements/class/ident-name-method-def-yield-escaped.js +++ /dev/null @@ -1,46 +0,0 @@ -// This file was procedurally generated from the following sources: -// - src/identifier-names/yield-escaped.case -// - src/identifier-names/default/class-statement-method-def.template -/*--- -description: yield is a valid identifier name, using escape (MethodDefinition) -esid: prod-PropertyDefinition -features: [class] -flags: [generated] -info: | - ObjectLiteral : - { PropertyDefinitionList } - { PropertyDefinitionList , } - - PropertyDefinitionList: - PropertyDefinition - PropertyDefinitionList , PropertyDefinition - - PropertyDefinition: - MethodDefinition - ... - - MethodDefinition: - PropertyName ( UniqueFormalParameters ){ FunctionBody } - - PropertyName: - LiteralPropertyName - ... - - LiteralPropertyName: - IdentifierName - ... - - Reserved Words - - A reserved word is an IdentifierName that cannot be used as an Identifier. - ----*/ - - -class C { - y\u0069eld() { return 42; } -} - -var obj = new C(); - -assert.sameValue(obj['yield'](), 42, 'property exists');