]> git.draconx.ca Git - cdecl99.git/blobdiff - tests/internal.at
tests: Work around some ancient printf bugs.
[cdecl99.git] / tests / internal.at
index 9012c156d1d21314a2dafa8dc4e98474d503e95d..3fa785a6055f1e8210ed6ee672d37b5d8f49ce60 100644 (file)
@@ -73,3 +73,43 @@ AT_CLEANUP
 
 TEST_TAP_SIMPLE([cdecl__err sanity], [cdeclerr],
   [TEST_NEED_PROGRAM([cdeclerr])], [libcdecl internal])
+
+AT_SETUP([cdecl_declare truncation])
+AT_KEYWORDS([libcdecl internal])
+
+AT_DATA([input],
+[[int hello_world
+int x[1234567890]
+]])
+
+AT_CHECK([rendertest -n 0 <input], [0],
+[[15
+17
+]])
+
+AT_CHECK([rendertest -n 10 <input], [0],
+[[15 int hello
+17 int x@<:@123
+]])
+
+AT_CLEANUP
+
+AT_SETUP([cdecl_explain truncation])
+AT_KEYWORDS([libcdecl internal])
+
+AT_DATA([input],
+[[declare x as int
+type array 123456789 of int
+]])
+
+AT_CHECK([rendertest --english -n 0 <input], [0],
+[[16
+27
+]])
+
+AT_CHECK([rendertest --english -n 15 <input], [0],
+[[16 declare x as i
+27 type array 123
+]])
+
+AT_CLEANUP