// 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 DestructuringAssignmentTarget is an obect literal and the iterable is
    emits no values, an empty array should be used as the value of the nested
    DestructuringAssignment.
template: default
es6id: 12.14.5.3
---*/

//- setup
var 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, 0);
