summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js b/js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js
new file mode 100644
index 0000000000..967f7fac3c
--- /dev/null
+++ b/js/src/tests/non262/Tuple/prototype/valueOf/valueOf.js
@@ -0,0 +1,23 @@
+// |reftest| skip-if(!this.hasOwnProperty("Tuple"))
+/*
+8.2.3.3 Tuple.prototype.valueOf ( )
+When the valueOf function is called, the following steps are taken:
+
+1. Return ? thisTupleValue(this value).
+*/
+
+var valueOf = Tuple.prototype.valueOf;
+assertEq(typeof valueOf, 'function');
+
+var tup = #[1,2,3];
+assertEq(valueOf.call(tup), tup);
+assertEq(valueOf.call(Object(tup)), tup);
+assertThrowsInstanceOf(() => valueOf.call("monkeys"), TypeError,
+ "this is not Tuple");
+assertThrowsInstanceOf(() => valueOf.call({}), TypeError,
+ "this is not Tuple");
+assertThrowsInstanceOf(() => valueOf.call(new Object(1)), TypeError,
+ "this is not Tuple");
+
+
+reportCompare(0, 0);