Name Description Size Coverage
await-as-binding-identifier-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 913 -
await-as-binding-identifier.js --- description: await is a reserved keyword within generator function bodies and may not be used as a binding identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } BindingIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 900 -
await-as-identifier-reference-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 921 -
await-as-identifier-reference.js --- description: await is a reserved keyword within generator function bodies and may not be used as an identifier reference. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } IdentifierReference : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 908 -
await-as-label-identifier-escaped.js --- description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 905 -
await-as-label-identifier.js --- description: await is a reserved keyword within generator function bodies and may not be used as a label identifier. (Async function declaration) esid: prod-AsyncFunctionDeclaration features: [async-functions] flags: [generated] negative: phase: parse type: SyntaxError info: | Async Function Definitions AsyncFunctionDeclaration: async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } LabelIdentifier : Identifier It is a Syntax Error if this production has a [Await] parameter and StringValue of Identifier is "await". --- 892 -
cptn-decl.js --- esid: sec-async-function-definitions-runtime-semantics-evaluation description: Async function declaration completion value is empty. info: | AsyncFunctionDeclaration : async [no LineTerminator here] function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 1. Return NormalCompletion(empty). --- 566 -
declaration-returns-promise.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Async functions return promises --- 370 -
dflt-params-abrupt.js --- description: Abrupt completion returned by evaluation of initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1376 -
dflt-params-arg-val-not-undefined.js --- description: Use of initializer when argument value is not `undefined` (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 2109 -
dflt-params-arg-val-undefined.js --- description: Use of initializer when argument value is `undefined` (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter [...] 23. Let iteratorRecord be Record {[[Iterator]]: CreateListIterator(argumentsList), [[Done]]: false}. 24. If hasDuplicates is true, then [...] 25. Else, a. Perform ? IteratorBindingInitialization for formals with iteratorRecord and env as arguments. [...] --- 1378 -
dflt-params-duplicates.js --- description: It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.2 Static Semantics: Early Errors StrictFormalParameters : FormalParameters - It is a Syntax Error if BoundNames of FormalParameters contains any duplicate elements. FormalParameters : FormalParameterList - It is a Syntax Error if IsSimpleParameterList of FormalParameterList is false and BoundNames of FormalParameterList contains any duplicate elements. --- 1106 -
dflt-params-ref-later.js --- description: Referencing a parameter that occurs later in the ParameterList (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1359 -
dflt-params-ref-prior.js --- description: Referencing a parameter that occurs earlier in the ParameterList (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1411 -
dflt-params-ref-self.js --- description: Referencing a parameter from within its own initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1.19 Runtime Semantics: IteratorBindingInitialization FormalsList : FormalsList , FormalParameter 1. Let status be the result of performing IteratorBindingInitialization for FormalsList using iteratorRecord and environment as the arguments. 2. ReturnIfAbrupt(status). 3. Return the result of performing IteratorBindingInitialization for FormalParameter using iteratorRecord and environment as the arguments. --- 1348 -
dflt-params-rest.js --- description: RestParameter does not support an initializer (async function declaration) esid: sec-async-function-definitions features: [default-parameters] flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 14.1 Function Definitions Syntax FunctionRestParameter[Yield] : BindingRestElement[?Yield] 13.3.3 Destructuring Binding Patterns Syntax BindingRestElement[Yield] : ...BindingIdentifier[?Yield] ...BindingPattern[?Yield] --- 925 -
dflt-params-trailing-comma.js --- description: A trailing comma should not increase the respective length, using default parameters (async function declaration) esid: sec-async-function-definitions flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1068 -
early-errors-declaration-arguments-in-formal-parameters.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains arguments in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 454 -
early-errors-declaration-await-in-formals-default.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters' default expressions contains await negative: phase: parse type: SyntaxError --- 434 -
early-errors-declaration-await-in-formals.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains await negative: phase: parse type: SyntaxError --- 409 -
early-errors-declaration-binding-identifier-arguments.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 516 -
early-errors-declaration-binding-identifier-eval.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 505 -
early-errors-declaration-body-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if AsyncFunctionBody contains SuperCall is true negative: phase: parse type: SyntaxError --- 430 -
early-errors-declaration-body-contains-super-property.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true negative: phase: parse type: SyntaxError --- 437 -
early-errors-declaration-duplicate-parameters.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If strict mode, early error rules for StrictFormalParameters are applied negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 449 -
early-errors-declaration-eval-in-formal-parameters.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if FormalParameters contains eval in strict mode negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 443 -
early-errors-declaration-formals-body-duplicate.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody negative: phase: parse type: SyntaxError --- 478 -
early-errors-declaration-formals-contains-super-call.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if FormalParameters contains SuperCall is true negative: phase: parse type: SyntaxError --- 439 -
early-errors-declaration-formals-contains-super-property.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: It is a syntax error if FormalParameters contains SuperCall is true negative: phase: parse type: SyntaxError --- 441 -
early-errors-declaration-NSPL-with-USD.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*. negative: phase: parse type: SyntaxError --- 496 -
escaped-async.js --- esid: sec-grammar-notation description: > The `async` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols of the lexical, RegExp, and numeric string grammars are shown in fixed width font, both in the productions of the grammars and throughout this specification whenever the text directly refers to such a terminal symbol. These are to appear in a script exactly as written. All terminal symbol code points specified in this way are to be understood as the appropriate Unicode code points from the Basic Latin range, as opposed to any similar-looking code points from other Unicode ranges. negative: phase: parse type: SyntaxError features: [async-functions] --- 944 -
evaluation-body-that-returns-after-await.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The return value of the async function resolves the promise flags: [async] --- 440 -
evaluation-body-that-returns.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The return value of the async function resolves the promise flags: [async] --- 412 -
evaluation-body-that-throws-after-await.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Errors thrown from the async function body reject the returned promise flags: [async] --- 492 -
evaluation-body-that-throws.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Errors thrown from the async function body reject the returned promise flags: [async] --- 464 -
evaluation-body.js --- author: brian terlson <brian.terlson@microsoft.com> esid: pending description: > async function bodies are executed immediately (unlike generators) --- 391 -
evaluation-default-that-throws.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > If a default expression throws, the promise is rejected. info: | This is different from generators which will throw the error out of the generator when it is called. flags: [async] --- 548 -
evaluation-mapped-arguments.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Mapped arguments object is used when the async function has a simple parameter list. flags: [noStrict, async] --- 483 -
evaluation-this-value-global.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The this value is set to the global object when not passed in sloppy mode. flags: [noStrict, async] --- 424 -
evaluation-this-value-passed.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > The this value from the caller is present in the async function body flags: [async] --- 416 -
evaluation-unmapped-arguments.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Unmapped arguments object is used when the async function doesn't have a simple parameter list. flags: [async] --- 490 -
let-newline-await-in-async-function.js --- author: Jeff Walden <jwalden+code@mit.edu> esid: sec-let-and-const-declarations description: > `let await` does not permit ASI in between, as `await` is a BindingIdentifier info: | `await` is a perfectly cromulent binding name in any context grammatically, just prohibited by static semantics in some contexts. Therefore ASI can never apply between `let` (where a LexicalDeclaration is permitted) and `await`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError --- 780 -
params-trailing-comma-multiple.js --- description: A trailing comma should not increase the respective length, using multiple parameters (async function declaration) esid: sec-async-function-definitions flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1061 -
params-trailing-comma-single.js --- description: A trailing comma should not increase the respective length, using a single parameter (async function declaration) esid: sec-async-function-definitions flags: [generated, async] info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : FormalParameterList[?Yield, ?Await] , --- 1025 -
rest-params-trailing-comma-early-error.js --- description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (async function declaration) esid: sec-async-function-definitions flags: [generated] negative: phase: parse type: SyntaxError info: | 14.6 Async Function Definitions AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } Trailing comma in the parameters list 14.1 Function Definitions FormalParameters[Yield, Await] : [empty] FunctionRestParameter[?Yield, ?Await] FormalParameterList[?Yield, ?Await] FormalParameterList[?Yield, ?Await] , FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] --- 1023 -
syntax-declaration-line-terminators-allowed.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: > Declarations allow line breaks after function and after arguments list --- 356 -
syntax-declaration-no-line-terminator.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: Async function declarations cannot have a line break after `async` info: Reference error is thrown due to looking up async in strict mode --- 431 -
syntax-declaration.js --- author: Brian Terlson <brian.terlson@microsoft.com> esid: pending description: Async function declaration returns a promise flags: [async] --- 345 -
try-reject-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 703 -
try-reject-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 624 -
try-reject-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 640 -
try-return-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 642 -
try-return-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 632 -
try-return-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer resolving an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 579 -
try-throw-finally-reject.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 640 -
try-throw-finally-return.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 630 -
try-throw-finally-throw.js --- author: Caitlin Potter <caitp@igalia.com> esid: pending description: > Implementations must defer rejecting an async function's Promise until after all finally blocks have been evaluated. flags: [async] --- 577 -