X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/8a7ccdfe933e3c22b38c029c07450a6c6f3b25ec..36bde473fdfeb75de65fb7b1920a6fb137f32f3c:/lib/test.c diff --git a/lib/test.c b/lib/test.c index c3e4c34..61b63fd 100644 --- a/lib/test.c +++ b/lib/test.c @@ -61,6 +61,8 @@ #include "split.h" #include "configuration.h" #include "addr.h" +#include "base64.h" +#include "url.h" static int tests, errors; static int fail_first; @@ -1370,6 +1372,8 @@ static void test_addr(void) { 0 }; + printf("test_addr\n"); + a.n = 1; a.s = (char **)s; s[0] = "smtp"; @@ -1401,6 +1405,26 @@ static void test_addr(void) { check_string(name, "host localhost service nntp"); } +static void test_url(void) { + struct url p; + + printf("test_url\n"); + + insist(parse_url("http://www.example.com/example/path", &p) == 0); + check_string(p.scheme, "http"); + check_string(p.host, "www.example.com"); + insist(p.port == -1); + check_string(p.path, "/example/path"); + insist(p.query == 0); + + insist(parse_url("https://www.example.com:82/example%2fpath?+query+", &p) == 0); + check_string(p.scheme, "https"); + check_string(p.host, "www.example.com"); + insist(p.port == 82); + check_string(p.path, "/example/path"); + check_string(p.query, "+query+"); +} + int main(void) { mem_init(); fail_first = !!getenv("FAIL_FIRST"); @@ -1467,6 +1491,7 @@ int main(void) { /* selection.c */ test_selection(); test_hash(); + test_url(); fprintf(stderr, "%d errors out of %d tests\n", errors, tests); return !!errors; }