summaryrefslogtreecommitdiff
path: root/src/dstr-binding/ary-ptrn-rest-obj-prop-id.case
blob: 3ad115023020029d41472bd237a220ad1c3a528f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
template: default
desc: Rest element containing an object binding pattern
info: |
    13.3.3.6 Runtime Semantics: IteratorBindingInitialization

    BindingRestElement : ... BindingPattern

    1. Let A be ArrayCreate(0).
    [...]
    3. Repeat
       [...]
       b. If iteratorRecord.[[done]] is true, then
          i. Return the result of performing BindingInitialization of
             BindingPattern with A and environment as the arguments.
       [...]
---*/

//- setup
let length = "outer";
//- elems
[...{ 0: v, 1: w, 2: x, 3: y, length: z }]
//- vals
[7, 8, 9]
//- body
assert.sameValue(v, 7);
assert.sameValue(w, 8);
assert.sameValue(x, 9);
assert.sameValue(y, undefined);
assert.sameValue(z, 3);

assert.sameValue(length, "outer", "the length prop is not set as a binding name");