tor-browser

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

cptn-else-true-abrupt-empty.js (1432B)


      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 true with an `else` clause and body
      7    returns an abrupt completion
      8 info: |
      9    IfStatement : if ( Expression ) Statement else Statement
     10 
     11    3. If exprValue is true, then
     12       a. Let stmtCompletion be the result of evaluating the first Statement.
     13    4. Else,
     14       [...]
     15    5. Return Completion(UpdateEmpty(stmtCompletion, undefined)).
     16 ---*/
     17 
     18 assert.sameValue(
     19  eval('1; do { if (true) { break; } else { } } while (false)'), undefined
     20 );
     21 assert.sameValue(
     22  eval('2; do { 3; if (true) { break; } else { } } while (false)'), undefined
     23 );
     24 assert.sameValue(
     25  eval('4; do { if (true) { break; } else { 5; } } while (false)'), undefined
     26 );
     27 assert.sameValue(
     28  eval('6; do { 7; if (true) { break; } else { 8; } } while (false)'),
     29  undefined
     30 );
     31 
     32 assert.sameValue(
     33  eval('1; do { if (true) { continue; } else { } } while (false)'), undefined
     34 );
     35 assert.sameValue(
     36  eval('2; do { 3; if (true) { continue; } else { } } while (false)'), undefined
     37 );
     38 assert.sameValue(
     39  eval('4; do { if (true) { continue; } else { 5; } } while (false)'), undefined
     40 );
     41 assert.sameValue(
     42  eval('6; do { 7; if (true) { continue; } else { 8; } } while (false)'),
     43  undefined
     44 );
     45 
     46 reportCompare(0, 0);