From 1104bc65bd8e1145a151ebdf84d29d0213e9d062 Mon Sep 17 00:00:00 2001 From: Hubert Tarasiuk Date: Tue, 23 Jun 2015 16:46:39 +0200 Subject: [PATCH 7/9] Unit test for has_key. * src/http.c: Add test_has_key. * src/test.c (main): Run new test. * src/test.h: Add test_has_key. --- src/http.c | 32 ++++++++++++++++++++++++++++++++ src/test.c | 1 + src/test.h | 1 + 3 files changed, 34 insertions(+) diff --git a/src/http.c b/src/http.c index 347a249..0d652d6 100644 --- a/src/http.c +++ b/src/http.c @@ -5049,6 +5049,38 @@ test_find_key_value (void) } const char * +test_has_key (void) +{ + static const char *header_data = "key1=val2;token1;xyz; token2;xyz;token3 ;"\ + "xyz; token4 ;xyz; token5 "; + struct + { + const char *token; + bool result; + } test_array[] = + { + { "key1=val2", true }, + { "token1", true }, + { "token2", true }, + { "token3", true }, + { "token4", true }, + { "token5", true }, + { "token6", false }, + { "oken1", false }, + { "poken1", false }, + { "key1=val2", true } + }; + size_t i; + + for (i = 0; i < countof (test_array); ++i) + mu_assert ("test_has_key: wrong result", + has_key (header_data, header_data + strlen (header_data), + test_array[i].token) == test_array[i].result); + + return NULL; +} + +const char * test_parse_content_disposition(void) { unsigned i; diff --git a/src/test.c b/src/test.c index 2c7d4db..9a76f4c 100644 --- a/src/test.c +++ b/src/test.c @@ -59,6 +59,7 @@ static const char * all_tests(void) { mu_run_test (test_find_key_value); + mu_run_test (test_has_key); mu_run_test (test_parse_content_disposition); mu_run_test (test_subdir_p); mu_run_test (test_dir_matches_p); diff --git a/src/test.h b/src/test.h index d427483..5f84184 100644 --- a/src/test.h +++ b/src/test.h @@ -45,6 +45,7 @@ do { \ extern int tests_run; +const char *test_has_key (void); const char *test_find_key_value (void); const char *test_parse_content_disposition(void); const char *test_commands_sorted(void); -- 2.4.3