Command line interface now takes more human-friendly timestamps. This
[disorder] / lib / t-kvp.c
index b6bcc3d..d463350 100644 (file)
  */
 #include "test.h"
 
-void test_kvp(void) {
+static void test_kvp(void) {
   struct kvp *k;
   size_t n;
   
-  fprintf(stderr, "test_kvp\n");
   /* decoding */
 #define KVP_URLDECODE(S) kvp_urldecode((S), strlen(S))
+  fprintf(stderr, "5 ERROR reports expected {\n");
   insist(KVP_URLDECODE("=%zz") == 0);
   insist(KVP_URLDECODE("=%0") == 0);
   insist(KVP_URLDECODE("=%0z") == 0);
   insist(KVP_URLDECODE("=%%") == 0);
   insist(KVP_URLDECODE("==%") == 0);
+  fprintf(stderr, "}\n");
   insist(KVP_URLDECODE("wibble") == 0);
   insist(KVP_URLDECODE("") == 0);
   insist(KVP_URLDECODE("wibble&") == 0);
@@ -56,8 +57,13 @@ void test_kvp(void) {
   insist(n == strlen("bar=foo&zog=%25"));
   check_string(urlencodestring("abc% +\n"),
                "abc%25%20%2b%0a");
+  check_integer(urldecode(sink_error(), "bar=foo", 7), -1);
+  check_integer(urlencode(sink_error(), "wibble", 7), -1);
+  check_integer(urlencode(sink_error(), " ", 1), -1);
 }
 
+TEST(kvp);
+
 /*
 Local Variables:
 c-basic-offset:2