summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Array-of-surfaces.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/collections/Array-of-surfaces.js')
-rw-r--r--js/src/jit-test/tests/collections/Array-of-surfaces.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Array-of-surfaces.js b/js/src/jit-test/tests/collections/Array-of-surfaces.js
new file mode 100644
index 0000000000..88edfacdb2
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Array-of-surfaces.js
@@ -0,0 +1,14 @@
+// Check superficial features of Array.of.
+
+load(libdir + "asserts.js");
+
+var desc = Object.getOwnPropertyDescriptor(Array, "of");
+assertEq(desc.configurable, true);
+assertEq(desc.enumerable, false);
+assertEq(desc.writable, true);
+assertEq(Array.of.length, 0);
+assertThrowsInstanceOf(() => new Array.of(), TypeError); // not a constructor
+
+// When the this-value passed in is not a constructor, the result is an array.
+for (let v of [undefined, null, false, "cow"])
+ assertEq(Array.isArray(Array.of.call(v)), true);