haikuwebkit/LayoutTests/js/script-tests/object-slow-put.js

23 lines
530 B
JavaScript

description(
"Tests that defining a setter on the prototype of an object used for indexed storage works."
);
function Cons() {
}
var ouches = 0;
Cons.prototype.__defineSetter__("3", function() { debug("Ouch!"); ouches++; });
function foo() {
var result = new Cons();
result.length = 5;
for (var i = 0; i < result.length; ++i)
result[i] = i;
return result;
}
for (var i = 0; i < 100; ++i)
shouldBe("\"" + Array.prototype.join.apply(foo(), [","]) + "\"", "\"0,1,2,,4\"");
shouldBe("ouches", "100");