Testing all methods of IterableWeakSet. == Running test suite: IterableWeakSet -- Running test case: IterableWeakSet.prototype.constructor.Empty [] -- Running test case: IterableWeakSet.prototype.constructor.NonEmpty [{"value":1},{"value":2},{"value":3}] -- Running test case: IterableWeakSet.prototype.has [{"value":1},{"value":2},{"value":3}] PASS: 'has' should return true if a key exists. PASS: 'has' should return true if a key exists (more than once). PASS: 'has' should return true if a key exists. PASS: 'has' should return false if a key doesn't exist. -- Running test case: IterableWeakSet.prototype.add [] [{"value":1}] [{"value":1},{"value":2}] [{"value":1},{"value":2},{"value":3}] [{"value":1},{"value":2},{"value":3}] -- Running test case: IterableWeakSet.prototype.delete [{"value":1},{"value":2},{"value":3}] PASS: 'delete' should return true for a known key. [{"value":2},{"value":3}] PASS: 'delete' should return true for a known key. [{"value":3}] PASS: 'delete' should return false for an already deleted key. [{"value":3}] PASS: 'delete' should return true for a known key. [] PASS: 'delete' should return false for an unknown key. [] -- Running test case: IterableWeakSet.prototype.take [{"value":1},{"value":2},{"value":3}] PASS: 'take' should return the key for a known key. [{"value":2},{"value":3}] PASS: 'take' should return the key for a known key. [{"value":3}] PASS: 'take' should return undefined for an already deleted key. [{"value":3}] PASS: 'take' should return the key for a known key. [] PASS: 'take' should return undefined for an unknown key. [] -- Running test case: IterableWeakSet.prototype.clear [{"value":1},{"value":2},{"value":3}] [] -- Running test case: IterableWeakSet.prototype.keys [{"value":1},{"value":2},{"value":3}] -- Running test case: IterableWeakSet.prototype.values [{"value":1},{"value":2},{"value":3}] -- Running test case: IterableWeakSet.prototype.copy [{"value":1},{"value":2},{"value":3}] PASS: Copy should not return the same object. PASS: Copy should return a deep copy. PASS: Modifying the original should not modify the copy. -- Running test case: IterableWeakSet.DoesNotKeepObjectsAlive Evaluating `IterableWeakSet` source in the inspected page... Testing `IterableWeakSet` in the inspected page... [{"value":1},{"value":2},{"value":3}] PASS: 'has' should return true for '{"value":1}' after construction. PASS: 'has' should return true for '{"value":2}' after construction. PASS: 'has' should return true for '{"value":3}' after construction. [{"value":2},{"value":3}] PASS: Should not contain '{"value": 1}' after `one = null`. PASS: 'has' should return true for '{"value":2}' after `one = null`. PASS: 'has' should return true for '{"value":3}' after `one = null`. [{"value":3}] PASS: Should not contain '{"value": 1}' after `two = null`. PASS: Should not contain '{"value": 2}' after `two = null`. PASS: 'has' should return true for '{"value":3}' after `two = null`. [] PASS: Should not contain '{"value": 1}' after `three = null`. PASS: Should not contain '{"value": 2}' after `three = null`. PASS: Should not contain '{"value": 3}' after `three = null`.