|
1 function test1() { |
|
2 var dense = [1, 2, 3]; |
|
3 var denseHoles = [1, , 3]; |
|
4 var result = 0; |
|
5 |
|
6 for (var i = 0; i < 70; i++) { |
|
7 if (i in dense) result += 1; |
|
8 if (1 in dense) result += 2; |
|
9 if (3 in dense) result += 3; |
|
10 if (-1000 in dense) result += 4; |
|
11 if (i in denseHoles) result += 5; |
|
12 if (1 in denseHoles) result += 6; |
|
13 } |
|
14 |
|
15 assertEq(result, 153); |
|
16 } |
|
17 test1(); |
|
18 |
|
19 function test2() { |
|
20 var a = [1, 2, 3]; |
|
21 |
|
22 for (var i = 0; i < 70; i++) { |
|
23 assertEq(-0 in a, true); |
|
24 assertEq(Math.sqrt(4) in a, true); |
|
25 assertEq(1.9 in a, false); |
|
26 assertEq(NaN in a, false); |
|
27 assertEq(Infinity in a, false); |
|
28 } |
|
29 } |
|
30 test2(); |
|
31 |
|
32 function test3() { |
|
33 var a = [1, , 3]; |
|
34 |
|
35 for (var i = 0; i < 70; i++) { |
|
36 if (i == 60) |
|
37 Object.prototype[1] = null; |
|
38 assertEq(1 in a, i >= 60); |
|
39 } |
|
40 } |
|
41 test3(); |