|
1 // test whether splice works on arguments |
|
2 |
|
3 function splice_args () { |
|
4 args = arguments; |
|
5 return Array.prototype.splice.apply(args, [0, 5]); |
|
6 } |
|
7 |
|
8 var args; |
|
9 var O = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; |
|
10 var A = splice_args.apply(undefined, O) |
|
11 |
|
12 // args: [5, 6, 7, 8, 9] |
|
13 assertEq(args[0], 5); |
|
14 assertEq(args[1], 6); |
|
15 assertEq(args[2], 7); |
|
16 assertEq(args[3], 8); |
|
17 assertEq(args[4], 9); |
|
18 assertEq(args.length, 5); |
|
19 |
|
20 // A: [0, 1, 2, 3, 4] |
|
21 assertEq(A[0], 0); |
|
22 assertEq(A[1], 1); |
|
23 assertEq(A[2], 2); |
|
24 assertEq(A[3], 3); |
|
25 assertEq(A[4], 4); |
|
26 assertEq(A.length, 5); |
|
27 |
|
28 // O: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
|
29 assertEq(O[0], 0); |
|
30 assertEq(O[1], 1); |
|
31 assertEq(O[2], 2); |
|
32 assertEq(O[3], 3); |
|
33 assertEq(O[4], 4); |
|
34 assertEq(O[5], 5); |
|
35 assertEq(O[6], 6); |
|
36 assertEq(O[7], 7); |
|
37 assertEq(O[8], 8); |
|
38 assertEq(O[9], 9); |
|
39 assertEq(O.length, 10); |