diff options
Diffstat (limited to 'js/src/jit-test/tests/collections/WeakSet-error.js')
-rw-r--r-- | js/src/jit-test/tests/collections/WeakSet-error.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/WeakSet-error.js b/js/src/jit-test/tests/collections/WeakSet-error.js new file mode 100644 index 000000000..4125aaba7 --- /dev/null +++ b/js/src/jit-test/tests/collections/WeakSet-error.js @@ -0,0 +1,22 @@ +load(libdir + "asserts.js"); +load(libdir + "iteration.js"); + +function testMethod(name) { + var method = WeakSet.prototype[name]; + + assertThrowsInstanceOf(function() { method.call(1); }, TypeError); + assertThrowsInstanceOf(function() { method.call({}); }, TypeError); + assertThrowsInstanceOf(function() { method.call(new WeakMap); }, TypeError); + assertThrowsInstanceOf(function() { method.call(WeakSet.prototype); }, TypeError); +} + +testMethod("has"); +testMethod("add"); +testMethod("delete"); +testMethod("clear"); + +assertThrowsInstanceOf(function() { var ws = new WeakSet(); ws.add(1); }, TypeError); +assertThrowsInstanceOf(function() { new WeakSet({[Symbol.iterator]: 2}) }, TypeError); +assertEq(typeof [][Symbol.iterator], "function"); + +assertThrowsInstanceOf(function() { WeakSet(); }, TypeError); |