diff options
Diffstat (limited to 'js/src/tests/non262/Symbol/valueOf.js')
-rw-r--r-- | js/src/tests/non262/Symbol/valueOf.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/non262/Symbol/valueOf.js b/js/src/tests/non262/Symbol/valueOf.js new file mode 100644 index 0000000000..a3823c3ffd --- /dev/null +++ b/js/src/tests/non262/Symbol/valueOf.js @@ -0,0 +1,22 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ */ + +var symbols = [ + Symbol(), + Symbol("ok"), + Symbol.for("dummies"), + Symbol.iterator +]; + +for (var sym of symbols) { + assertEq(sym.valueOf(), sym); + assertEq(Object(sym).valueOf(), sym); +} + +// Any other value throws. +var nonsymbols = [undefined, null, NaN, {}, Symbol.prototype]; +for (var nonsym of nonsymbols) + assertThrowsInstanceOf(() => Symbol.prototype.valueOf.call(nonsym), TypeError); + +if (typeof reportCompare === "function") + reportCompare(0, 0); |