Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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 }
10 var arr = test1();
11 assertEq(arr.length, 130);
13 for (var i=0; i<130; i++)
14 assertEq(arr[i], i + 1);
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);
28 function test2() {
29 var a = [];
30 for (var i=0; i<130; i++) {
31 a[i] = getValue(i);
32 }
33 return a;
34 }
36 var arr = test2();
37 assertEq(arr.length, 130);
39 for (var i=0; i<130; i++)
40 assertEq(arr[i], getValue(i));
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);
53 for (var i=10; i<130; i++)
54 assertEq(a[i], 10);
56 test3(a, 130, 220);
57 assertEq(a.length, 220);
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);