chiark
/
gitweb
/
~mdw
/
disorder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6f4d1e2
)
more thorough kvp.c testing
author
Richard Kettlewell
<rjk@greenend.org.uk>
Fri, 30 Nov 2007 18:58:35 +0000
(18:58 +0000)
committer
Richard Kettlewell
<rjk@greenend.org.uk>
Fri, 30 Nov 2007 18:58:35 +0000
(18:58 +0000)
lib/test.c
patch
|
blob
|
blame
|
history
diff --git
a/lib/test.c
b/lib/test.c
index 781a1fc5fe7fe34859b7782447d8eff0048746ba..635c2457fecb5c3ae5891ab0420e8688085311b9 100644
(file)
--- a/
lib/test.c
+++ b/
lib/test.c
@@
-818,8
+818,10
@@
static void test_wstat(void) {
static void test_kvp(void) {
struct kvp *k;
static void test_kvp(void) {
struct kvp *k;
+ size_t n;
fprintf(stderr, "test_kvp\n");
fprintf(stderr, "test_kvp\n");
+ /* decoding */
#define KVP_URLDECODE(S) kvp_urldecode((S), strlen(S))
insist(KVP_URLDECODE("=%zz") == 0);
insist(KVP_URLDECODE("=%0") == 0);
#define KVP_URLDECODE(S) kvp_urldecode((S), strlen(S))
insist(KVP_URLDECODE("=%zz") == 0);
insist(KVP_URLDECODE("=%0") == 0);
@@
-838,7
+840,19
@@
static void test_kvp(void) {
check_string(kvp_get(k, "bar"), "spong");
insist(kvp_get(k, "ONE") == 0);
insist(k->next->next == 0);
check_string(kvp_get(k, "bar"), "spong");
insist(kvp_get(k, "ONE") == 0);
insist(k->next->next == 0);
- /* TODO test encoding too */
+ /* encoding */
+ insist(kvp_set(&k, "bar", "spong") == 0);
+ insist(kvp_set(&k, "bar", "foo") == 1);
+ insist(kvp_set(&k, "zog", "%") == 1);
+ insist(kvp_set(&k, "wibble", 0) == 1);
+ insist(kvp_set(&k, "wibble", 0) == 0);
+ check_string(kvp_urlencode(k, 0),
+ "bar=foo&zog=%25");
+ check_string(kvp_urlencode(k, &n),
+ "bar=foo&zog=%25");
+ insist(n == strlen("bar=foo&zog=%25"));
+ check_string(urlencodestring("abc% +\n"),
+ "abc%25%20%2b%0a");
}
int main(void) {
}
int main(void) {