@@ -545,7 +545,10 @@ TEST_CASE("[String] String to integer") {
545545 CHECK (String (nums[i]).to_int () == num[i]);
546546 }
547547 CHECK (String (" 0b1011" ).to_int () == 1011 ); // Looks like a binary number, but to_int() handles this as a base-10 number, "b" is just ignored.
548+ CHECK (String (" 0B1011" ).to_int () == 1011 );
549+
548550 CHECK (String (" 0x1012" ).to_int () == 1012 ); // Looks like a hexadecimal number, but to_int() handles this as a base-10 number, "x" is just ignored.
551+ CHECK (String (" 0X1012" ).to_int () == 1012 );
549552
550553 ERR_PRINT_OFF
551554 CHECK (String (" 999999999999999999999999999999999999999999999999999999999" ).to_int () == INT64_MAX); // Too large, largest possible is returned.
@@ -554,10 +557,10 @@ TEST_CASE("[String] String to integer") {
554557}
555558
556559TEST_CASE (" [String] Hex to integer" ) {
557- static const char *nums[12 ] = { " 0xFFAE" , " 22" , " 0" , " AADDAD" , " 0x7FFFFFFFFFFFFFFF" , " -0xf" , " " , " 000" , " 000f" , " 0xaA" , " -ff" , " -" };
558- static const int64_t num[12 ] = { 0xFFAE , 0x22 , 0 , 0xAADDAD , 0x7FFFFFFFFFFFFFFF , -0xf , 0 , 0 , 0xf , 0xaa , -0xff , 0x0 };
560+ static const char *nums[13 ] = { " 0xFFAE" , " 22" , " 0" , " AADDAD" , " 0x7FFFFFFFFFFFFFFF" , " -0xf" , " " , " 000" , " 000f" , " 0xaA" , " -ff" , " -" , " 0XFFAE " };
561+ static const int64_t num[13 ] = { 0xFFAE , 0x22 , 0 , 0xAADDAD , 0x7FFFFFFFFFFFFFFF , -0xf , 0 , 0 , 0xf , 0xaa , -0xff , 0x0 , 0xFFAE };
559562
560- for (int i = 0 ; i < 12 ; i++) {
563+ for (int i = 0 ; i < 13 ; i++) {
561564 CHECK (String (nums[i]).hex_to_int () == num[i]);
562565 }
563566
@@ -575,10 +578,10 @@ TEST_CASE("[String] Hex to integer") {
575578}
576579
577580TEST_CASE (" [String] Bin to integer" ) {
578- static const char *nums[10 ] = { " " , " 0" , " 0b0" , " 0b1" , " 0b" , " 1" , " 0b1010" , " -0b11" , " -1010" , " 0b0111111111111111111111111111111111111111111111111111111111111111" };
579- static const int64_t num[10 ] = { 0 , 0 , 0 , 1 , 0 , 1 , 10 , -3 , -10 , 0x7FFFFFFFFFFFFFFF };
581+ static const char *nums[11 ] = { " " , " 0" , " 0b0" , " 0b1" , " 0b" , " 1" , " 0b1010" , " -0b11" , " -1010" , " 0b0111111111111111111111111111111111111111111111111111111111111111" , " 0B1010 " };
582+ static const int64_t num[11 ] = { 0 , 0 , 0 , 1 , 0 , 1 , 10 , -3 , -10 , 0x7FFFFFFFFFFFFFFF , 10 };
580583
581- for (int i = 0 ; i < 10 ; i++) {
584+ for (int i = 0 ; i < 11 ; i++) {
582585 CHECK (String (nums[i]).bin_to_int () == num[i]);
583586 }
584587
0 commit comments