61 } |
61 } |
62 |
62 |
63 function f2() { |
63 function f2() { |
64 // DeletedArrayFilter |
64 // DeletedArrayFilter |
65 var deleted = [,1,,2,,3,,4,,]; |
65 var deleted = [,1,,2,,3,,4,,]; |
66 assertEq(2, Java.toJavaArray(deleted)[3]); |
66 assertEq(2, Java.to(deleted)[3]); |
67 assertEq(undefined, deleted.pop()); |
67 assertEq(undefined, deleted.pop()); |
68 assertEq(4, deleted.pop()); |
68 assertEq(4, deleted.pop()); |
69 deleted.unshift(5); |
69 deleted.unshift(5); |
70 p.apply(null, deleted); |
70 p.apply(null, deleted); |
71 assertEq(5, deleted.shift()); |
71 assertEq(5, deleted.shift()); |
76 } |
76 } |
77 |
77 |
78 function f3() { |
78 function f3() { |
79 // DeletedRangeArrayFilter |
79 // DeletedRangeArrayFilter |
80 var delrange = [1,2,3,,,,,,,,,,]; |
80 var delrange = [1,2,3,,,,,,,,,,]; |
81 Java.toJavaArray(delrange); |
81 Java.to(delrange); |
82 delrange.unshift(4); |
82 delrange.unshift(4); |
83 p.apply(null, delrange); |
83 p.apply(null, delrange); |
84 print(delrange.slice(1,3), delrange.slice(2,6)); |
84 print(delrange.slice(1,3), delrange.slice(2,6)); |
85 assertEq(4, delrange.shift()); |
85 assertEq(4, delrange.shift()); |
86 } |
86 } |
87 |
87 |
88 function f4() { |
88 function f4() { |
89 // NumberArrayData |
89 // NumberArrayData |
90 var num = [1.1,2.2,3.3,4.4,5.5]; |
90 var num = [1.1,2.2,3.3,4.4,5.5]; |
91 Java.toJavaArray(num); |
91 Java.to(num); |
92 assertEq(2, num[3] >>> 1); |
92 assertEq(2, num[3] >>> 1); |
93 assertEq(5, num[4] | 0); |
93 assertEq(5, num[4] | 0); |
94 assertEq(5.5, num.pop()); |
94 assertEq(5.5, num.pop()); |
95 num.unshift(13.37); |
95 num.unshift(13.37); |
96 print(num.slice(1,4)); |
96 print(num.slice(1,4)); |
102 } |
102 } |
103 |
103 |
104 function f5() { |
104 function f5() { |
105 // ObjectArrayData |
105 // ObjectArrayData |
106 var obj = [2,"two",3.14,"pi",14,"fourteen"]; |
106 var obj = [2,"two",3.14,"pi",14,"fourteen"]; |
107 Java.toJavaArray(obj); |
107 Java.to(obj); |
108 assertEq(-12.86, obj[2] - 16); |
108 assertEq(-12.86, obj[2] - 16); |
109 assertEq(7, obj[4] >>> 1); |
109 assertEq(7, obj[4] >>> 1); |
110 obj.unshift("one"); |
110 obj.unshift("one"); |
111 obj[0] = 1.3; |
111 obj[0] = 1.3; |
112 obj[0] = eval("14") >>> 1; |
112 obj[0] = eval("14") >>> 1; |
129 assertEq(10, sparse.shift()); |
129 assertEq(10, sparse.shift()); |
130 assertEq(42, sparse.pop()); |
130 assertEq(42, sparse.pop()); |
131 sparse.length = 1024*1024; |
131 sparse.length = 1024*1024; |
132 sparse.push(sparse.length); |
132 sparse.push(sparse.length); |
133 delete sparse[sparse.length-1]; |
133 delete sparse[sparse.length-1]; |
134 //print(Java.toJavaArray(sparse).length); |
134 //print(Java.to(sparse).length); |
135 (function(){}).apply(null, sparse); |
135 (function(){}).apply(null, sparse); |
136 } |
136 } |
137 |
137 |
138 function f7() { |
138 function f7() { |
139 // UndefinedArrayFilter |
139 // UndefinedArrayFilter |
140 var undef = [1,2,3,4,5,undefined,7,8,9,19]; |
140 var undef = [1,2,3,4,5,undefined,7,8,9,19]; |
141 Java.toJavaArray(undef); |
141 Java.to(undef); |
142 assertEq(4, undef[8] >>> 1); |
142 assertEq(4, undef[8] >>> 1); |
143 var tmp = undef[9] >>> 1; |
143 var tmp = undef[9] >>> 1; |
144 undef[8] = tmp; |
144 undef[8] = tmp; |
145 undef.unshift(21); |
145 undef.unshift(21); |
146 print(undef.slice(0, 4), undef.slice(4, 5)); |
146 print(undef.slice(0, 4), undef.slice(4, 5)); |
152 undef.length = 20; |
152 undef.length = 20; |
153 } |
153 } |
154 |
154 |
155 function f8() { |
155 function f8() { |
156 // LongArrayData |
156 // LongArrayData |
157 var j = Java.toJavaScriptArray(Java.toJavaArray([23,37,42,86,47], "long")); |
157 var j = Java.from(Java.to([23,37,42,86,47], "long[]")); |
158 Java.toJavaArray(j); |
158 Java.to(j); |
159 p.apply(null, j); |
159 p.apply(null, j); |
160 assertEq(43, j[3] >>> 1); |
160 assertEq(43, j[3] >>> 1); |
161 assertEq(36, j[4] - 11); |
161 assertEq(36, j[4] - 11); |
162 j.unshift(eval("14") >>> 1); |
162 j.unshift(eval("14") >>> 1); |
163 print(j.slice(0,4)); |
163 print(j.slice(0,4)); |
164 assertEq(7, j.shift()); |
164 assertEq(7, j.shift()); |
165 assertEq(47, j.pop()); |
165 assertEq(47, j.pop()); |
166 j.push("asdf"); |
166 j.push("asdf"); |
167 j = Java.toJavaScriptArray(Java.toJavaArray([23,37,42,86,47], "long")); |
167 j = Java.from(Java.to([23,37,42,86,47], "long[]")); |
168 j.length = 3; |
168 j.length = 3; |
169 j[0] = 13; |
169 j[0] = 13; |
170 j = Java.toJavaScriptArray(Java.toJavaArray([23,37,42,86,47], "long")); |
170 j = Java.from(Java.to([23,37,42,86,47], "long[]")); |
171 delete j[0]; |
171 delete j[0]; |
172 j = Java.toJavaScriptArray(Java.toJavaArray([23,37,42,86,47], "long")); |
172 j = Java.from(Java.to([23,37,42,86,47], "long[]")); |
173 j.length = 20; |
173 j.length = 20; |
174 j[0] = 13.37; |
174 j[0] = 13.37; |
175 } |
175 } |
176 |
176 |
177 function f9() { |
177 function f9() { |