blob: f56774156f29cb91bdb59913af4591214b5476d1 [file] [log] [blame]
function foo(x) {
return new Array(x);
}
noInline(foo);
var poke;
Array.prototype.__defineSetter__("1", function() {
poke = "poke";
});
function test(size) {
var result = foo(size);
if (result.length != size)
throw "Error: bad result: " + result;
var sawThings = false;
for (var s in result) {
if (s != "1")
sawThings = true;
}
if (sawThings)
throw "Error: array is in bad state: " + result;
result[0] = "42.5";
if (result[0] != "42.5")
throw "Error: array is in wierd state: " + result;
poke = null;
result[1] = 42;
if (poke != "poke")
throw "Error: setter not called.";
}
for (var i = 0; i < 100000; ++i) {
test(42);
}