diff options
Diffstat (limited to 'src/dstr-assignment/array-rest-nested-array-yield-expr.case')
-rw-r--r-- | src/dstr-assignment/array-rest-nested-array-yield-expr.case | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/dstr-assignment/array-rest-nested-array-yield-expr.case b/src/dstr-assignment/array-rest-nested-array-yield-expr.case new file mode 100644 index 000000000..75b97caf0 --- /dev/null +++ b/src/dstr-assignment/array-rest-nested-array-yield-expr.case @@ -0,0 +1,37 @@ +// Copyright (C) 2015 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +desc: > + When a `yield` token appears within the DestructuringAssignmentTarget of a + nested destructuring assignment and within a generator function body, it + should behave as a YieldExpression. +template: default +es6id: 12.14.5.3 +features: [generators] +---*/ + +//- setup +var value = [86]; +var x = {}; +var iterationResult, iter; + +iter = (function*() { +//- elems +[...[x[yield]]] +//- vals +[86] +//- teardown +}()); + +iterationResult = iter.next(); + +assert.sameValue(iterationResult.value, undefined); +assert.sameValue(iterationResult.done, false); +assert.sameValue(x.prop, undefined); + +iterationResult = iter.next('prop'); + +assert.sameValue(iterationResult.value, undefined); +assert.sameValue(iterationResult.done, true); +assert.sameValue(x.prop, 86); |