haikuwebkit/LayoutTests/js/script-tests/map-repack-with-object-keys.js

31 lines
788 B
JavaScript

description("Tests to make sure we correctly repack a Map with object keys");
var map = new Map();
function Obj(n) { this.n = n; }
map.set(new Obj(0), []);
map.set(new Obj(1), []);
map.set(new Obj(2), []);
map.set(new Obj(3), []);
map.set(new Obj(4), []);
map.set(new Obj(5), []);
map.set(new Obj(6), []);
map.set(new Obj(7), []);
var newObject1 = new Obj(8);
var newObject2 = new Obj(9);
map.set(newObject1, []);
map.set(newObject2, []);
map.delete(newObject1);
map.delete(newObject2);
map.set(newObject1, []);
map.set(newObject2, []);
map.delete(newObject1);
map.delete(newObject2);
map.set(newObject1, []);
shouldBeTrue("Array.isArray(map.get(newObject1))");
map.set(newObject2, []);
shouldBeTrue("Array.isArray(map.get(newObject1))"); // ensure pre-existing value is still good.