diff options
Diffstat (limited to 'js/src/jit-test/tests/collections/WeakMap-constructor-3.js')
-rw-r--r-- | js/src/jit-test/tests/collections/WeakMap-constructor-3.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/WeakMap-constructor-3.js b/js/src/jit-test/tests/collections/WeakMap-constructor-3.js new file mode 100644 index 0000000000..ab18a2151e --- /dev/null +++ b/js/src/jit-test/tests/collections/WeakMap-constructor-3.js @@ -0,0 +1,35 @@ +// 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); |