// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- desc: Spread operator applied to AssignmentExpression following other elements template: default info: | 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 5. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return precedingArgs. ---*/ //- args 5, ...[6, 7, 8], 9 //- body assert.sameValue(arguments.length, 5); assert.sameValue(arguments[0], 5); assert.sameValue(arguments[1], 6); assert.sameValue(arguments[2], 7); assert.sameValue(arguments[3], 8); assert.sameValue(arguments[4], 9);