dflt-obj-ptrn-rest-val-obj.js (1308B)
1 // |reftest| async 2 // This file was procedurally generated from the following sources: 3 // - src/dstr-binding/obj-ptrn-rest-val-obj.case 4 // - src/dstr-binding/default/async-gen-func-expr-dflt.template 5 /*--- 6 description: Rest object contains just unextracted data (async generator function expression (default parameter)) 7 esid: sec-asyncgenerator-definitions-evaluation 8 features: [object-rest, async-iteration] 9 flags: [generated, async] 10 includes: [propertyHelper.js] 11 info: | 12 AsyncGeneratorExpression : async [no LineTerminator here] function * ( FormalParameters ) { 13 AsyncGeneratorBody } 14 15 [...] 16 3. Let closure be ! AsyncGeneratorFunctionCreate(Normal, FormalParameters, 17 AsyncGeneratorBody, scope, strict). 18 [...] 19 20 ---*/ 21 22 23 var callCount = 0; 24 var f; 25 f = async function*({a, b, ...rest} = {x: 1, y: 2, a: 5, b: 3}) { 26 assert.sameValue(rest.a, undefined); 27 assert.sameValue(rest.b, undefined); 28 29 verifyProperty(rest, "x", { 30 enumerable: true, 31 writable: true, 32 configurable: true, 33 value: 1 34 }); 35 36 verifyProperty(rest, "y", { 37 enumerable: true, 38 writable: true, 39 configurable: true, 40 value: 2 41 }); 42 callCount = callCount + 1; 43 }; 44 45 f().next().then(() => { 46 assert.sameValue(callCount, 1, 'invoked exactly once'); 47 }).then($DONE, $DONE);