summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/cacheir/number-toString.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/cacheir/number-toString.js')
-rw-r--r--js/src/jit-test/tests/cacheir/number-toString.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/cacheir/number-toString.js b/js/src/jit-test/tests/cacheir/number-toString.js
new file mode 100644
index 0000000000..ed076a6753
--- /dev/null
+++ b/js/src/jit-test/tests/cacheir/number-toString.js
@@ -0,0 +1,44 @@
+function int32() {
+ var n = 42;
+ for (var i = 0; i < 100; i++) {
+ assertEq(n.toString(), "42");
+ }
+}
+
+function double() {
+ var n = 3.14;
+ for (var i = 0; i < 100; i++) {
+ assertEq(n.toString(), "3.14");
+ }
+}
+
+function number() {
+ var n = 1;
+ for (var i = 0; i < 100; i++) {
+ assertEq(n.toString(), i > 50 ? "3.14" : "1");
+ if (i == 50) {
+ n = 3.14;
+ }
+ }
+}
+
+function obj() {
+ var o = new Number(42);
+ for (var i = 0; i < 100; i++) {
+ assertEq(o.toString(), "42");
+ }
+}
+
+function overwritten() {
+ Number.prototype.toString = () => "haha";
+ var n = 42;
+ for (var i = 0; i < 100; i++) {
+ assertEq(n.toString(), "haha");
+ }
+}
+
+int32();
+double();
+number();
+obj();
+overwritten();