Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(581)

Unified Diff: test/mjsunit/harmony/numeric-literals.js

Issue 587873002: ES6: Disallow binary and octal representation in Number (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/runtime.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/harmony/numeric-literals.js
diff --git a/test/mjsunit/harmony/numeric-literals.js b/test/mjsunit/harmony/numeric-literals.js
index 7300f3e47edd9918d175f93f9dc041ca35ec4de1..40c341b8b090deabe9316850b839f8d71f8282c4 100644
--- a/test/mjsunit/harmony/numeric-literals.js
+++ b/test/mjsunit/harmony/numeric-literals.js
@@ -27,61 +27,72 @@
// Flags: --harmony-numeric-literals
-function TestOctalLiteral() {
+(function TestOctalLiteral() {
assertEquals(0, 0o0);
assertEquals(0, 0O0);
assertEquals(1, 0o1);
assertEquals(7, 0o7);
assertEquals(8, 0o10);
assertEquals(63, 0o77);
-}
-TestOctalLiteral();
+})();
-function TestOctalLiteralUsingNumberFunction() {
- assertEquals(0, Number('0o0'));
- assertEquals(0, Number('0O0'));
- assertEquals(1, Number('0o1'));
- assertEquals(7, Number('0o7'));
- assertEquals(8, Number('0o10'));
- assertEquals(63, Number('0o77'));
-}
-TestOctalLiteralUsingNumberFunction();
+(function TestOctalLiteralUsingNumberFunction() {
+ assertSame(NaN, Number('0o0'));
+ assertSame(NaN, Number('0O0'));
+ assertSame(NaN, Number('0o1'));
+ assertSame(NaN, Number('0o7'));
+ assertSame(NaN, Number('0o10'));
+ assertSame(NaN, Number('0o77'));
+})();
-function TestBinaryLiteral() {
+(function TestOctalLiteralUsingImplicitToNumber() {
+ assertSame(NaN, +'0o0');
+ assertSame(NaN, +'0O0');
+ assertSame(NaN, +'0o1');
+ assertSame(NaN, +'0o7');
+ assertSame(NaN, +'0o10');
+ assertSame(NaN, +'0o77');
+})();
+
+
+(function TestBinaryLiteral() {
assertEquals(0, 0b0);
assertEquals(0, 0B0);
assertEquals(1, 0b1);
assertEquals(2, 0b10);
assertEquals(3, 0b11);
-}
-TestBinaryLiteral();
+})();
+
+
+(function TestBinaryLiteralUsingNumberFunction() {
+ assertSame(NaN, Number('0b0'));
+ assertSame(NaN, Number('0B0'));
+ assertSame(NaN, Number('0b1'));
+ assertSame(NaN, Number('0b10'));
+ assertSame(NaN, Number('0b11'));
+})();
-function TestBinaryLiteralUsingNumberFunction() {
- assertEquals(0, Number('0b0'));
- assertEquals(0, Number('0B0'));
- assertEquals(1, Number('0b1'));
- assertEquals(2, Number('0b10'));
- assertEquals(3, Number('0b11'));
-}
-TestBinaryLiteralUsingNumberFunction();
+(function TestBinaryLiteralUsingImplicitToNumber() {
+ assertSame(NaN, +'0b0');
+ assertSame(NaN, +'0B0');
+ assertSame(NaN, +'0b1');
+ assertSame(NaN, +'0b10');
+ assertSame(NaN, +'0b11');
+})();
-// parseInt should (probably) not support 0b and 0o.
-// https://bugs.ecmascript.org/show_bug.cgi?id=1585
-function TestParseIntDoesNotSupportOctalNorBinary() {
+(function TestParseIntDoesNotSupportOctalNorBinary() {
assertEquals(0, parseInt('0o77'));
assertEquals(0, parseInt('0o77', 8));
assertEquals(0, parseInt('0b11'));
assertEquals(0, parseInt('0b11', 2));
-}
-TestParseIntDoesNotSupportOctalNorBinary();
+})();
-function TestParseFloatDoesNotSupportOctalNorBinary() {
+(function TestParseFloatDoesNotSupportOctalNorBinary() {
assertEquals(0, parseFloat('0o77'));
assertEquals(0, parseFloat('0b11'));
-}
-TestParseFloatDoesNotSupportOctalNorBinary();
+})();
« no previous file with comments | « src/runtime.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698