Generate tests

This commit is contained in:
Valerie Young 2020-01-07 10:21:32 -08:00
parent a47ccfe989
commit 55b28c166f
32 changed files with 37 additions and 1208 deletions

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/arrow-function.template
// - src/function-forms/error-no-strict/arrow-function.template
/*---
description: sloppy direct eval in params introduces var (arrow function expression)
description: sloppy direct eval in params introduces var (arrow function expression in sloppy code)
esid: sec-arrow-function-definitions-runtime-semantics-evaluation
features: [default-parameters]
flags: [generated, noStrict]

View File

@ -1,11 +1,11 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-arrow-function.template
// - src/function-forms/error-no-strict/async-arrow-function.template
/*---
description: sloppy direct eval in params introduces var (async arrow function expression)
description: sloppy direct eval in params introduces var (async arrow function expression in sloppy code)
esid: sec-async-arrow-function-definitions
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
flags: [generated, async, noStrict]
info: |
14.7 Async Arrow Function Definitions

View File

@ -1,11 +1,11 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-func-expr-named.template
// - src/function-forms/error-no-strict/async-func-expr-named.template
/*---
description: sloppy direct eval in params introduces var (async function named expression)
description: sloppy direct eval in params introduces var (async function named expression in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions

View File

@ -1,11 +1,11 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-func-expr-nameless.template
// - src/function-forms/error-no-strict/async-func-expr-nameless.template
/*---
description: sloppy direct eval in params introduces var (async function nameless expression)
description: sloppy direct eval in params introduces var (async function nameless expression in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-gen-func-expr.template
// - src/function-forms/error-no-strict/async-gen-func-expr.template
/*---
description: sloppy direct eval in params introduces var (async generator function expression)
description: sloppy direct eval in params introduces var (async generator function expression in sloppy code)
esid: sec-asyncgenerator-definitions-evaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-gen-named-func-expr.template
// - src/function-forms/error-no-strict/async-gen-named-func-expr.template
/*---
description: sloppy direct eval in params introduces var (async generator named function expression)
description: sloppy direct eval in params introduces var (async generator named function expression in sloppy code)
esid: sec-asyncgenerator-definitions-evaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]

View File

@ -1,62 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-async-gen-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression async generator method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation
for m with arguments F and false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncGeneratorMethod :
async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
{ AsyncGeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
AsyncGeneratorBody, scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
static async *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,83 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-async-gen-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression async generator method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this GeneratorMethod is strict mode code,
let strict be true. Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be GeneratorFunctionCreate(Method,
StrictFormalParameters, GeneratorBody, scope, strict).
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
async *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,66 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-async-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression async method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation
for m with arguments F and false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise
let strict be false.
4. Let scope be the LexicalEnvironment of the running execution context.
5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody,
scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
static async method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
C.method()
.then(_ => {
throw new Test262Error('function should not be resolved');
}, error => assert.sameValue(error.constructor, SyntaxError))
.then(() => {
assert.sameValue(callCount, 0, 'function body is not evaluated');
}, $DONE)
.then($DONE, $DONE);

View File

@ -1,65 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-async-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression async method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise
let strict be false.
4. Let scope be the LexicalEnvironment of the running execution context.
5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody,
scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
async method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
C.prototype.method()
.then(_ => {
throw new Test262Error('function should not be resolved');
}, error => assert.sameValue(error.constructor, SyntaxError))
.then(() => {
assert.sameValue(callCount, 0, 'function body is not evaluated');
}, $DONE)
.then($DONE, $DONE);

View File

@ -1,83 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-gen-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression generator method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, generators]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation
for m with arguments F and false.
[...]
14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this GeneratorMethod is strict mode code,
let strict be true. Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be GeneratorFunctionCreate(Method,
StrictFormalParameters, GeneratorBody, scope, strict).
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
static *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,83 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-gen-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, generators]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
GeneratorMethod :
* PropertyName ( StrictFormalParameters ) { GeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this GeneratorMethod is strict mode code,
let strict be true. Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be GeneratorFunctionCreate(Method,
StrictFormalParameters, GeneratorBody, scope, strict).
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
*method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,79 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation for
m with arguments F and false.
[...]
14.3.8 Runtime Semantics: DefineMethod
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
[...]
6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
scope, strict). If functionPrototype was passed as a parameter then pass its
value as the functionPrototype optional argument of FunctionCreate.
[...]
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
static method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,79 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-expr-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters]
flags: [generated, noStrict]
info: |
ClassExpression : class BindingIdentifieropt ClassTail
1. If BindingIdentifieropt is not present, let className be undefined.
2. Else, let className be StringValue of BindingIdentifier.
3. Let value be the result of ClassDefinitionEvaluation of ClassTail
with argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
14.3.8 Runtime Semantics: DefineMethod
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
[...]
6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
scope, strict). If functionPrototype was passed as a parameter then pass its
value as the functionPrototype optional argument of FunctionCreate.
[...]
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
var C = class {
method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
};
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/func-expr.template
// - src/function-forms/error-no-strict/func-expr.template
/*---
description: sloppy direct eval in params introduces var (function expression)
description: sloppy direct eval in params introduces var (function expression in sloppy code)
esid: sec-function-definitions-runtime-semantics-evaluation
features: [default-parameters]
flags: [generated, noStrict]

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/gen-func-expr.template
// - src/function-forms/error-no-strict/gen-func-expr.template
/*---
description: sloppy direct eval in params introduces var (generator function expression)
description: sloppy direct eval in params introduces var (generator function expression in sloppy code)
esid: sec-generator-function-definitions-runtime-semantics-evaluation
features: [default-parameters, generators]
flags: [generated, noStrict]

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-gen-meth.template
// - src/function-forms/error-no-strict/async-gen-meth.template
/*---
description: sloppy direct eval in params introduces var (async generator method)
description: sloppy direct eval in params introduces var (async generator method in sloppy code)
esid: sec-asyncgenerator-definitions-propertydefinitionevaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]

View File

@ -1,11 +1,11 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-meth.template
// - src/function-forms/error-no-strict/async-meth.template
/*---
description: sloppy direct eval in params introduces var (async method)
description: sloppy direct eval in params introduces var (async method in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/gen-meth.template
// - src/function-forms/error-no-strict/gen-meth.template
/*---
description: sloppy direct eval in params introduces var (generator method)
description: sloppy direct eval in params introduces var (generator method in sloppy code)
esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
features: [default-parameters, generators]
flags: [generated, noStrict]

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/meth.template
// - src/function-forms/error-no-strict/meth.template
/*---
description: sloppy direct eval in params introduces var (method)
description: sloppy direct eval in params introduces var (method in sloppy code)
esid: sec-runtime-semantics-definemethod
features: [default-parameters]
flags: [generated, noStrict]

View File

@ -1,11 +1,11 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-func-decl.template
// - src/function-forms/error-no-strict/async-func-decl.template
/*---
description: sloppy direct eval in params introduces var (async function declaration)
description: sloppy direct eval in params introduces var (async function declaration in sloppy code)
esid: sec-async-function-definitions
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
flags: [generated, async, noStrict]
info: |
14.6 Async Function Definitions

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/async-gen-func-decl.template
// - src/function-forms/error-no-strict/async-gen-func-decl.template
/*---
description: sloppy direct eval in params introduces var (async generator function declaration)
description: sloppy direct eval in params introduces var (async generator function declaration in sloppy code)
esid: sec-asyncgenerator-definitions-instantiatefunctionobject
features: [default-parameters, async-iteration]
flags: [generated, noStrict]

View File

@ -1,63 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-async-gen-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression generator method)
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation for
m with arguments F and false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncGeneratorMethod :
async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
{ AsyncGeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
AsyncGeneratorBody, scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
static async *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,61 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-async-gen-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-iteration]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncGeneratorMethod :
async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
{ AsyncGeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
AsyncGeneratorBody, scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
async *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,64 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-async-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class declaration async method)
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation for
m with arguments F and false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise
let strict be false.
4. Let scope be the LexicalEnvironment of the running execution context.
5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody,
scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
static async method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
C.method()
.then(_ => {
throw new Test262Error('function should not be resolved');
}, error => assert.sameValue(error.constructor, SyntaxError))
.then(() => {
assert.sameValue(callCount, 0, 'function body is not evaluated');
}, $DONE)
.then($DONE, $DONE);

View File

@ -1,64 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-async-meth.template
/*---
description: sloppy direct eval in params introduces var (class declaration async method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, async-functions]
flags: [generated, noStrict, async]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
Runtime Semantics: PropertyDefinitionEvaluation
AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise
let strict be false.
4. Let scope be the LexicalEnvironment of the running execution context.
5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody,
scope, strict).
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
async method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
C.prototype.method()
.then(_ => {
throw new Test262Error('function should not be resolved');
}, error => assert.sameValue(error.constructor, SyntaxError))
.then(() => {
assert.sameValue(callCount, 0, 'function body is not evaluated');
}, $DONE)
.then($DONE, $DONE);

View File

@ -1,82 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-gen-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression generator method)
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
features: [default-parameters, generators]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation for
m with arguments F and false.
[...]
14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this GeneratorMethod is strict mode code,
let strict be true. Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be GeneratorFunctionCreate(Method,
StrictFormalParameters, GeneratorBody, scope, strict).
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
static *method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,81 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-gen-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression method)
esid: sec-class-definitions-runtime-semantics-evaluation
features: [default-parameters, generators]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody }
1. Let propKey be the result of evaluating PropertyName.
2. ReturnIfAbrupt(propKey).
3. If the function code for this GeneratorMethod is strict mode code,
let strict be true. Otherwise let strict be false.
4. Let scope be the running execution context's LexicalEnvironment.
5. Let closure be GeneratorFunctionCreate(Method,
StrictFormalParameters, GeneratorBody, scope, strict).
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
*method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,78 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-meth-static.template
/*---
description: sloppy direct eval in params introduces var (static class expression method)
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
features: [default-parameters]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
b. Else,
Let status be the result of performing PropertyDefinitionEvaluation for
m with arguments F and false.
[...]
14.3.8 Runtime Semantics: DefineMethod
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
[...]
6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
scope, strict). If functionPrototype was passed as a parameter then pass its
value as the functionPrototype optional argument of FunctionCreate.
[...]
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
static method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,78 +0,0 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/cls-decl-meth.template
/*---
description: sloppy direct eval in params introduces var (class expression method)
esid: sec-runtime-semantics-bindingclassdeclarationevaluation
features: [default-parameters]
flags: [generated, noStrict]
info: |
ClassDeclaration : class BindingIdentifier ClassTail
1. Let className be StringValue of BindingIdentifier.
2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
argument className.
[...]
14.5.14 Runtime Semantics: ClassDefinitionEvaluation
21. For each ClassElement m in order from methods
a. If IsStatic of m is false, then
i. Let status be the result of performing
PropertyDefinitionEvaluation for m with arguments proto and
false.
[...]
14.3.8 Runtime Semantics: DefineMethod
MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
[...]
6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody,
scope, strict). If functionPrototype was passed as a parameter then pass its
value as the functionPrototype optional argument of FunctionCreate.
[...]
9.2.1 [[Call]] ( thisArgument, argumentsList)
[...]
7. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
[...]
9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList )
1. Let status be FunctionDeclarationInstantiation(F, argumentsList).
[...]
9.2.12 FunctionDeclarationInstantiation(func, argumentsList)
[...]
23. Let iteratorRecord be Record {[[iterator]]:
CreateListIterator(argumentsList), [[done]]: false}.
24. If hasDuplicates is true, then
[...]
25. Else,
b. Let formalStatus be IteratorBindingInitialization for formals with
iteratorRecord and env as arguments.
[...]
Runtime Semantics: IteratorBindingInitialization
FormalParameter : BindingElement
1. Return the result of performing IteratorBindingInitialization for BindingElement with arguments iteratorRecord and environment.
---*/
var callCount = 0;
class C {
method(a = eval("var a = 42")) {
callCount = callCount + 1;
}
}
assert.throws(SyntaxError, function() {
C.prototype.method();
});
assert.sameValue(callCount, 0, 'method body not evaluated');

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/func-decl.template
// - src/function-forms/error-no-strict/func-decl.template
/*---
description: sloppy direct eval in params introduces var (function declaration)
description: sloppy direct eval in params introduces var (function declaration in sloppy code)
esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
features: [default-parameters]
flags: [generated, noStrict]

View File

@ -1,8 +1,8 @@
// This file was procedurally generated from the following sources:
// - src/function-forms/eval-var-scope-syntax-err.case
// - src/function-forms/error/gen-func-decl.template
// - src/function-forms/error-no-strict/gen-func-decl.template
/*---
description: sloppy direct eval in params introduces var (generator function declaration)
description: sloppy direct eval in params introduces var (generator function declaration in sloppy code)
esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
features: [default-parameters, generators]
flags: [generated, noStrict]