summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/arguments/defaults-evaluation-order.js
blob: c4ddff7372832272cc88fcbdd29a25516267c05e (plain)
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
function f1(a, bIs, cIs, dIs, b=a, c=5, d=c) {
    assertEq(a, 1);
    assertEq(b, bIs);
    assertEq(c, cIs);
    assertEq(d, dIs);
}
f1(1, 1, 5, 5);
f1(1, 42, 5, 5, 42);
f1(1, 42, 43, 43, 42, 43);
f1(1, 42, 43, 44, 42, 43, 44);
function f2(a=[]) { return a; }
assertEq(f2() !== f2(), true);
function f3(a=function () {}) { return a; }
assertEq(f3() !== f3(), true);
function f4(a=Date) { return a; }
assertEq(f4(), Date);
Date = 0;
assertEq(f4(), 0);
function f5(x=FAIL()) {};  // don't throw
var n = 0;
function f6(a=n++) {}
assertEq(n, 0);
function f7([a, b], A=a, B=b) {
    assertEq(A, a);
    assertEq(B, b);
}
f7([0, 1]);