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