Name Description Size Coverage
12.6.3_2-3-a-ii-1.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-1 description: > The for Statement - (normal, V, empty) will be returned when first Expression is an Object with value false --- 707 -
12.6.3_2-3-a-ii-2.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-2 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Boolean object --- 706 -
12.6.3_2-3-a-ii-3.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-3 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is NaN) --- 715 -
12.6.3_2-3-a-ii-4.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-4 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is +0) --- 713 -
12.6.3_2-3-a-ii-5.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-5 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is -0) --- 713 -
12.6.3_2-3-a-ii-6.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-6 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is a positive) --- 721 -
12.6.3_2-3-a-ii-7.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-7 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is empty string) --- 723 -
12.6.3_2-3-a-ii-8.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-8 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'undefined') --- 731 -
12.6.3_2-3-a-ii-9.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-9 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'null') --- 721 -
12.6.3_2-3-a-ii-10.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-10 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is '1') --- 716 -
12.6.3_2-3-a-ii-11.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-11 description: > The for Statement - (normal, V, empty) will be returned when first Expression is undefined --- 624 -
12.6.3_2-3-a-ii-12.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-12 description: > The for Statement - (normal, V, empty) will be returned when first Expression is null --- 614 -
12.6.3_2-3-a-ii-13.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-13 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a boolean (value is false) --- 637 -
12.6.3_2-3-a-ii-14.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-14 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is NaN) --- 632 -
12.6.3_2-3-a-ii-15.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-15 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is +0) --- 630 -
12.6.3_2-3-a-ii-16.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-16 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is -0) --- 630 -
12.6.3_2-3-a-ii-17.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-17 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is a positive) --- 673 -
12.6.3_2-3-a-ii-18.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-18 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is empty string) --- 640 -
12.6.3_2-3-a-ii-19.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-19 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'undefined') --- 684 -
12.6.3_2-3-a-ii-20.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-20 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'null') --- 674 -
12.6.3_2-3-a-ii-21.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-21 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is '1') --- 668 -
browser.js 0 -
cptn-decl-expr-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has a declaration and a "test" expression and iteration occurs info: | IterationStatement : for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement 1. Let varDcl be the result of evaluating VariableDeclarationList. 2. ReturnIfAbrupt(varDcl). 3. Return ForBodyEvaluation(the first Expression, the second Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1175 -
cptn-decl-expr-no-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has a declaration and a "test" expression and no iteration occurs info: | IterationStatement : for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement 1. Let varDcl be the result of evaluating VariableDeclarationList. 2. ReturnIfAbrupt(varDcl). 3. Return ForBodyEvaluation(the first Expression, the second Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1152 -
cptn-expr-expr-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has no declaration and a "test" expression and iteration occurs info: | IterationStatement : for ( Expressionopt ; Expressionopt ; Expressionopt ) Statement 1. If the first Expression is present, then a. Let exprRef be the result of evaluating the first Expression. b. Let exprValue be GetValue(exprRef). c. ReturnIfAbrupt(exprValue). 2. Return ForBodyEvaluation(the second Expression, the third Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1279 -
cptn-expr-expr-no-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has no declaration and a "test" expression and no iteration occurs info: | IterationStatement : for ( Expressionopt ; Expressionopt ; Expressionopt ) Statement 1. If the first Expression is present, then a. Let exprRef be the result of evaluating the first Expression. b. Let exprValue be GetValue(exprRef). c. ReturnIfAbrupt(exprValue). 2. Return ForBodyEvaluation(the second Expression, the third Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1216 -
decl-async-fun.js --- esid: sec-for-statement description: > AsyncFunctionDeclaration is not allowed in statement position info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError features: [async-functions] --- 584 -
decl-async-gen.js --- esid: sec-for-statement description: > AsyncGeneratorDeclaration is not allowed in statement position info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError features: [async-iteration] --- 586 -
decl-cls.js --- description: Class declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 377 -
decl-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 392 -
decl-fun.js --- description: Function declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 385 -
decl-gen.js --- description: Generator declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError features: [generators] --- 410 -
decl-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 381 -
dstr -
head-const-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head info: | IterationStatement : for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement It is a Syntax Error if any element of the BoundNames of LexicalDeclaration also occurs in the VarDeclaredNames of Statement. negative: phase: parse type: SyntaxError esid: sec-for-statement es6id: 13.7.4 --- 639 -
head-const-fresh-binding-per-iteration.js --- es6id: 13.6.4.13 description: > const ForDeclaration: creates a fresh binding per iteration --- 390 -
head-init-async-of.js --- description: for statement beginning with `async of` info: | `for (async of =>` is the begining of a regular for loop, rather than a for-of esid: sec-for-statement --- 441 -
head-init-expr-check-empty-inc-empty-completion.js --- info: | The result of evaluating "for( ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty) es5id: 12.6.3_A9.1 description: Using eval --- 543 -
head-init-expr-check-empty-inc-empty-syntax.js --- description: For head may omit optional expressions es5id: 12.6.3_A9.1 --- 319 -
head-init-var-check-empty-inc-empty-completion.js --- info: | The result of evaluating "for(var ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty) es5id: 12.6.3_A9 description: Using eval --- 534 -
head-init-var-check-empty-inc-empty-syntax.js --- description: For head may omit optional expressions es5id: 12.6.3_A9 --- 308 -
head-let-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head info: | IterationStatement : for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement It is a Syntax Error if any element of the BoundNames of LexicalDeclaration also occurs in the VarDeclaredNames of Statement. negative: phase: parse type: SyntaxError esid: sec-for-statement es6id: 13.7.4 --- 633 -
head-let-destructuring.js --- esid: sec-iteration-statements es6id: 13.7 description: > The token sequence `let [`is interpreted as the beginning of a destructuring binding pattern info: | Syntax IterationStatement[Yield, Return]: for ( [lookahead ∉ { let [ } ] Expression[~In, ?Yield]opt ; Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt ) Statement[?Yield, ?Return] for ( LexicalDeclaration[~In, ?Yield] Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt) Statement[?Yield, ?Return] --- 841 -
head-let-fresh-binding-per-iteration.js --- es6id: 13.6.4.13 description: > let ForDeclaration: creates a fresh binding per iteration --- 386 -
head-lhs-let.js --- esid: sec-iteration-statements es6id: 13.7 description: > The `let` token is interpreted as an Identifier when it is not followed by a `[` token info: | Syntax IterationStatement[Yield, Return]: for ( [lookahead ∉ { let [ } ] Expression[~In, ?Yield]opt ; Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt ) Statement[?Yield, ?Return] for ( LexicalDeclaration[~In, ?Yield] Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt) Statement[?Yield, ?Return] flags: [noStrict] --- 960 -
head-var-bound-names-in-stmt.js --- description: The body may re-declare variables declared in the head esid: sec-for-statement es6id: 13.7.4 --- 415 -
labelled-fn-stmt-const.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 637 -
labelled-fn-stmt-expr.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 627 -
labelled-fn-stmt-let.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 631 -
labelled-fn-stmt-var.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 631 -
let-array-with-newline.js --- esid: sec-for-statement description: > ExpressionStatement has a lookahead restriction for `let [`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError flags: [noStrict] --- 563 -
let-block-with-newline.js --- esid: sec-for-statement description: > ExpressionStatement doesn't have a lookahead restriction for `let {`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; flags: [noStrict] --- 500 -
let-identifier-with-newline.js --- esid: sec-for-statement description: > ExpressionStatement doesn't have a lookahead restriction for `let <binding-identifier>`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; flags: [noStrict] --- 523 -
S12.6.3_A1.js --- info: | The "for {;;}" for Statement with empty expressions is allowed and leads to performing an infinite loop es5id: 12.6.3_A1 description: Breaking an infinite loop by throwing exception --- 1029 -
S12.6.3_A2.1.js --- info: | While evaluating "for (ExpressionNoIn ; ; Expression) Statement", Statement is evaulated first es5id: 12.6.3_A2.1 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 945 -
S12.6.3_A2.2.js --- info: | While evaluating "for (ExpressionNoIn;;) Statement", Statement is evaulated first es5id: 12.6.3_A2.2 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 880 -
S12.6.3_A2.js --- info: | While evaluating "for (ExpressionNoIn; Expression; Expression) Statement", ExpressionNoIn is evaulated first es5id: 12.6.3_A2 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 1301 -
S12.6.3_A3.js --- info: | While evaluating "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement", ExpressionNoIn is evaulated first, FirstExpressoin is evaluated second es5id: 12.6.3_A3 description: Using "(function(){throw "FirstExpression"})()" as FirstExpression --- 1910 -
S12.6.3_A4.1.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4.1 description: Checking if execution of "for (var a in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 718 -
S12.6.3_A4_T1.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4_T1 description: Checking if execution of "for (a in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 711 -
S12.6.3_A4_T2.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4_T2 description: Checking if execution of "for (1 in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 711 -
S12.6.3_A5.js --- info: | "in"-expression wrapped into "eval" statement is allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A5 description: Using eval "for(eval("i in arr");1;)" --- 1493 -
S12.6.3_A6.js --- info: | While evaluating "for ( ; ; Expression) Statement", Statement is evaluated first and then Expression is evaluated es5id: 12.6.3_A6 description: Using "(function(){throw "SecondExpression";})()" as an Expression --- 1253 -
S12.6.3_A7.1_T1.js --- info: | Only three expressions and two semicolons in "for(with var)" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7.1_T1 description: > Checking if execution of "for(var index=0; index<10; index++; index--)" fails negative: phase: parse type: SyntaxError --- 814 -
S12.6.3_A7.1_T2.js --- info: | Only three expressions and two semicolons in "for(with var)" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7.1_T2 description: > Checking if execution of "for(var index=0; index<10; index+=4; index++; index--)" fails negative: phase: parse type: SyntaxError --- 835 -
S12.6.3_A7_T1.js --- info: | Only three expressions and two semicolons in "for" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7_T1 description: > Checking if execution of "for(index=0; index<10; index++; index--)" fails negative: phase: parse type: SyntaxError --- 795 -
S12.6.3_A7_T2.js --- info: | Only three expressions and two semicolons in "for" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7_T2 description: > Checking if execution of "for(index=0; index<10; index+=4; index++; index--)" fails negative: phase: parse type: SyntaxError --- 815 -
S12.6.3_A8.1_T1.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T1 description: > Checking if execution of "for(var index=0; index<100; {index++; index*2;}) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 708 -
S12.6.3_A8.1_T2.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T2 description: > Checking if execution of "for(var index=0; {index++;index<100;}; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 708 -
S12.6.3_A8.1_T3.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T3 description: > Checking if execution of "for({var index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 713 -
S12.6.3_A8_T1.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T1 description: > Checking if execution of "for(index=0; index<100; {index++; index*2;}) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 688 -
S12.6.3_A8_T2.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T2 description: > Checking if execution of "for(index=0; {index++;index<100;}; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 688 -
S12.6.3_A8_T3.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T3 description: > Checking if execution of "for({index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 693 -
S12.6.3_A10.1_T1.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10.1 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly flags: [noStrict] --- 3744 -
S12.6.3_A10.1_T2.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10.1 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly --- 3762 -
S12.6.3_A10_T1.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly flags: [noStrict] --- 1958 -
S12.6.3_A10_T2.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly --- 2024 -
S12.6.3_A11.1_T1.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T1 description: Using "continue" in order to continue a loop --- 617 -
S12.6.3_A11.1_T2.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T2 description: Embedded loops --- 1877 -
S12.6.3_A11.1_T3.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T3 description: Trying to continue non-existent label negative: phase: parse type: SyntaxError --- 847 -
S12.6.3_A11_T1.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T1 description: Simple test of continue loop with using "continue" --- 618 -
S12.6.3_A11_T2.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T2 description: Embedded loops --- 1861 -
S12.6.3_A11_T3.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T3 description: Trying to continue non-existent label negative: phase: parse type: SyntaxError --- 830 -
S12.6.3_A12.1_T1.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T1 description: Breaking a loop with "break" --- 638 -
S12.6.3_A12.1_T2.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T2 description: Embedded loops --- 1879 -
S12.6.3_A12.1_T3.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T3 description: Trying to break non-existent label negative: phase: parse type: SyntaxError --- 879 -
S12.6.3_A12_T1.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T1 description: Breaking a loop with "break" --- 630 -
S12.6.3_A12_T2.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T2 description: Embedded loops --- 1863 -
S12.6.3_A12_T3.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T3 description: Trying to break non-existent label negative: phase: parse type: SyntaxError --- 864 -
S12.6.3_A13.js --- info: | VariableDeclaration in "var VariableDeclarationListNoIn" of for IterationStatement is allowed es5id: 12.6.3_A13 description: Declaring variable in "for" ExpressionNoIn --- 731 -
S12.6.3_A14.js --- info: | The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement" es5id: 12.6.3_A14 description: Using +,*,/, as the second Expression --- 1276 -
S12.6.3_A15.js --- info: | The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement" es5id: 12.6.3_A15 description: Statement must be evaluated before second Expression is evaluated --- 611 -
scope-body-lex-boundary.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for each evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] e. Perform ? CreatePerIterationEnvironment(perIterationBindings). [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. features: [let] --- 1330 -
scope-body-lex-open.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for the initial evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 2. Perform ? CreatePerIterationEnvironment(perIterationBindings). 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. features: [let] --- 1612 -
scope-body-var-none.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > No variable environment is created for each evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 2. Perform ? CreatePerIterationEnvironment(perIterationBindings). 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] e. Perform ? CreatePerIterationEnvironment(perIterationBindings). [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. flags: [noStrict] --- 2853 -
scope-head-lex-close.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: Removal of lexical environment for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] 12. Set the running execution context's LexicalEnvironment to oldEnv. 13. Return Completion(bodyResult). features: [let] --- 1549 -
scope-head-lex-open.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: Creation of new lexical environment for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] features: [let] --- 1628 -
scope-head-var-none.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: No variable environment is created for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] 12. Set the running execution context's LexicalEnvironment to oldEnv. 13. Return Completion(bodyResult). flags: [noStrict] --- 1675 -
shell.js --- description: | This defines the number of consecutive recursive function calls that must be made in order to prove that stack frames are properly destroyed according to ES2015 tail call optimization semantics. defines: [$MAX_ITERATIONS] --- 481 -
tco-const-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 651 -
tco-let-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 649 -
tco-lhs-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 663 -
tco-var-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 649 -