From 209845c7b5c4e44511d6c3b88a81e1ebdc4adc61 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Wed, 14 Aug 2019 18:54:04 -0400 Subject: [PATCH] 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();