Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: test/mjsunit/harmony/rest-params-lazy-parsing.js

Issue 1178523002: Support rest parameters in arrow functions (Closed) Base URL: https://chromium.googlesource.com/v8/v8@master
Patch Set: Fix error locations for param-after-rest errors Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --harmony-rest-parameters --min-preparse-length=0 5 // Flags: --harmony-rest-parameters --harmony-arrow-functions
6 // Flags: --min-preparse-length=0
6 7
7 function variadic(co, ...values) { 8 function variadic(co, ...values) {
8 var sum = 0; 9 var sum = 0;
9 while (values.length) { 10 while (values.length) {
10 sum += co * values.pop(); 11 sum += co * values.pop();
11 } 12 }
12 return sum; 13 return sum;
13 } 14 }
14 15
16 var arrowVariadic = (co, ...values) => {
17 var sum = 0;
18 while (values.length) {
19 sum += co * values.pop();
20 }
21 return sum;
22 }
23
24 assertEquals(1, variadic.length);
25 assertEquals(1, arrowVariadic.length);
26
15 assertEquals(90, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9)); 27 assertEquals(90, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9));
16 assertEquals(74, variadic(2, 1, 2, 3, 4, 5, 6, 7, 9)); 28 assertEquals(74, variadic(2, 1, 2, 3, 4, 5, 6, 7, 9));
17 assertEquals(110, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); 29 assertEquals(110, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
30
31 assertEquals(90, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9));
32 assertEquals(74, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 9));
33 assertEquals(110, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698