tor-browser

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

named-yield-spread-obj.js (1078B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/generators/yield-spread-obj.case
      3 // - src/generators/default/expression-named.template
      4 /*---
      5 description: Use yield value in a object spread position (Named generator expression)
      6 esid: prod-GeneratorExpression
      7 features: [object-spread, generators]
      8 flags: [generated]
      9 info: |
     10    14.4 Generator Function Definitions
     11 
     12    GeneratorExpression:
     13      function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody }
     14 
     15 
     16    Spread Properties
     17 
     18    PropertyDefinition[Yield]:
     19      (...)
     20      ...AssignmentExpression[In, ?Yield]
     21 
     22 ---*/
     23 
     24 var callCount = 0;
     25 
     26 var gen = function *g() {
     27  callCount += 1;
     28  yield {
     29      ...yield,
     30      y: 1,
     31      ...yield yield,
     32    };
     33 };
     34 
     35 var iter = gen();
     36 
     37 iter.next();
     38 iter.next({ x: 42 });
     39 iter.next({ x: 'lol' });
     40 var item = iter.next({ y: 39 });
     41 
     42 assert.sameValue(item.value.x, 42);
     43 assert.sameValue(item.value.y, 39);
     44 assert.sameValue(Object.keys(item.value).length, 2);
     45 assert.sameValue(item.done, false);
     46 
     47 assert.sameValue(callCount, 1);
     48 
     49 reportCompare(0, 0);