OLD | NEW |
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 | |
6 | |
7 (function testRestIndex() { | 5 (function testRestIndex() { |
8 assertEquals(5, ((...args) => args.length)(1,2,3,4,5)); | 6 assertEquals(5, ((...args) => args.length)(1,2,3,4,5)); |
9 assertEquals(4, ((a, ...args) => args.length)(1,2,3,4,5)); | 7 assertEquals(4, ((a, ...args) => args.length)(1,2,3,4,5)); |
10 assertEquals(3, ((a, b, ...args) => args.length)(1,2,3,4,5)); | 8 assertEquals(3, ((a, b, ...args) => args.length)(1,2,3,4,5)); |
11 assertEquals(2, ((a, b, c, ...args) => args.length)(1,2,3,4,5)); | 9 assertEquals(2, ((a, b, c, ...args) => args.length)(1,2,3,4,5)); |
12 assertEquals(1, ((a, b, c, d, ...args) => args.length)(1,2,3,4,5)); | 10 assertEquals(1, ((a, b, c, d, ...args) => args.length)(1,2,3,4,5)); |
13 assertEquals(0, ((a, b, c, d, e, ...args) => args.length)(1,2,3,4,5)); | 11 assertEquals(0, ((a, b, c, d, e, ...args) => args.length)(1,2,3,4,5)); |
14 })(); | 12 })(); |
15 | 13 |
16 // strictTest and sloppyTest should be called with descending natural | 14 // strictTest and sloppyTest should be called with descending natural |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 })(); | 133 })(); |
136 | 134 |
137 | 135 |
138 (function testUnmappedArguments() { | 136 (function testUnmappedArguments() { |
139 // Normal functions make their arguments object unmapped, but arrow | 137 // Normal functions make their arguments object unmapped, but arrow |
140 // functions don't have an arguments object anyway. Check that the | 138 // functions don't have an arguments object anyway. Check that the |
141 // right thing happens for arguments in arrow functions with rest | 139 // right thing happens for arguments in arrow functions with rest |
142 // parameters. | 140 // parameters. |
143 assertSame(arguments, ((...rest) => arguments)()); | 141 assertSame(arguments, ((...rest) => arguments)()); |
144 })(); | 142 })(); |
OLD | NEW |