diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/block/early-errors')
6 files changed, 164 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/block/early-errors/browser.js b/js/src/tests/test262/language/statements/block/early-errors/browser.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/browser.js diff --git a/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-bad-reference.js b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-bad-reference.js new file mode 100644 index 0000000000..b58f2e02d0 --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-bad-reference.js @@ -0,0 +1,41 @@ +// |reftest| error:SyntaxError +// This file was procedurally generated from the following sources: +// - src/invalid-private-names/call-expression-bad-reference.case +// - src/invalid-private-names/default/block.template +/*--- +description: bad reference in call expression (Invalid private names should throw a SyntaxError, block statement) +esid: sec-static-semantics-early-errors +features: [class-fields-private] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + ScriptBody:StatementList + It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List + as an argument is false unless the source code is eval code that is being + processed by a direct eval. + + ModuleBody:ModuleItemList + It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List + as an argument is false. + + + Static Semantics: AllPrivateNamesValid + + MemberExpression : MemberExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + + CallExpression : CallExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + +---*/ + + +$DONOTEVALUATE(); + +{ (() => {})().#x } diff --git a/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-this.js b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-this.js new file mode 100644 index 0000000000..be675df8cc --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-call-expression-this.js @@ -0,0 +1,41 @@ +// |reftest| error:SyntaxError +// This file was procedurally generated from the following sources: +// - src/invalid-private-names/call-expression-this.case +// - src/invalid-private-names/default/block.template +/*--- +description: this evaluated in call expression (Invalid private names should throw a SyntaxError, block statement) +esid: sec-static-semantics-early-errors +features: [class-fields-private] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + ScriptBody:StatementList + It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List + as an argument is false unless the source code is eval code that is being + processed by a direct eval. + + ModuleBody:ModuleItemList + It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List + as an argument is false. + + + Static Semantics: AllPrivateNamesValid + + MemberExpression : MemberExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + + CallExpression : CallExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + +---*/ + + +$DONOTEVALUATE(); + +{ (() => this)().#x } diff --git a/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-bad-reference.js b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-bad-reference.js new file mode 100644 index 0000000000..78adc1a2ab --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-bad-reference.js @@ -0,0 +1,41 @@ +// |reftest| error:SyntaxError +// This file was procedurally generated from the following sources: +// - src/invalid-private-names/member-expression-bad-reference.case +// - src/invalid-private-names/default/block.template +/*--- +description: bad reference in member expression (Invalid private names should throw a SyntaxError, block statement) +esid: sec-static-semantics-early-errors +features: [class-fields-private] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + ScriptBody:StatementList + It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List + as an argument is false unless the source code is eval code that is being + processed by a direct eval. + + ModuleBody:ModuleItemList + It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List + as an argument is false. + + + Static Semantics: AllPrivateNamesValid + + MemberExpression : MemberExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + + CallExpression : CallExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + +---*/ + + +$DONOTEVALUATE(); + +{ something.#x } diff --git a/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-this.js b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-this.js new file mode 100644 index 0000000000..c587936244 --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/invalid-names-member-expression-this.js @@ -0,0 +1,41 @@ +// |reftest| error:SyntaxError +// This file was procedurally generated from the following sources: +// - src/invalid-private-names/member-expression-this.case +// - src/invalid-private-names/default/block.template +/*--- +description: this reference in member expression (Invalid private names should throw a SyntaxError, block statement) +esid: sec-static-semantics-early-errors +features: [class-fields-private] +flags: [generated] +negative: + phase: parse + type: SyntaxError +info: | + ScriptBody:StatementList + It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List + as an argument is false unless the source code is eval code that is being + processed by a direct eval. + + ModuleBody:ModuleItemList + It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List + as an argument is false. + + + Static Semantics: AllPrivateNamesValid + + MemberExpression : MemberExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + + CallExpression : CallExpression . PrivateName + + 1. If StringValue of PrivateName is in names, return true. + 2. Return false. + +---*/ + + +$DONOTEVALUATE(); + +{ this.#x } diff --git a/js/src/tests/test262/language/statements/block/early-errors/shell.js b/js/src/tests/test262/language/statements/block/early-errors/shell.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/test262/language/statements/block/early-errors/shell.js |