tor-browser

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

gen-yield-spread-obj.js (1111B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/generators/yield-spread-obj.case
      3 // - src/generators/default/obj-method.template
      4 /*---
      5 description: Use yield value in a object spread position (Generator method)
      6 esid: prod-GeneratorMethod
      7 features: [object-spread, generators]
      8 flags: [generated]
      9 info: |
     10    14.4 Generator Function Definitions
     11 
     12    GeneratorMethod[Yield, Await]:
     13      * PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { 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 = {
     27  *method() {
     28    callCount += 1;
     29    yield {
     30        ...yield,
     31        y: 1,
     32        ...yield yield,
     33      };
     34  }
     35 }.method;
     36 
     37 var iter = gen();
     38 
     39 iter.next();
     40 iter.next({ x: 42 });
     41 iter.next({ x: 'lol' });
     42 var item = iter.next({ y: 39 });
     43 
     44 assert.sameValue(item.value.x, 42);
     45 assert.sameValue(item.value.y, 39);
     46 assert.sameValue(Object.keys(item.value).length, 2);
     47 assert.sameValue(item.done, false);
     48 
     49 assert.sameValue(callCount, 1);
     50 
     51 reportCompare(0, 0);