js/src/jit-test/tests/basic/testSetPropertyFail.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:b34fc53a22bf
1 function test(name, fn, val) {
2 gc();
3 var ok = {}, bad = {};
4 bad.__defineSetter__(name, fn);
5 var arr = [ok, ok, ok, ok, ok, bad];
6
7 var log = '';
8 try {
9 for (var i = 0; i < arr.length; i++) {
10 arr[i][name] = val;
11 log += '.';
12 }
13 } catch (exc) {
14 log += 'E';
15 }
16 assertEq(log, '.....E');
17 }
18
19 test("x", Function.prototype.call, null); // TypeError: Function.prototype.call called on incompatible [object Object]
20 test("y", Array, 0.1); // RangeError: invalid array length
21 test(1, Function.prototype.call, null); // TypeError: Function.prototype.call called on incompatible [object Object]
22 test(1, Array, 0.1); // RangeError: invalid array length

mercurial