summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Array/toString-01.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/tests/non262/Array/toString-01.js
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/non262/Array/toString-01.js')
-rw-r--r--js/src/tests/non262/Array/toString-01.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/js/src/tests/non262/Array/toString-01.js b/js/src/tests/non262/Array/toString-01.js
new file mode 100644
index 0000000000..a92fe6369b
--- /dev/null
+++ b/js/src/tests/non262/Array/toString-01.js
@@ -0,0 +1,52 @@
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ * Contributor:
+ * Jeff Walden <jwalden+code@mit.edu>
+ */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 562446;
+var summary = 'ES5: Array.prototype.toString';
+
+print(BUGNUMBER + ": " + summary);
+
+/**************
+ * BEGIN TEST *
+ **************/
+
+var o;
+
+o = { join: function() { assertEq(arguments.length, 0); return "ohai"; } };
+assertEq(Array.prototype.toString.call(o), "ohai");
+
+o = {};
+assertEq(Array.prototype.toString.call(o), "[object Object]");
+
+Array.prototype.join = function() { return "kthxbai"; };
+assertEq(Array.prototype.toString.call([]), "kthxbai");
+
+o = { join: 17 };
+assertEq(Array.prototype.toString.call(o), "[object Object]");
+
+o = { get join() { throw 42; } };
+try
+{
+ var str = Array.prototype.toString.call(o);
+ assertEq(true, false,
+ "expected an exception calling [].toString on an object with a " +
+ "join getter that throws, got " + str + " instead");
+}
+catch (e)
+{
+ assertEq(e, 42,
+ "expected thrown e === 42 when calling [].toString on an object " +
+ "with a join getter that throws, got " + e);
+}
+
+/******************************************************************************/
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);
+
+print("All tests passed!");