|
1 load(libdir + 'array-compare.js'); |
|
2 |
|
3 function f(v) { |
|
4 return v.length; |
|
5 } |
|
6 |
|
7 function g(v) { |
|
8 return v.length; |
|
9 } |
|
10 |
|
11 function h(v) { |
|
12 return v.length; |
|
13 } |
|
14 |
|
15 function aliasCheck(v) { |
|
16 v[0] = v.length; |
|
17 v[1] = v.length; |
|
18 v[2] = v.length; |
|
19 return v; |
|
20 } |
|
21 |
|
22 for(let i = 41; i; i--) { |
|
23 assertEq(f([]), 0); |
|
24 assertEq(f([0]), 1); |
|
25 assertEq(f([0, 1]), 2); |
|
26 assertEq(f([0, 1, 2]), 3); |
|
27 assertEq(g(""), 0); |
|
28 assertEq(g("1"), 1); |
|
29 assertEq(g("12"), 2); |
|
30 assertEq(g("123"), 3); |
|
31 assertEq(h({}), undefined); |
|
32 assertEq(h({a: 1}), undefined); |
|
33 assertEq(h({a: 1, b: 2}), undefined); |
|
34 assertEq(h({a: 1, b: 2, length: 3}), 3); |
|
35 assertEq(arraysEqual(aliasCheck([0, 1, 2]), [3, 3, 3]), true); |
|
36 } |