|
1 // Storing a typed value. |
|
2 function test1() { |
|
3 var a = []; |
|
4 for (var i=0; i<130; i++) { |
|
5 a[i] = i + 1; |
|
6 } |
|
7 return a; |
|
8 } |
|
9 |
|
10 var arr = test1(); |
|
11 assertEq(arr.length, 130); |
|
12 |
|
13 for (var i=0; i<130; i++) |
|
14 assertEq(arr[i], i + 1); |
|
15 |
|
16 // Storing a Value. |
|
17 function getValue(x) { |
|
18 var y = x & 0x3; |
|
19 if (y == 0) return null; |
|
20 if (y == 1) return true; |
|
21 if (y == 2) return 1.23; |
|
22 if (y == 3) return Math; |
|
23 assertEq(0, 1); |
|
24 } |
|
25 getValue(0); |
|
26 getValue(1); |
|
27 |
|
28 function test2() { |
|
29 var a = []; |
|
30 for (var i=0; i<130; i++) { |
|
31 a[i] = getValue(i); |
|
32 } |
|
33 return a; |
|
34 } |
|
35 |
|
36 var arr = test2(); |
|
37 assertEq(arr.length, 130); |
|
38 |
|
39 for (var i=0; i<130; i++) |
|
40 assertEq(arr[i], getValue(i)); |
|
41 |
|
42 // Make sure the length-property is not updated if it's greater than |
|
43 // the (new) initialized length. |
|
44 function test3(arr, start, end) { |
|
45 for (var i=start; i<end; i++) { |
|
46 arr[i] = 10; |
|
47 } |
|
48 } |
|
49 var a = new Array(200); |
|
50 test3(a, 10, 130); |
|
51 assertEq(a.length, 200); |
|
52 |
|
53 for (var i=10; i<130; i++) |
|
54 assertEq(a[i], 10); |
|
55 |
|
56 test3(a, 130, 220); |
|
57 assertEq(a.length, 220); |
|
58 |
|
59 // Test constant index. |
|
60 function test4() { |
|
61 var a = [0, 1, 2, 3, 4, 5]; |
|
62 for (var i=0; i<150; i++) { |
|
63 a[6] = i; |
|
64 } |
|
65 return a; |
|
66 } |
|
67 var arr = test4(); |
|
68 assertEq(arr[6], 149); |