michael@0: // Map(arr) throws if arr contains holes (or undefined values). michael@0: michael@0: load(libdir + "asserts.js"); michael@0: assertThrowsInstanceOf(function () { Map([undefined]); }, TypeError); michael@0: assertThrowsInstanceOf(function () { Map([null]); }, TypeError); michael@0: assertThrowsInstanceOf(function () { Map([[0, 0], [1, 1], , [3, 3]]); }, TypeError); michael@0: assertThrowsInstanceOf(function () { Map([[0, 0], [1, 1], ,]); }, TypeError); michael@0: michael@0: // Map(iterable) throws if iterable doesn't have array-like objects michael@0: michael@0: assertThrowsInstanceOf(function () { Map([1, 2, 3]); }, TypeError); michael@0: assertThrowsInstanceOf(function () { michael@0: let s = new Set([1, 2, "abc"]); michael@0: new Map(s); michael@0: }, TypeError);