summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js')
-rw-r--r--js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js b/js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js
new file mode 100644
index 0000000000..f43642e0f8
--- /dev/null
+++ b/js/src/tests/non262/Symbol/toPrimitive-undefined-or-null.js
@@ -0,0 +1,18 @@
+for (let method of [undefined, null]) {
+ let obj = {
+ [Symbol.toPrimitive]: method,
+ toString: () => "pass",
+ };
+ assertEq("" + obj, "pass");
+}
+
+for (let method of [true, false, 0, 123, "", "abc", Symbol(), {}]) {
+ let obj = {
+ [Symbol.toPrimitive]: method,
+ toString: () => "pass",
+ };
+ assertThrowsInstanceOf(() => "" + obj, TypeError);
+}
+
+if (typeof reportCompare === "function")
+ reportCompare(0, 0);