// Copyright (C) 2017 Caio Lima. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- desc: Multiple Object Spread operation template: default esid: pending info: | Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). features: [object-spread] ---*/ //- setup let o = {a: 2, b: 3}; let o2 = {c: 4, d: 5}; //- args {...o, ...o2} //- params obj //- body assert.sameValue(obj.a, 2); assert.sameValue(obj.b, 3); assert.sameValue(obj.c, 4); assert.sameValue(obj.d, 5); assert.sameValue(Object.keys(obj).length, 4);