Source code

Revision control

Copy as Markdown

Other Tools

function maybeFreeze(arr, b) {
with(this) {}; // Don't inline this.
if (b) {
Object.freeze(arr);
}
}
function test() {
var arr = [];
for (var i = 0; i < 1800; i++) {
maybeFreeze(arr, i > 1500);
try {
arr.push(2);
assertEq(i <= 1500, true);
} catch(e) {
assertEq(e instanceof TypeError, true);
}
}
}
test();