// Set.clear is unaffected by deleting/monkeypatching Set.prototype.{delete,iterator}. var data = ["a", 1, {}]; var s1 = new Set(data), s2 = new Set(data); delete Set.prototype.delete; delete Set.prototype.iterator; s1.clear(); assertEq(s1.size, 0); Set.prototype.delete = function () { throw "FAIL"; }; Set.prototype.iterator = function () { throw "FAIL"; }; s2.clear(); assertEq(s2.size, 0);