]> granicus.if.org Git - libevent/commitdiff
regress_http: basic evhttp_parse_query_str() coverage
authorAzat Khuzhin <a3at.mail@gmail.com>
Sat, 27 Oct 2018 14:36:09 +0000 (17:36 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Sat, 27 Oct 2018 14:58:12 +0000 (17:58 +0300)
test/regress_http.c

index 9c7732d92e6caf7dfebf0741cd1399e73c20bae6..a1bd4a8a30b4d8e73b9a987e807d79647ebd5c15 100644 (file)
@@ -2496,6 +2496,27 @@ http_parse_query_test(void *ptr)
        tt_want(validate_header(&headers, "q3", "") == 0);
        evhttp_clear_headers(&headers);
 
+end:
+       evhttp_clear_headers(&headers);
+}
+static void
+http_parse_query_str_test(void *ptr)
+{
+       struct evkeyvalq headers;
+       int r;
+
+       TAILQ_INIT(&headers);
+
+       r = evhttp_parse_query_str("http://www.test.com/?q=test", &headers);
+       tt_assert(evhttp_find_header(&headers, "q") == NULL);
+       tt_int_op(r, ==, 0);
+       evhttp_clear_headers(&headers);
+
+       r = evhttp_parse_query_str("q=test", &headers);
+       tt_want(validate_header(&headers, "q", "test") == 0);
+       tt_int_op(r, ==, 0);
+       evhttp_clear_headers(&headers);
+
 end:
        evhttp_clear_headers(&headers);
 }
@@ -4804,6 +4825,7 @@ struct testcase_t http_testcases[] = {
        { "base", http_base_test, TT_FORK, NULL, NULL },
        { "bad_headers", http_bad_header_test, 0, NULL, NULL },
        { "parse_query", http_parse_query_test, 0, NULL, NULL },
+       { "parse_query_str", http_parse_query_str_test, 0, NULL, NULL },
        { "parse_uri", http_parse_uri_test, 0, NULL, NULL },
        { "parse_uri_nc", http_parse_uri_test, 0, &basic_setup, (void*)"nc" },
        { "uriencode", http_uriencode_test, 0, NULL, NULL },