Index: test/mjsunit/harmony/rest-params-lazy-parsing.js |
diff --git a/test/mjsunit/harmony/rest-params-lazy-parsing.js b/test/mjsunit/harmony/rest-params-lazy-parsing.js |
index ba8e3008b959c01bfbc6229413b9cbbf00642263..b50a990f5c5aaa0a0e32cba9c6c4f0027e4c59b6 100644 |
--- a/test/mjsunit/harmony/rest-params-lazy-parsing.js |
+++ b/test/mjsunit/harmony/rest-params-lazy-parsing.js |
@@ -2,7 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// Flags: --harmony-rest-parameters --min-preparse-length=0 |
+// Flags: --harmony-rest-parameters --harmony-arrow-functions |
+// Flags: --min-preparse-length=0 |
function variadic(co, ...values) { |
var sum = 0; |
@@ -12,6 +13,21 @@ function variadic(co, ...values) { |
return sum; |
} |
+var arrowVariadic = (co, ...values) => { |
+ var sum = 0; |
+ while (values.length) { |
+ sum += co * values.pop(); |
+ } |
+ return sum; |
+} |
+ |
+assertEquals(1, variadic.length); |
+assertEquals(1, arrowVariadic.length); |
+ |
assertEquals(90, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9)); |
assertEquals(74, variadic(2, 1, 2, 3, 4, 5, 6, 7, 9)); |
assertEquals(110, variadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); |
+ |
+assertEquals(90, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9)); |
+assertEquals(74, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 9)); |
+assertEquals(110, arrowVariadic(2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); |