| // WeakMap can take an argument that is an array of singleton arrays. |
| |
| var k1 = {}; |
| var k2 = {}; |
| var k3 = {}; |
| |
| var arr = [[k1], [k2]]; |
| |
| var m = new WeakMap(arr); |
| |
| assertEq(m.has(k1), true); |
| assertEq(m.has(k2), true); |
| assertEq(m.has(k3), false); |
| assertEq(m.get(k1), undefined); |
| assertEq(m.get(k2), undefined); |
| assertEq(m.get(k3), undefined); |
| |
| var arraylike1 = { |
| 0: k1, |
| 1: undefined |
| }; |
| var arraylike2 = { |
| 0: k2, |
| }; |
| |
| arr = [arraylike1, arraylike2]; |
| |
| m = new WeakMap(arr); |
| |
| assertEq(m.has(k1), true); |
| assertEq(m.has(k2), true); |
| assertEq(m.has(k3), false); |
| assertEq(m.get(k1), undefined); |
| assertEq(m.get(k2), undefined); |
| assertEq(m.get(k3), undefined); |