1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// |jit-test| --ion-inlining=off; --fast-warmup
function calleeWithFormals(a, b, ...arr) {
assertEq(b, 2);
if (arr.length > 0) {
assertEq(arr[0], 3);
}
if (arr.length > 1) {
assertEq(arr[1], Math);
}
if (arr.length > 2) {
assertEq(arr[2], "foo");
}
return arr;
}
function calleeWithoutFormals(...arr) {
if (arr.length > 0) {
assertEq(arr[0], 3);
}
if (arr.length > 1) {
assertEq(arr[1], Math);
}
if (arr.length > 2) {
assertEq(arr[2], "foo");
}
return arr;
}
function f() {
for (var i = 0; i < 100; i++) {
assertEq(calleeWithFormals(1, 2).length, 0);
assertEq(calleeWithFormals(1, 2, 3).length, 1);
assertEq(calleeWithFormals(1, 2, 3, Math).length, 2);
assertEq(calleeWithFormals(1, 2, 3, Math, "foo").length, 3);
assertEq(calleeWithoutFormals().length, 0);
assertEq(calleeWithoutFormals(3).length, 1);
assertEq(calleeWithoutFormals(3, Math).length, 2);
assertEq(calleeWithoutFormals(3, Math, "foo").length, 3);
}
}
f();
|