summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js')
-rw-r--r--js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js b/js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js
new file mode 100644
index 0000000000..2198498818
--- /dev/null
+++ b/js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A7.3_T2.js
@@ -0,0 +1,36 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: Return sign * Result(17)
+esid: sec-parseint-string-radix
+description: Checking algorithm for R = 2
+---*/
+
+assert.sameValue(parseInt("-1", 2), -1, 'parseInt("-1", 2) must return -1');
+assert.sameValue(parseInt("-11", 2), -3, 'parseInt("-11", 2) must return -3');
+assert.sameValue(parseInt("-111", 2), -7, 'parseInt("-111", 2) must return -7');
+assert.sameValue(parseInt("-1111", 2), -15, 'parseInt("-1111", 2) must return -15');
+assert.sameValue(parseInt("-11111", 2), -31, 'parseInt("-11111", 2) must return -31');
+assert.sameValue(parseInt("-111111", 2), -63, 'parseInt("-111111", 2) must return -63');
+assert.sameValue(parseInt("-1111111", 2), -127, 'parseInt("-1111111", 2) must return -127');
+assert.sameValue(parseInt("-11111111", 2), -255, 'parseInt("-11111111", 2) must return -255');
+assert.sameValue(parseInt("-111111111", 2), -511, 'parseInt("-111111111", 2) must return -511');
+assert.sameValue(parseInt("-1111111111", 2), -1023, 'parseInt("-1111111111", 2) must return -1023');
+assert.sameValue(parseInt("-11111111111", 2), -2047, 'parseInt("-11111111111", 2) must return -2047');
+assert.sameValue(parseInt("-111111111111", 2), -4095, 'parseInt("-111111111111", 2) must return -4095');
+assert.sameValue(parseInt("-1111111111111", 2), -8191, 'parseInt("-1111111111111", 2) must return -8191');
+assert.sameValue(parseInt("-11111111111111", 2), -16383, 'parseInt("-11111111111111", 2) must return -16383');
+assert.sameValue(parseInt("-111111111111111", 2), -32767, 'parseInt("-111111111111111", 2) must return -32767');
+assert.sameValue(parseInt("-1111111111111111", 2), -65535, 'parseInt("-1111111111111111", 2) must return -65535');
+assert.sameValue(parseInt("-11111111111111111", 2), -131071, 'parseInt("-11111111111111111", 2) must return -131071');
+assert.sameValue(parseInt("-111111111111111111", 2), -262143, 'parseInt("-111111111111111111", 2) must return -262143');
+assert.sameValue(parseInt("-1111111111111111111", 2), -524287, 'parseInt("-1111111111111111111", 2) must return -524287');
+
+assert.sameValue(
+ parseInt("-11111111111111111111", 2),
+ -1048575,
+ 'parseInt("-11111111111111111111", 2) must return -1048575'
+);
+
+reportCompare(0, 0);