Fix fencepost bugs in binary radix writing.
[u/mdw/catacomb] / tests / mptext
index 1d9168a..db6ed83 100644 (file)
@@ -1,6 +1,6 @@
 # Test vectors for MP textual I/O
 #
-# $Id: mptext,v 1.7 2001/06/16 13:22:40 mdw Exp $
+# $Id: mptext,v 1.10 2002/10/15 19:18:15 mdw Exp $
 
 mptext-ascii {
   # --- Perfectly valid things ---
@@ -25,11 +25,31 @@ mptext-ascii {
   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 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;
@@ -38,6 +58,8 @@ mptext-ascii {
   16 12345678                          16 12345678;
   16 123456789                         16 123456789;
 
+  10 -4009356060                       16 -eef9eb1c;
+
   # --- Bugs ---
 
   16 84d192cd06ae59691897fa409da6198d5269325d