summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/constructor-errors.js
blob: 6a145180f160492c8f916085e8d894f1ce700c80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// The Set constructor throws TypeError when passed a non-iterable argument.

load(libdir + "asserts.js");

var misc = [
    {}, {x: 1}, Math, isNaN,
    Object.create(null),
    true, 0, 3.1416,
    new Boolean(true), new Number(0),
    {iterator: function () { return undefined; }},
    {iterator: function () { return null; }},
    {iterator: function () { return true; }},
    {iterator: function () { return 17; }},
];

for (var v of misc) {
    assertThrowsInstanceOf(function () { new Set(v); }, TypeError);
    assertThrowsInstanceOf(function () { new Map(v); }, TypeError);
}