summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/for-of/array-iterator-null.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/for-of/array-iterator-null.js')
-rw-r--r--js/src/jit-test/tests/for-of/array-iterator-null.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/for-of/array-iterator-null.js b/js/src/jit-test/tests/for-of/array-iterator-null.js
new file mode 100644
index 000000000..6382f0701
--- /dev/null
+++ b/js/src/jit-test/tests/for-of/array-iterator-null.js
@@ -0,0 +1,11 @@
+// Array.prototype.iterator applied to undefined or null throws directly.
+
+load(libdir + "asserts.js");
+load(libdir + "iteration.js");
+
+for (var v of [undefined, null]) {
+ // ES6 draft 2013-09-05 section 22.1.5.1.
+ assertThrowsInstanceOf(function () { Array.prototype[Symbol.iterator].call(v); }, TypeError);
+ assertThrowsInstanceOf(function () { Array.prototype.keys.call(v); }, TypeError);
+ assertThrowsInstanceOf(function () { Array.prototype.entries.call(v); }, TypeError);
+}