|
1 function f1(a, bIs, cIs, dIs, b=a, c=d, d=5) { |
|
2 assertEq(a, 1); |
|
3 assertEq(b, bIs); |
|
4 assertEq(c, cIs); |
|
5 assertEq(d, dIs); |
|
6 } |
|
7 f1(1, 1, undefined, 5); |
|
8 f1(1, 42, undefined, 5, 42); |
|
9 f1(1, 42, 43, 5, 42, 43); |
|
10 f1(1, 42, 43, 44, 42, 43, 44); |
|
11 function f2(a=[]) { return a; } |
|
12 assertEq(f2() !== f2(), true); |
|
13 function f3(a=function () {}) { return a; } |
|
14 assertEq(f3() !== f3(), true); |
|
15 function f4(a=Date) { return a; } |
|
16 assertEq(f4(), Date); |
|
17 Date = 0; |
|
18 assertEq(f4(), 0); |
|
19 function f5(x=FAIL()) {}; // don't throw |
|
20 var n = 0; |
|
21 function f6(a=n++) {} |
|
22 assertEq(n, 0); |
|
23 function f7([a, b], A=a, B=b) { |
|
24 assertEq(A, a); |
|
25 assertEq(B, b); |
|
26 } |
|
27 f7([0, 1]); |