|
1 // The Set constructor throws TypeError when passed a non-iterable argument. |
|
2 |
|
3 load(libdir + "asserts.js"); |
|
4 |
|
5 function argsobj() { return arguments; } |
|
6 |
|
7 var misc = [ |
|
8 {}, {x: 1}, Math, isNaN, |
|
9 Object.create(null), |
|
10 argsobj(0, 1, 2), |
|
11 null, |
|
12 true, 0, 3.1416, |
|
13 new Boolean(true), new Number(0), |
|
14 {iterator: function () { return undefined; }}, |
|
15 {iterator: function () { return null; }}, |
|
16 {iterator: function () { return true; }}, |
|
17 {iterator: function () { return 17; }}, |
|
18 ]; |
|
19 |
|
20 for (var v of misc) { |
|
21 assertThrowsInstanceOf(function () { Set(v); }, TypeError); |
|
22 assertThrowsInstanceOf(function () { Map(v); }, TypeError); |
|
23 } |