test/script/basic/NASHORN-556.js

changeset 279
1fd18f40ab52
parent 7
5a1b0714df0e
child 952
6d5471a497fb
child 962
ac62e33a99b0
equal deleted inserted replaced
278:b558e19d5de5 279:1fd18f40ab52
45 45
46 function f1() { 46 function f1() {
47 // (NoTypeArrayData) 47 // (NoTypeArrayData)
48 var empty = {}; 48 var empty = {};
49 empty.length = 10; 49 empty.length = 10;
50 Java.toJavaArray(empty); 50 Java.to(empty);
51 delete empty[0]; 51 delete empty[0];
52 Array.prototype.slice.call(empty, 0, 1); 52 Array.prototype.slice.call(empty, 0, 1);
53 Array.prototype.pop.call(empty); 53 Array.prototype.pop.call(empty);
54 Array.prototype.shift.call(empty); 54 Array.prototype.shift.call(empty);
55 empty = {}; 55 empty = {};
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() {

mercurial