- 10 "" 0 0; # Empty string fails
- 10 foo 0 0; # Non-numeric character
- 10 134f 10 134; # Stop parsing when reaching `f'
- 4 12345 10 27; # Stop parsing when reaching `4'
- 0 37_ 10 37; # 37 is an invalid base, so stop at `_'
- 0 36_ 0 0; # 36 is a valid base, so restart and fail
+ 10 "" 0 0 ""; # Empty string fails
+ 10 foo 0 0 "foo"; # Non-numeric character
+ 10 134f 10 134 "f"; # Stop parsing when reaching `f'
+ 4 12345 10 27 "45"; # Stop parsing when reaching `4'
+ 0 63_ 10 63 "_"; # 37 is an invalid base, so stop at `_'
+ 0 36_ 0 0 ""; # 36 is a valid base, so restart and fail
+
+ # --- Big bases ---
+
+ 62 0 10 0 "";
+ 10 0 62 0 "";
+ 36 A 10 10 "";
+ 36 Z 10 35 "";
+ 37 A 10 36 "";
+ 10 36 37 A "";
+ 62 Z 10 61 "";
+
+ 0 36_a 10 10 "";
+ 0 36_A 10 10 "";
+ 0 37_A 10 36 "";
+
+ 0 0x10 10 16 "";
+ 0 0o10 10 8 "";
+ 0 0b10 10 2 "";
+ 0 010 10 8 "";
+
+ # --- Word-boundary tests for binary-radix translation ---
+
+ 0 0 16 0 "";
+ 8 1234567012 8 1234567012 "";
+ 8 12345670123 8 12345670123 "";
+ 8 123456701234 8 123456701234 "";
+
+ 16 1234567 16 1234567 "";
+ 16 12345678 16 12345678 "";
+ 16 123456789 16 123456789 "";
+
+ 10 -4009356060 16 -eef9eb1c "";
+
+ # --- Cussidness ---
+
+ 0 -0 10 0 "";