gen-yield-spread-arr-multiple.js (1022B)
1 // This file was procedurally generated from the following sources: 2 // - src/generators/yield-spread-arr-multiple.case 3 // - src/generators/default/obj-method.template 4 /*--- 5 description: Use yield value in a array spread position (Generator method) 6 esid: prod-GeneratorMethod 7 features: [generators] 8 flags: [generated] 9 includes: [compareArray.js] 10 info: | 11 14.4 Generator Function Definitions 12 13 GeneratorMethod[Yield, Await]: 14 * PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } 15 16 17 Array Initializer 18 19 SpreadElement[Yield, Await]: 20 ...AssignmentExpression[+In, ?Yield, ?Await] 21 22 ---*/ 23 var arr = ['a', 'b', 'c']; 24 var item; 25 26 var callCount = 0; 27 28 var gen = { 29 *method() { 30 callCount += 1; 31 yield [...yield yield]; 32 } 33 }.method; 34 35 var iter = gen(); 36 37 iter.next(false); 38 item = iter.next(['a', 'b', 'c']); 39 item = iter.next(item.value); 40 41 assert.compareArray(item.value, arr); 42 assert.sameValue(item.done, false); 43 44 assert.sameValue(callCount, 1); 45 46 reportCompare(0, 0);