tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cptn-else-false-abrupt-empty.js (1459B)


      1 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-if-statement-runtime-semantics-evaluation
      5 description: >
      6    Completion value when expression is false with an `else` clause and body
      7    returns an empty abrupt completion
      8 info: |
      9    IfStatement : if ( Expression ) Statement else Statement
     10 
     11    3. If exprValue is true, then
     12       [...]
     13    4. Else,
     14       a. Let stmtCompletion be the result of evaluating the second Statement.
     15    5. Return Completion(UpdateEmpty(stmtCompletion, undefined)).
     16 ---*/
     17 
     18 assert.sameValue(
     19  eval('1; do { if (false) { } else { break; } } while (false)'), undefined
     20 );
     21 assert.sameValue(
     22  eval('2; do { 3; if (false) { } else { break; } } while (false)'), undefined
     23 );
     24 assert.sameValue(
     25  eval('4; do { if (false) { 5; } else { break; } } while (false)'), undefined
     26 );
     27 assert.sameValue(
     28  eval('6; do { 7; if (false) { 8; } else { break; } } while (false)'),
     29  undefined
     30 );
     31 
     32 assert.sameValue(
     33  eval('9; do { if (false) { } else { continue; } } while (false)'), undefined
     34 );
     35 assert.sameValue(
     36  eval('10; do { 11; if (false) { } else { continue; } } while (false)'),
     37  undefined
     38 );
     39 assert.sameValue(
     40  eval('12; do { if (false) { 13; } else { continue; } } while (false)'),
     41  undefined
     42 );
     43 assert.sameValue(
     44  eval('14; do { 15; if (false) { 16; } else { continue; } } while (false)'),
     45  undefined
     46 );
     47 
     48 reportCompare(0, 0);