summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/parseIntTests.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/parseIntTests.js')
-rw-r--r--js/src/jit-test/tests/basic/parseIntTests.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/parseIntTests.js b/js/src/jit-test/tests/basic/parseIntTests.js
new file mode 100644
index 0000000000..4138d07df8
--- /dev/null
+++ b/js/src/jit-test/tests/basic/parseIntTests.js
@@ -0,0 +1,24 @@
+function parseIntHelper(n) {
+ var a;
+ for (var i = 0; i < 5; i++)
+ a = parseInt(n);
+ return a;
+}
+function doParseIntTests() {
+ var inputs = [0, -0, .1, -.1, .7, -.7, 1.3, -1.3];
+ var outputs = new Array(8);
+ //avoid jit, unrolled
+ outputs[0] = outputs[1] = outputs[2] = outputs[4] = 0;
+ outputs[3] = outputs[5] = -0;
+ outputs[6] = 1;
+ outputs[7] = -1;
+ for (var i = 0; i < 8; i++) {
+ var n = Object.is(inputs[i], -0) ? "-0" : String(inputs[i]);
+ var testfn = new Function('return parseIntHelper(' + n + ');');
+ assertEq(testfn(), outputs[i]);
+ }
+}
+doParseIntTests();
+
+assertEq(parseInt("08"), 8);
+assertEq(parseInt("09"), 9);