// for-in loops on Maps and Sets enumerate properties. | |
var test = function test(obj) { | |
assertEq(Object.keys(obj).length, 0); | |
var i = 0, v; | |
for (v in obj) | |
i++; | |
assertEq(i, 0); | |
obj.ownProp = 1; | |
assertEq(Object.keys(obj).join(), "ownProp"); | |
for (v in obj) | |
i++; | |
assertEq(i, 1); | |
assertEq(v, "ownProp"); | |
delete obj.ownProp; | |
}; | |
test(Map.prototype); | |
test(new Map); | |
test(Set.prototype); | |
test(new Set); |