diff options
author | William Wennerström <william@wstrm.dev> | 2020-07-21 13:11:50 +0200 |
---|---|---|
committer | William Wennerström <william@wstrm.dev> | 2020-11-16 21:58:10 +0100 |
commit | 1bb6cecee69d5167220a18cc4c125c215784de66 (patch) | |
tree | b5632677f0cf1da803cb73fc3575ac34df834a5b /tests/unittests/test_http_common.c | |
parent | be62b446f778ba6c064d6e054dfb7b5eacb1f1ae (diff) | |
download | profani-tty-1bb6cecee69d5167220a18cc4c125c215784de66.tar.gz |
Fix stubs and move some tests to http_common
Diffstat (limited to 'tests/unittests/test_http_common.c')
-rw-r--r-- | tests/unittests/test_http_common.c | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/unittests/test_http_common.c b/tests/unittests/test_http_common.c new file mode 100644 index 00000000..195f370b --- /dev/null +++ b/tests/unittests/test_http_common.c @@ -0,0 +1,75 @@ +#include <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> + +#include "config.h" + +#include "tools/http_common.c" + +typedef struct +{ + char* url; + char* basename; +} url_test_t; + +void +http_basename_from_url_td(void** state) +{ + int num_tests = 11; + url_test_t tests[] = { + (url_test_t){ + .url = "https://host.test/image.jpeg", + .basename = "image.jpeg", + }, + (url_test_t){ + .url = "https://host.test/image.jpeg#somefragment", + .basename = "image.jpeg", + }, + (url_test_t){ + .url = "https://host.test/image.jpeg?query=param", + .basename = "image.jpeg", + }, + (url_test_t){ + .url = "https://host.test/image.jpeg?query=param&another=one", + .basename = "image.jpeg", + }, + (url_test_t){ + .url = "https://host.test/images/", + .basename = "images", + }, + (url_test_t){ + .url = "https://host.test/images/../../file", + .basename = "file", + }, + (url_test_t){ + .url = "https://host.test/images/../../file/..", + .basename = "index.html", + }, + (url_test_t){ + .url = "https://host.test/images/..//", + .basename = "index.html", + }, + (url_test_t){ + .url = "https://host.test/", + .basename = "index.html", + }, + (url_test_t){ + .url = "https://host.test", + .basename = "index.html", + }, + (url_test_t){ + .url = "aesgcm://host.test", + .basename = "index.html", + }, + }; + + char* basename; + for (int i = 0; i < num_tests; i++) { + basename = http_basename_from_url(tests[i].url); + assert_string_equal(basename, tests[i].basename); + } +} |