blob: e9f102cffe51a8dd702bdc0192cc2e4460495d39 [file] [log] [blame] [edit]
// Copyright (C) 2017 Caio Lima. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
desc: >
Destructuring field can be a computed property, i.e it can be defined
only at runtime. Rest operantion needs to skip these properties as well.
template: default
esid: pending
includes: [propertyHelper.js]
features: [object-rest]
---*/
//- setup
var a = "foo";
var b, rest;
//- elems
{[a]:b, ...rest}
//- vals
{ foo: 1, bar: 2, baz: 3 }
//- body
assert.sameValue(b, 1);
assert.sameValue(rest.bar, 2);
assert.sameValue(rest.baz, 3);
assert.sameValue(Object.getOwnPropertyDescriptor(rest, "foo"), undefined);
verifyProperty(rest, "bar", {
enumerable: true,
writable: true,
configurable: true
});
verifyProperty(rest, "baz", {
enumerable: true,
writable: true,
configurable: true
});