tor-browser

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

rhs-omitted.js (3113B)


      1 // Copyright (C) 2013 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: >
      6    `yield` is a valid expression within generator function bodies.
      7 es6id: 14.4
      8 features: [generators]
      9 ---*/
     10 
     11 var iter, result;
     12 function* g1() { (yield) }
     13 function* g2() { [yield] }
     14 function* g3() { {yield} }
     15 function* g4() { yield, yield; }
     16 function* g5() { (yield) ? yield : yield; }
     17 
     18 iter = g1();
     19 result = iter.next();
     20 assert.sameValue(
     21  result.value, undefined, 'Within grouping operator: result `value`'
     22 );
     23 assert.sameValue(
     24  result.done, false, 'Within grouping operator: result `done` flag'
     25 );
     26 result = iter.next();
     27 assert.sameValue(
     28  result.value, undefined, 'Following grouping operator: result `value`'
     29 );
     30 assert.sameValue(
     31  result.done, true, 'Following grouping operator: result `done` flag'
     32 );
     33 
     34 iter = g2();
     35 result = iter.next();
     36 assert.sameValue(
     37  result.value, undefined, 'Within array literal: result `value`'
     38 );
     39 assert.sameValue(
     40  result.done, false, 'Within array literal: result `done` flag'
     41 );
     42 result = iter.next();
     43 assert.sameValue(
     44  result.value, undefined, 'Following array literal: result `value`'
     45 );
     46 assert.sameValue(
     47  result.done, true, 'Following array literal: result `done` flag'
     48 );
     49 
     50 iter = g3();
     51 result = iter.next();
     52 assert.sameValue(
     53  result.value, undefined, 'Within object literal: result `value`'
     54 );
     55 assert.sameValue(
     56  result.done, false, 'Within object literal: result `done` flag'
     57 );
     58 result = iter.next();
     59 assert.sameValue(
     60  result.value, undefined, 'Following object literal: result `value`'
     61 );
     62 assert.sameValue(
     63  result.done, true, 'Following object literal: result `done` flag'
     64 );
     65 
     66 iter = g4();
     67 result = iter.next();
     68 assert.sameValue(
     69  result.value,
     70  undefined,
     71  'First expression in comma expression: result `value`'
     72 );
     73 assert.sameValue(
     74  result.done,
     75  false,
     76  'First expression in comma expression: result `done` flag'
     77 );
     78 result = iter.next();
     79 assert.sameValue(
     80  result.value,
     81  undefined,
     82  'Second expression in comma expression: result `value`'
     83 );
     84 assert.sameValue(
     85  result.done,
     86  false,
     87  'Second expression in comma expression: result `done` flag'
     88 );
     89 result = iter.next();
     90 assert.sameValue(
     91  result.value, undefined, 'Following comma expression: result `value`'
     92 );
     93 assert.sameValue(
     94  result.done, true, 'Following comma expression: result `done` flag'
     95 );
     96 
     97 iter = g5();
     98 result = iter.next();
     99 assert.sameValue(
    100  result.value,
    101  undefined,
    102  'Conditional expression in conditional operator: result `value`'
    103 );
    104 assert.sameValue(
    105  result.done,
    106  false,
    107  'Conditional expression in conditional operator: result `done` flag'
    108 );
    109 result = iter.next();
    110 assert.sameValue(
    111  result.value,
    112  undefined,
    113  'Branch in conditional operator: result `value`'
    114 );
    115 assert.sameValue(
    116  result.done,
    117  false,
    118  'Branch in conditional operator: result `done` flag'
    119 );
    120 result = iter.next();
    121 assert.sameValue(
    122  result.value, undefined, 'Following conditional operator: result `value`'
    123 );
    124 assert.sameValue(
    125  result.done, true, 'Following conditional operator: result `done` flag'
    126 );
    127 
    128 reportCompare(0, 0);