1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/collections/constructor-errors.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,23 @@ 1.4 +// The Set constructor throws TypeError when passed a non-iterable argument. 1.5 + 1.6 +load(libdir + "asserts.js"); 1.7 + 1.8 +function argsobj() { return arguments; } 1.9 + 1.10 +var misc = [ 1.11 + {}, {x: 1}, Math, isNaN, 1.12 + Object.create(null), 1.13 + argsobj(0, 1, 2), 1.14 + null, 1.15 + true, 0, 3.1416, 1.16 + new Boolean(true), new Number(0), 1.17 + {iterator: function () { return undefined; }}, 1.18 + {iterator: function () { return null; }}, 1.19 + {iterator: function () { return true; }}, 1.20 + {iterator: function () { return 17; }}, 1.21 +]; 1.22 + 1.23 +for (var v of misc) { 1.24 + assertThrowsInstanceOf(function () { Set(v); }, TypeError); 1.25 + assertThrowsInstanceOf(function () { Map(v); }, TypeError); 1.26 +} 1.27 \ No newline at end of file