Name Description Size
browser.js 0
cptn-else-false-abrupt-empty.js --- esid: sec-if-statement-runtime-semantics-evaluation description: > Completion value when expression is false with an `else` clause and body returns an empty abrupt completion info: | IfStatement : if ( Expression ) Statement else Statement 3. If exprValue is true, then [...] 4. Else, a. Let stmtCompletion be the result of evaluating the second Statement. 5. Return Completion(UpdateEmpty(stmtCompletion, undefined)). --- 1459
cptn-else-false-nrml.js --- es6id: 13.6.7 description: > Completion value when expression is false with an `else` clause and body returns a normal completion info: | IfStatement : if ( Expression ) Statement else Statement 4. If exprValue is true, then [...] 5. Else, a. Let stmtCompletion be the result of evaluating the second Statement. 6. ReturnIfAbrupt(stmtCompletion). 7. If stmtCompletion.[[value]] is not empty, return stmtCompletion. 8. Return NormalCompletion(undefined). --- 930
cptn-else-true-abrupt-empty.js --- esid: sec-if-statement-runtime-semantics-evaluation description: > Completion value when expression is true with an `else` clause and body returns an abrupt completion info: | IfStatement : if ( Expression ) Statement else Statement 3. If exprValue is true, then a. Let stmtCompletion be the result of evaluating the first Statement. 4. Else, [...] 5. Return Completion(UpdateEmpty(stmtCompletion, undefined)). --- 1432
cptn-else-true-nrml.js --- es6id: 13.6.7 description: > Completion value when expression is true with an `else` clause and body returns a normal completion info: | IfStatement : if ( Expression ) Statement else Statement 4. If exprValue is true, then a. Let stmtCompletion be the result of evaluating the first Statement. 5. Else, [...] 6. ReturnIfAbrupt(stmtCompletion). 7. If stmtCompletion.[[value]] is not empty, return stmtCompletion. 8. Return NormalCompletion(undefined). --- 924
cptn-empty-statement.js --- info: | In the "if" statement empty statement is allowed and is evaluated to "undefined" es5id: 12.5_A7 description: Checking by using eval "eval("if(1);"))" --- 483
cptn-no-else-false.js --- es6id: 13.6.7 description: Completion value when expression is false without an `else` clause info: | IfStatement : if ( Expression ) Statement [...] 4. If exprValue is false, then a. Return NormalCompletion(undefined). --- 528
cptn-no-else-true-abrupt-empty.js --- esid: sec-if-statement-runtime-semantics-evaluation description: > Completion value when expression is true without an `else` clause and body returns an empty abrupt completion info: | IfStatement : if ( Expression ) Statement 3. If exprValue is false, then [...] 4. Else, a. Let stmtCompletion be the result of evaluating Statement. b. Return Completion(UpdateEmpty(stmtCompletion, undefined)). --- 986
cptn-no-else-true-nrml.js --- es6id: 13.6.7 description: > Completion value when expression is true without an `else` clause and body returns a normal completion. info: | IfStatement : if ( Expression ) Statement [...] 4. If exprValue is false, then [...] 5. Else, a. Let stmtCompletion be the result of evaluating Statement. b. ReturnIfAbrupt(stmtCompletion). c. If stmtCompletion.[[value]] is not empty, return stmtCompletion. d. Return NormalCompletion(undefined). --- 776
empty-statement.js --- description: In the "if" statement empty statement is allowed. es5id: 12.5_A7 --- 246
if-async-fun-else-async-fun.js --- esid: sec-if-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] --- 606
if-async-fun-else-stmt.js --- esid: sec-if-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] --- 585
if-async-fun-no-else.js --- esid: sec-if-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] --- 578
if-async-gen-else-async-gen.js --- esid: sec-if-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] --- 609
if-async-gen-else-stmt.js --- esid: sec-if-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] --- 587
if-async-gen-no-else.js --- esid: sec-if-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] --- 580
if-cls-else-cls.js --- description: Class declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 383
if-cls-else-stmt.js --- description: Class declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 374
if-cls-no-else.js --- description: Class declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 367
if-const-else-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 403
if-const-else-stmt.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 389
if-const-no-else.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 382
if-decl-else-decl-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in both statement positions in the global scope) es6id: B.3.4 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 1032
if-decl-else-stmt-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the first statement position in the global scope) es6id: B.3.4 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 1021
if-decl-no-else-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement without an else clause in the global scope) es6id: B.3.4 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 986
if-fun-else-fun-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in both statement positions in the global scope) esid: sec-if-statement es6id: 13.6 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 1052
if-fun-else-stmt-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the first statement position in the global scope) esid: sec-if-statement es6id: 13.6 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 1041
if-fun-no-else-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement without an else clause in the global scope) esid: sec-if-statement es6id: 13.6 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] The above rules are only applied when parsing code that is not strict mode code. --- 1006
if-gen-else-gen.js --- description: Generator declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError features: [generators] --- 425
if-gen-else-stmt.js --- description: Generator declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError features: [generators] --- 409
if-gen-no-else.js --- description: Generator declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError features: [generators] --- 402
if-let-else-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 383
if-let-else-stmt.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 378
if-let-no-else.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 371
if-stmt-else-async-fun.js --- esid: sec-if-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] --- 586
if-stmt-else-async-gen.js --- esid: sec-if-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] --- 588
if-stmt-else-cls.js --- description: Class declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 375
if-stmt-else-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 390
if-stmt-else-decl-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the second statement position in the global scope) es6id: B.3.4 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] B.3.3.2 Changes to GlobalDeclarationInstantiation 1. 1. Let strict be IsStrict of script 2. If strict is *false*, then [...] --- 1083
if-stmt-else-fun-strict-strict.js --- description: AnnexB extension not honored in strict mode (IfStatement with a declaration in the second statement position in the global scope) esid: sec-if-statement es6id: 13.6 flags: [onlyStrict] negative: phase: parse type: SyntaxError info: | The following rules for IfStatement augment those in 13.6: IfStatement[Yield, Return]: if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return] if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else FunctionDeclaration[?Yield] if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] B.3.3.2 Changes to GlobalDeclarationInstantiation 1. 1. Let strict be IsStrict of script 2. If strict is *false*, then [...] --- 1103
if-stmt-else-gen.js --- description: Generator declaration not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError features: [generators] --- 410
if-stmt-else-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-if-statement es6id: 13.6 negative: phase: parse type: SyntaxError --- 379
labelled-fn-stmt-first.js --- esid: sec-if-statement-static-semantics-early-errors es6id: 13.6.1 description: > A labelled function declaration is never permitted in the first of two Statement positions info: | IfStatement : if ( Expression ) Statement else Statement if ( Expression ) Statement - It is a Syntax Error if IsLabelledFunction(Statement) is true. NOTE It is only necessary to apply this rule if the extension specified in B.3.2 is implemented. In the absence of Annex B.3.2, a SyntaxError should be produced due to the labelled function declaration itself. negative: phase: parse type: SyntaxError --- 876
labelled-fn-stmt-lone.js --- esid: sec-if-statement-static-semantics-early-errors es6id: 13.6.1 description: > A labelled function declaration is never permitted in the sole Statement position info: | IfStatement : if ( Expression ) Statement else Statement if ( Expression ) Statement - It is a Syntax Error if IsLabelledFunction(Statement) is true. NOTE It is only necessary to apply this rule if the extension specified in B.3.2 is implemented. In the absence of Annex B.3.2, a SyntaxError should be produced due to the labelled function declaration itself. negative: phase: parse type: SyntaxError --- 860
labelled-fn-stmt-second.js --- esid: sec-if-statement-static-semantics-early-errors es6id: 13.6.1 description: > A labelled function declaration is never permitted in the second of two Statement positions info: | IfStatement : if ( Expression ) Statement else Statement if ( Expression ) Statement - It is a Syntax Error if IsLabelledFunction(Statement) is true. NOTE It is only necessary to apply this rule if the extension specified in B.3.2 is implemented. In the absence of Annex B.3.2, a SyntaxError should be produced due to the labelled function declaration itself. negative: phase: parse type: SyntaxError --- 876
let-array-with-newline.js --- esid: sec-if-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] --- 557
let-block-with-newline.js --- esid: sec-if-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] --- 494
let-identifier-with-newline.js --- esid: sec-if-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] --- 517
S12.5_A1.1_T1.js --- info: | 0, null, undefined, false, empty string, NaN in expression is evaluated to false es5id: 12.5_A1.1_T1 description: Using "if" without "else" construction --- 1886
S12.5_A1.1_T2.js --- info: | 0, null, undefined, false, empty string, NaN in expression is evaluated to false es5id: 12.5_A1.1_T2 description: Using "if/else" construction --- 2382
S12.5_A1.2_T1.js --- info: | 1, true, non-empty string and others in expression is evaluated to true when using operator "new" es5id: 12.5_A1.2_T1 description: Using "if" without "else" construction --- 2825
S12.5_A1.2_T2.js --- info: | 1, true, non-empty string and others in expression is evaluated to true when using operator "new" es5id: 12.5_A1.2_T2 description: Using "if/else" construction --- 3571
S12.5_A1_T1.js --- info: 1, true, non-empty string in expression is evaluated to true es5id: 12.5_A1_T1 description: Using "if" without "else" construction --- 1318
S12.5_A1_T2.js --- info: 1, true, non-empty string in expression is evaluated to true es5id: 12.5_A1_T2 description: Using "if/else" construction --- 1649
S12.5_A2.js --- info: In the "if" Statement eval in Expression is admitted es5id: 12.5_A2 description: Checking by using eval "eval("true")" --- 413
S12.5_A3.js --- info: | When the production "IfStatement: if ( Expression ) Statement else Statement" is evaluated, Expression is evaluated first es5id: 12.5_A3 description: The Expression is "(function(){throw 1})()" --- 1057
S12.5_A4.js --- info: | When the production "IfStatement: if ( Expression ) Statement else Statement" is evaluated, Statement(s) is(are) evaluated second es5id: 12.5_A4 description: The first statement is "(function(){throw "instatement"})()" --- 1232
S12.5_A5.js --- info: | FunctionDeclaration inside the "if" Expression is evaluated as true and function will not be declarated es5id: 12.5_A5 description: > The "if" Expression is "function __func(){throw "FunctionExpression";}" --- 1407
S12.5_A6_T1.js --- info: In the If statement expression must be enclosed in braces es5id: 12.5_A6_T1 description: Checking if execution of "if true" fails negative: phase: parse type: SyntaxError --- 557
S12.5_A6_T2.js --- info: In the If statement expression must be enclosed in braces es5id: 12.5_A6_T2 description: Checking if execution of "if false" fails negative: phase: parse type: SyntaxError --- 559
S12.5_A8.js --- info: In the "if" Statement empty expression is not allowed es5id: 12.5_A8 description: Checking if execution of "if()" fails negative: phase: parse type: SyntaxError --- 544
S12.5_A10_T1.js --- info: Function expession inside the "if" expression is allowed es5id: 12.5_A10_T1 description: > Using function expession(function __func(){return 0;}) inside the "if" expression --- 667
S12.5_A10_T2.js --- info: Function expession inside the "if" expression is allowed es5id: 12.5_A10_T2 description: > Using function expession "function __func(){return 0;}()" within "if" expression --- 666
S12.5_A11.js --- info: "{} within the \"if\" expression is not allowed" es5id: 12.5_A11 description: Checking if execution of "if({1})" fails negative: phase: parse type: SyntaxError --- 576
S12.5_A12_T1.js --- info: Embedded "if/else" constructions are allowed es5id: 12.5_A12_T1 description: Using embedded "if/else" into "if/else" constructions --- 1876
S12.5_A12_T2.js --- info: Embedded "if/else" constructions are allowed es5id: 12.5_A12_T2 description: Using embedded "if" into "if/else" constructions --- 1185
S12.5_A12_T3.js --- info: Embedded "if/else" constructions are allowed es5id: 12.5_A12_T3 description: Using embedded "if/else" into "if" without "else" constructions --- 1131
S12.5_A12_T4.js --- info: Embedded "if/else" constructions are allowed es5id: 12.5_A12_T4 description: Using embedded "if" into "if" constructions --- 884
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-else-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] --- 644
tco-if-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] --- 634