From 80d97365c6847b412a76d524f10e2af612152a63 Mon Sep 17 00:00:00 2001 From: Hubert Tarasiuk Date: Tue, 23 Jun 2015 16:46:39 +0200 Subject: [PATCH 07/12] 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 e2d3ac2..8ba40c9 100644 --- a/src/test.c +++ b/src/test.c @@ -50,6 +50,7 @@ all_tests(void) { #ifdef HAVE_METALINK mu_run_test (test_find_key_value); + mu_run_test (test_has_key); #endif mu_run_test (test_parse_content_disposition); mu_run_test (test_subdir_p); diff --git a/src/test.h b/src/test.h index 1eb1446..a8ccaf9 100644 --- a/src/test.h +++ b/src/test.h @@ -44,6 +44,7 @@ do { \ } while (0) +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