Source code
Revision control
Copy as Markdown
Other Tools
// vim: set ts=8 sts=4 et sw=4 tw=99:
function testBadSetElems(obj, key) {
obj[key] = 5;
obj[-1] = 5;
var L = obj;
L[L] = L;
obj = [];
obj.K = 5;
obj[2] = 5;
var T = "a";
obj[T] = 12;
obj = [];
obj[Object] = key;
}
function testDenseSets(L) {
var obj = [,,,,,,,,,,];
obj[2] = 2;
assertEq(obj[2], 2);
var T = L;
assertEq(obj[T], 2);
assertEq(obj.length, 10);
obj[10] = T;
assertEq(obj[10], T);
assertEq(obj.length, 11);
var K = T + 9;
obj[K] = K;
assertEq(obj[K], K);
assertEq(obj.length, 12);
obj[K + 1] = obj;
assertEq(obj[K + 1], obj);
assertEq(obj.length, 13);
}
for (var i = 0; i < 10; i++) {
testBadSetElems([], -1);
testDenseSets(2);
}