aboutsummaryrefslogtreecommitdiffstats
path: root/src/dstr-assignment-for-await/array-rest-nested-obj-undefined-hole.case
blob: 1893815708e3c5f59056f414a91038af69dc1df0 (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
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
desc: >
    When DestructuringAssignmentTarget is an array literal and the iterable is
    an array with a "hole", an array with a single `undefined` element should
    be used as the value of the nested DestructuringAssignment.
template: default
es6id: 12.14.5.3
---*/

//- setup
let x = null;
// Use the the top-level lexical scope for 'length' to provide compatibility with browsers
// where length and name are properties of WindowProxy
let length;
//- elems
[...{ 0: x, length }]
//- vals
[ , ]
//- body
assert.sameValue(x, undefined);
assert.sameValue(length, 1);

//- teardown
promise
  .then(() => assert.sameValue(iterCount, 1, 'iteration occurred as expected'), $DONE)
  .then($DONE, $DONE);