Name Description Size Coverage
browser.js 0 -
escaped-let.js --- esid: sec-grammar-notation description: > The `let` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols 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. flags: [noStrict] --- 1037 -
identifier-let-allowed-as-lefthandside-expression-strict-strict.js --- es6id: 13.6.0.1 description: > for declaration: identifier "let" disallowed as lefthandside expression in strict mode flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 443 -
identifier-let-disallowed-as-boundname.js --- es6id: 13.6.4.1 description: > It is a Syntax Error if the BoundNames of ForDeclaration contains "let". negative: phase: parse type: SyntaxError --- 378 -
let-closure-inside-condition.js --- es6id: 13.1 description: > let: closure inside for loop condition --- 384 -
let-closure-inside-initialization.js --- es6id: 13.1 description: > let: closure inside for loop initialization --- 396 -
let-closure-inside-next-expression.js --- es6id: 13.1 description: > let: closure inside for loop next-expression --- 394 -
let-iteration-variable-is-freshly-allocated-for-each-iteration-multi-let-binding.js --- es6id: 13.1 description: > In a normal for statement the iteration variable is freshly allocated for each iteration. Multi let binding --- 549 -
let-iteration-variable-is-freshly-allocated-for-each-iteration-single-let-binding.js --- es6id: 13.1 description: > In a normal for statement the iteration variable is freshly allocated for each iteration. Single let binding --- 456 -
let-let-declaration-split-across-two-lines.js --- author: Jeff Walden es6id: 13.3.1.1 description: > let: |let let| split across two lines is not subject to automatic semicolon insertion. info: | |let| followed by a name is a lexical declaration. This is so even if the name is on a new line. ASI applies *only* if an offending token not allowed by the grammar is encountered, and there's no [no LineTerminator here] restriction in LexicalDeclaration or ForDeclaration forbidding a line break. It's a tricky point, but this is true *even if* the name is "let", a name that can't be bound by LexicalDeclaration or ForDeclaration. Per 5.3, static semantics early errors are validated *after* determining productions matching the source text. So in this testcase, the eval text matches LexicalDeclaration. No ASI occurs, because "let\nlet = ..." matches LexicalDeclaration before static semantics are considered. *Then* 13.3.1.1's static semantics for the LexicalDeclaration just chosen, per 5.3, are validated to recognize the Script as invalid. Thus the eval script can't be evaluated, and a SyntaxError is thrown. negative: phase: parse type: SyntaxError --- 1415 -
let-let-declaration-with-initializer-split-across-two-lines.js --- author: Jeff Walden es6id: 13.3.1.1 description: > let: |let let| split across two lines is not subject to automatic semicolon insertion. info: | |let| followed by a name is a lexical declaration. This is so even if the name is on a new line. ASI applies *only* if an offending token not allowed by the grammar is encountered, and there's no [no LineTerminator here] restriction in LexicalDeclaration or ForDeclaration forbidding a line break. It's a tricky point, but this is true *even if* the name is "let", a name that can't be bound by LexicalDeclaration or ForDeclaration. Per 5.3, static semantics early errors are validated *after* determining productions matching the source text. So in this testcase, the eval text matches LexicalDeclaration. No ASI occurs, because "let\nlet = ..." matches LexicalDeclaration before static semantics are considered. *Then* 13.3.1.1's static semantics for the LexicalDeclaration just chosen, per 5.3, are validated to recognize the Script as invalid. Thus the eval script can't be evaluated, and a SyntaxError is thrown. negative: phase: parse type: SyntaxError --- 1442 -
let-newline-await-in-normal-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 --- 765 -
let-newline-yield-in-generator-function.js --- author: Jeff Walden <jwalden+code@mit.edu> esid: sec-let-and-const-declarations description: > `let yield` does not permit ASI in between, as `yield` is a BindingIdentifier info: | `yield` 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 `yield`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError features: [generators] --- 789 -
let-newline-yield-in-normal-function.js --- esid: sec-let-and-const-declarations description: > `let yield` does not permit ASI in between, as `yield` is a BindingIdentifier info: | `yield` 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 `yield`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError --- 725 -
let-outer-inner-let-bindings.js --- es6id: 13.1 description: > outer let binding unchanged by for-loop let binding --- 500 -
let.js --- es6id: 13.1 description: > global and block scope let --- 406 -
shell.js 0 -
with-initialisers-in-statement-positions-case-expression-statement-list.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: case Expression : StatementList --- 339 -
with-initialisers-in-statement-positions-default-statement-list.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: default : StatementList --- 329 -
with-initialisers-in-statement-positions-do-statement-while-expression.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: do Statement while ( Expression ) negative: phase: parse type: SyntaxError --- 401 -
with-initialisers-in-statement-positions-for-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: for ( ;;) Statement negative: phase: parse type: SyntaxError --- 384 -
with-initialisers-in-statement-positions-if-expression-statement-else-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: if ( Expression ) Statement else Statement negative: phase: parse type: SyntaxError --- 411 -
with-initialisers-in-statement-positions-if-expression-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: if ( Expression ) Statement negative: phase: parse type: SyntaxError --- 388 -
with-initialisers-in-statement-positions-label-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: label: Statement negative: phase: parse type: SyntaxError --- 374 -
with-initialisers-in-statement-positions-while-expression-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: while ( Expression ) Statement negative: phase: parse type: SyntaxError --- 395 -
without-initialisers-in-statement-positions-case-expression-statement-list.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: case Expression : StatementList --- 337 -
without-initialisers-in-statement-positions-default-statement-list.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: default : StatementList --- 327 -
without-initialisers-in-statement-positions-do-statement-while-expression.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: do Statement while ( Expression ) negative: phase: parse type: SyntaxError --- 400 -
without-initialisers-in-statement-positions-for-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: for ( ;;) Statement negative: phase: parse type: SyntaxError --- 383 -
without-initialisers-in-statement-positions-if-expression-statement-else-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: if ( Expression ) Statement else Statement negative: phase: parse type: SyntaxError --- 410 -
without-initialisers-in-statement-positions-if-expression-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: if ( Expression ) Statement negative: phase: parse type: SyntaxError --- 387 -
without-initialisers-in-statement-positions-label-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: label: Statement negative: phase: parse type: SyntaxError --- 373 -
without-initialisers-in-statement-positions-while-expression-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: while ( Expression ) Statement negative: phase: parse type: SyntaxError --- 394 -