From: Richard Russon Date: Mon, 15 Apr 2019 23:48:39 +0000 (+0100) Subject: test: add string tests for degenerate cases X-Git-Tag: 2019-10-25~266^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d821ca856a750afafc40e6f86e0ae49cfcbabbbc;p=neomutt test: add string tests for degenerate cases --- diff --git a/test/string/mutt_str_adjust.c b/test/string/mutt_str_adjust.c index 09fd64994..86c69d233 100644 --- a/test/string/mutt_str_adjust.c +++ b/test/string/mutt_str_adjust.c @@ -28,4 +28,15 @@ void test_mutt_str_adjust(void) { // void mutt_str_adjust(char **p); + + { + mutt_str_adjust(NULL); + TEST_CHECK_(1, "mutt_str_adjust(NULL)"); + } + + { + char *ptr = NULL; + mutt_str_adjust(&ptr); + TEST_CHECK_(1, "mutt_str_adjust(&ptr)"); + } } diff --git a/test/string/mutt_str_append_item.c b/test/string/mutt_str_append_item.c index f44386450..3eed69d5b 100644 --- a/test/string/mutt_str_append_item.c +++ b/test/string/mutt_str_append_item.c @@ -28,4 +28,15 @@ void test_mutt_str_append_item(void) { // void mutt_str_append_item(char **str, const char *item, int sep); + + { + mutt_str_append_item(NULL, "apple", ','); + TEST_CHECK_(1, "mutt_str_append_item(NULL, \"apple\", ',')"); + } + + { + char *ptr = NULL; + mutt_str_append_item(&ptr, NULL, ','); + TEST_CHECK_(1, "mutt_str_append_item(&ptr, NULL, ',')"); + } } diff --git a/test/string/mutt_str_asprintf.c b/test/string/mutt_str_asprintf.c index b7b8c59cc..cdf4fda60 100644 --- a/test/string/mutt_str_asprintf.c +++ b/test/string/mutt_str_asprintf.c @@ -23,8 +23,23 @@ #define TEST_NO_MAIN #include "acutest.h" #include "config.h" +#include "mutt/mutt.h" void test_mutt_str_asprintf(void) { // int mutt_str_asprintf(char **strp, const char *fmt, ...); + + { + TEST_CHECK(mutt_str_asprintf(NULL, "dummy") == -1); + } + + { + char *ptr = NULL; + TEST_CHECK(mutt_str_asprintf(&ptr, "dummy") == -1); + } + + { + char *ptr = NULL; + TEST_CHECK(mutt_str_asprintf(&ptr, NULL) == -1); + } } diff --git a/test/string/mutt_str_atoi.c b/test/string/mutt_str_atoi.c index edf8ce10e..25c906a7e 100644 --- a/test/string/mutt_str_atoi.c +++ b/test/string/mutt_str_atoi.c @@ -28,4 +28,8 @@ void test_mutt_str_atoi(void) { // int mutt_str_atoi(const char *str, int *dst); + + { + TEST_CHECK(mutt_str_atoi(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_atol.c b/test/string/mutt_str_atol.c index 0bd7c0f41..e3a727a41 100644 --- a/test/string/mutt_str_atol.c +++ b/test/string/mutt_str_atol.c @@ -28,4 +28,8 @@ void test_mutt_str_atol(void) { // int mutt_str_atol(const char *str, long *dst); + + { + TEST_CHECK(mutt_str_atol(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_atos.c b/test/string/mutt_str_atos.c index 3424a577d..e25dc4a74 100644 --- a/test/string/mutt_str_atos.c +++ b/test/string/mutt_str_atos.c @@ -28,4 +28,8 @@ void test_mutt_str_atos(void) { // int mutt_str_atos(const char *str, short *dst); + + { + TEST_CHECK(mutt_str_atos(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_atoui.c b/test/string/mutt_str_atoui.c index 0631fd4db..8c83ef2c0 100644 --- a/test/string/mutt_str_atoui.c +++ b/test/string/mutt_str_atoui.c @@ -28,4 +28,8 @@ void test_mutt_str_atoui(void) { // int mutt_str_atoui(const char *str, unsigned int *dst); + + { + TEST_CHECK(mutt_str_atoui(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_atoul.c b/test/string/mutt_str_atoul.c index 3e0b62673..5ec4b8889 100644 --- a/test/string/mutt_str_atoul.c +++ b/test/string/mutt_str_atoul.c @@ -28,4 +28,8 @@ void test_mutt_str_atoul(void) { // int mutt_str_atoul(const char *str, unsigned long *dst); + + { + TEST_CHECK(mutt_str_atoul(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_atoull.c b/test/string/mutt_str_atoull.c index b5e5f4733..192ddf6af 100644 --- a/test/string/mutt_str_atoull.c +++ b/test/string/mutt_str_atoull.c @@ -28,4 +28,8 @@ void test_mutt_str_atoull(void) { // int mutt_str_atoull(const char *str, unsigned long long *dst); + + { + TEST_CHECK(mutt_str_atoull(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_dequote_comment.c b/test/string/mutt_str_dequote_comment.c index 56924eb9c..8e4b19b6d 100644 --- a/test/string/mutt_str_dequote_comment.c +++ b/test/string/mutt_str_dequote_comment.c @@ -28,4 +28,10 @@ void test_mutt_str_dequote_comment(void) { // void mutt_str_dequote_comment(char *s); + + { + mutt_str_dequote_comment(NULL); + TEST_CHECK_(1, "mutt_str_dequote_comment(NULL)"); + } + } diff --git a/test/string/mutt_str_find_word.c b/test/string/mutt_str_find_word.c index 603da3050..d45cdd22d 100644 --- a/test/string/mutt_str_find_word.c +++ b/test/string/mutt_str_find_word.c @@ -28,4 +28,8 @@ void test_mutt_str_find_word(void) { // const char *mutt_str_find_word(const char *src); + + { + TEST_CHECK(mutt_str_find_word(NULL) == NULL); + } } diff --git a/test/string/mutt_str_getenv.c b/test/string/mutt_str_getenv.c index e9f09e3cd..b8116113f 100644 --- a/test/string/mutt_str_getenv.c +++ b/test/string/mutt_str_getenv.c @@ -28,4 +28,8 @@ void test_mutt_str_getenv(void) { // const char *mutt_str_getenv(const char *name); + + { + TEST_CHECK(mutt_str_getenv(NULL) == NULL); + } } diff --git a/test/string/mutt_str_inline_replace.c b/test/string/mutt_str_inline_replace.c index d799fc72c..1c275e738 100644 --- a/test/string/mutt_str_inline_replace.c +++ b/test/string/mutt_str_inline_replace.c @@ -28,4 +28,13 @@ void test_mutt_str_inline_replace(void) { // bool mutt_str_inline_replace(char *buf, size_t buflen, size_t xlen, const char *rstr); + + { + TEST_CHECK(mutt_str_inline_replace(NULL, 10, 2, "apple") == false); + } + + { + char buf[32] = "banana"; + TEST_CHECK(mutt_str_inline_replace(buf, sizeof(buf), 2, NULL) == false); + } } diff --git a/test/string/mutt_str_is_ascii.c b/test/string/mutt_str_is_ascii.c index 38f5dc277..333f1497b 100644 --- a/test/string/mutt_str_is_ascii.c +++ b/test/string/mutt_str_is_ascii.c @@ -28,4 +28,8 @@ void test_mutt_str_is_ascii(void) { // bool mutt_str_is_ascii(const char *p, size_t len); + + { + TEST_CHECK(mutt_str_is_ascii(NULL, 10) == true); + } } diff --git a/test/string/mutt_str_lws_len.c b/test/string/mutt_str_lws_len.c index b39c296e2..e6b0eadd3 100644 --- a/test/string/mutt_str_lws_len.c +++ b/test/string/mutt_str_lws_len.c @@ -28,4 +28,8 @@ void test_mutt_str_lws_len(void) { // size_t mutt_str_lws_len(const char *s, size_t n); + + { + TEST_CHECK(mutt_str_lws_len(NULL, 10) == 0); + } } diff --git a/test/string/mutt_str_lws_rlen.c b/test/string/mutt_str_lws_rlen.c index b33fba657..faa55bec7 100644 --- a/test/string/mutt_str_lws_rlen.c +++ b/test/string/mutt_str_lws_rlen.c @@ -28,4 +28,8 @@ void test_mutt_str_lws_rlen(void) { // size_t mutt_str_lws_rlen(const char *s, size_t n); + + { + TEST_CHECK(mutt_str_lws_rlen(NULL, 10) == 0); + } } diff --git a/test/string/mutt_str_next_word.c b/test/string/mutt_str_next_word.c index 3d256adbe..0794090e5 100644 --- a/test/string/mutt_str_next_word.c +++ b/test/string/mutt_str_next_word.c @@ -28,4 +28,8 @@ void test_mutt_str_next_word(void) { // const char *mutt_str_next_word(const char *s); + + { + TEST_CHECK(mutt_str_next_word(NULL) == NULL); + } } diff --git a/test/string/mutt_str_pretty_size.c b/test/string/mutt_str_pretty_size.c index f08ece3d9..1b73e1c62 100644 --- a/test/string/mutt_str_pretty_size.c +++ b/test/string/mutt_str_pretty_size.c @@ -28,4 +28,9 @@ void test_mutt_str_pretty_size(void) { // void mutt_str_pretty_size(char *buf, size_t buflen, size_t num); + + { + mutt_str_pretty_size(NULL, 10, 1234); + TEST_CHECK_(1, "mutt_str_pretty_size(NULL, 10, 1234)"); + } } diff --git a/test/string/mutt_str_remall_strcasestr.c b/test/string/mutt_str_remall_strcasestr.c index b1c800c94..5da76e92b 100644 --- a/test/string/mutt_str_remall_strcasestr.c +++ b/test/string/mutt_str_remall_strcasestr.c @@ -28,4 +28,16 @@ void test_mutt_str_remall_strcasestr(void) { // int mutt_str_remall_strcasestr(char *str, const char *target); + + { + TEST_CHECK(mutt_str_remall_strcasestr(NULL, "apple") == 1); + } + + { + TEST_CHECK(mutt_str_remall_strcasestr("apple", NULL) == 1); + } + + { + TEST_CHECK(mutt_str_remall_strcasestr(NULL, NULL) == 1); + } } diff --git a/test/string/mutt_str_remove_trailing_ws.c b/test/string/mutt_str_remove_trailing_ws.c index 3ea564a2e..6cb8dffe4 100644 --- a/test/string/mutt_str_remove_trailing_ws.c +++ b/test/string/mutt_str_remove_trailing_ws.c @@ -28,4 +28,9 @@ void test_mutt_str_remove_trailing_ws(void) { // void mutt_str_remove_trailing_ws(char *s); + + { + mutt_str_remove_trailing_ws(NULL); + TEST_CHECK_(1, "mutt_str_remove_trailing_ws(NULL)"); + } } diff --git a/test/string/mutt_str_replace.c b/test/string/mutt_str_replace.c index 30f8361e9..878c0d91e 100644 --- a/test/string/mutt_str_replace.c +++ b/test/string/mutt_str_replace.c @@ -28,4 +28,20 @@ void test_mutt_str_replace(void) { // void mutt_str_replace(char **p, const char *s); + + { + mutt_str_replace(NULL, NULL); + TEST_CHECK_(1, "mutt_str_replace(NULL, NULL)"); + } + + { + mutt_str_replace(NULL, "apple"); + TEST_CHECK_(1, "mutt_str_replace(NULL, \"apple\")"); + } + + { + char *ptr = NULL; + mutt_str_replace(&ptr, NULL); + TEST_CHECK_(1, "mutt_str_replace(&ptr, NULL)"); + } } diff --git a/test/string/mutt_str_rstrnstr.c b/test/string/mutt_str_rstrnstr.c index e4d10cfa6..bfd46f4b4 100644 --- a/test/string/mutt_str_rstrnstr.c +++ b/test/string/mutt_str_rstrnstr.c @@ -28,4 +28,12 @@ void test_mutt_str_rstrnstr(void) { // const char *mutt_str_rstrnstr(const char *haystack, size_t haystack_length, const char *needle); + + { + TEST_CHECK(mutt_str_rstrnstr(NULL, 10, "apple") == NULL); + } + + { + TEST_CHECK(mutt_str_rstrnstr("apple", 10, NULL) == NULL); + } } diff --git a/test/string/mutt_str_skip_email_wsp.c b/test/string/mutt_str_skip_email_wsp.c index 48d41fc28..1c122ff8f 100644 --- a/test/string/mutt_str_skip_email_wsp.c +++ b/test/string/mutt_str_skip_email_wsp.c @@ -28,4 +28,8 @@ void test_mutt_str_skip_email_wsp(void) { // char *mutt_str_skip_email_wsp(const char *s); + + { + TEST_CHECK(mutt_str_skip_email_wsp(NULL) == NULL); + } } diff --git a/test/string/mutt_str_skip_whitespace.c b/test/string/mutt_str_skip_whitespace.c index 1f66181ac..abe944fe9 100644 --- a/test/string/mutt_str_skip_whitespace.c +++ b/test/string/mutt_str_skip_whitespace.c @@ -28,4 +28,8 @@ void test_mutt_str_skip_whitespace(void) { // char *mutt_str_skip_whitespace(char *p); + + { + TEST_CHECK(mutt_str_skip_whitespace(NULL) == NULL); + } } diff --git a/test/string/mutt_str_split.c b/test/string/mutt_str_split.c index 9bd793ded..2b2d04925 100644 --- a/test/string/mutt_str_split.c +++ b/test/string/mutt_str_split.c @@ -28,4 +28,9 @@ void test_mutt_str_split(void) { // struct ListHead mutt_str_split(const char *src, char sep); + + { + struct ListHead head = mutt_str_split(NULL, ','); + TEST_CHECK(STAILQ_EMPTY(&head)); + } } diff --git a/test/string/mutt_str_startswith.c b/test/string/mutt_str_startswith.c index 7634e63af..92bdd9023 100644 --- a/test/string/mutt_str_startswith.c +++ b/test/string/mutt_str_startswith.c @@ -28,4 +28,12 @@ void test_mutt_str_startswith(void) { // size_t mutt_str_startswith(const char *str, const char *prefix, enum CaseSensitivity cs); + + { + TEST_CHECK(mutt_str_startswith(NULL, "apple", CASE_MATCH) == 0); + } + + { + TEST_CHECK(mutt_str_startswith("apple", NULL, CASE_MATCH) == 0); + } } diff --git a/test/string/mutt_str_strcasecmp.c b/test/string/mutt_str_strcasecmp.c index 9a36eca12..6d01db4a7 100644 --- a/test/string/mutt_str_strcasecmp.c +++ b/test/string/mutt_str_strcasecmp.c @@ -28,4 +28,16 @@ void test_mutt_str_strcasecmp(void) { // int mutt_str_strcasecmp(const char *a, const char *b); + + { + TEST_CHECK(mutt_str_strcasecmp(NULL, "apple") != 0); + } + + { + TEST_CHECK(mutt_str_strcasecmp("apple", NULL) != 0); + } + + { + TEST_CHECK(mutt_str_strcasecmp(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_strcasestr.c b/test/string/mutt_str_strcasestr.c index 2dde38a6c..df9af9a60 100644 --- a/test/string/mutt_str_strcasestr.c +++ b/test/string/mutt_str_strcasestr.c @@ -28,4 +28,16 @@ void test_mutt_str_strcasestr(void) { // const char *mutt_str_strcasestr(const char *haystack, const char *needle); + + { + TEST_CHECK(mutt_str_strcasestr(NULL, "apple") == NULL); + } + + { + TEST_CHECK(mutt_str_strcasestr("apple", NULL) == NULL); + } + + { + TEST_CHECK(mutt_str_strcasestr(NULL, NULL) == NULL); + } } diff --git a/test/string/mutt_str_strcat.c b/test/string/mutt_str_strcat.c index d12ee747e..dd5313d11 100644 --- a/test/string/mutt_str_strcat.c +++ b/test/string/mutt_str_strcat.c @@ -28,4 +28,13 @@ void test_mutt_str_strcat(void) { // char *mutt_str_strcat(char *buf, size_t buflen, const char *s); + + { + TEST_CHECK(mutt_str_strcat(NULL, 10, "apple") == NULL); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_strcat(buf, sizeof(buf), NULL) == buf); + } } diff --git a/test/string/mutt_str_strchrnul.c b/test/string/mutt_str_strchrnul.c index af8e7bca6..1fe9e6fc2 100644 --- a/test/string/mutt_str_strchrnul.c +++ b/test/string/mutt_str_strchrnul.c @@ -28,4 +28,8 @@ void test_mutt_str_strchrnul(void) { // const char *mutt_str_strchrnul(const char *s, char c); + + { + TEST_CHECK(mutt_str_strchrnul(NULL, 'a') == NULL); + } } diff --git a/test/string/mutt_str_strcmp.c b/test/string/mutt_str_strcmp.c index fd6ee1d46..402bbe8cd 100644 --- a/test/string/mutt_str_strcmp.c +++ b/test/string/mutt_str_strcmp.c @@ -28,4 +28,16 @@ void test_mutt_str_strcmp(void) { // int mutt_str_strcmp(const char *a, const char *b); + + { + TEST_CHECK(mutt_str_strcmp(NULL, "apple") != 0); + } + + { + TEST_CHECK(mutt_str_strcmp("apple", NULL) != 0); + } + + { + TEST_CHECK(mutt_str_strcmp(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_strcoll.c b/test/string/mutt_str_strcoll.c index 827eed1dc..88ab0ba99 100644 --- a/test/string/mutt_str_strcoll.c +++ b/test/string/mutt_str_strcoll.c @@ -28,4 +28,16 @@ void test_mutt_str_strcoll(void) { // int mutt_str_strcoll(const char *a, const char *b); + + { + TEST_CHECK(mutt_str_strcoll(NULL, "apple") != 0); + } + + { + TEST_CHECK(mutt_str_strcoll("apple", NULL) != 0); + } + + { + TEST_CHECK(mutt_str_strcoll(NULL, NULL) == 0); + } } diff --git a/test/string/mutt_str_strdup.c b/test/string/mutt_str_strdup.c index 4fc4c4e37..f1baf6762 100644 --- a/test/string/mutt_str_strdup.c +++ b/test/string/mutt_str_strdup.c @@ -28,4 +28,13 @@ void test_mutt_str_strdup(void) { // char *mutt_str_strdup(const char *str); + + { + TEST_CHECK(mutt_str_strdup(NULL) == NULL); + } + + { + char *ptr = NULL; + TEST_CHECK(mutt_str_strdup(ptr) == NULL); + } } diff --git a/test/string/mutt_str_strfcpy.c b/test/string/mutt_str_strfcpy.c index 8d742b86f..0962d0364 100644 --- a/test/string/mutt_str_strfcpy.c +++ b/test/string/mutt_str_strfcpy.c @@ -28,4 +28,13 @@ void test_mutt_str_strfcpy(void) { // size_t mutt_str_strfcpy(char *dest, const char *src, size_t dsize); + + { + TEST_CHECK(mutt_str_strfcpy(NULL, "apple", 10) == 0); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_strfcpy(buf, NULL, sizeof(buf)) == 0); + } } diff --git a/test/string/mutt_str_stristr.c b/test/string/mutt_str_stristr.c index 9ce561d90..3f6eb0ad2 100644 --- a/test/string/mutt_str_stristr.c +++ b/test/string/mutt_str_stristr.c @@ -28,4 +28,17 @@ void test_mutt_str_stristr(void) { // const char *mutt_str_stristr(const char *haystack, const char *needle); + + { + TEST_CHECK(mutt_str_stristr(NULL, "apple") == NULL); + } + + { + char *haystack = "apple"; + TEST_CHECK(mutt_str_stristr(haystack, NULL) == haystack); + } + + { + TEST_CHECK(mutt_str_stristr(NULL, NULL) == NULL); + } } diff --git a/test/string/mutt_str_strlen.c b/test/string/mutt_str_strlen.c index 3d29c993b..2f2d171b8 100644 --- a/test/string/mutt_str_strlen.c +++ b/test/string/mutt_str_strlen.c @@ -28,4 +28,8 @@ void test_mutt_str_strlen(void) { // size_t mutt_str_strlen(const char *a); + + { + TEST_CHECK(mutt_str_strlen(NULL) == 0); + } } diff --git a/test/string/mutt_str_strlower.c b/test/string/mutt_str_strlower.c index 6915a876f..6e7714310 100644 --- a/test/string/mutt_str_strlower.c +++ b/test/string/mutt_str_strlower.c @@ -28,4 +28,8 @@ void test_mutt_str_strlower(void) { // char *mutt_str_strlower(char *s); + + { + TEST_CHECK(mutt_str_strlower(NULL) == NULL); + } } diff --git a/test/string/mutt_str_strncasecmp.c b/test/string/mutt_str_strncasecmp.c index 7acd1a643..7cf565b9c 100644 --- a/test/string/mutt_str_strncasecmp.c +++ b/test/string/mutt_str_strncasecmp.c @@ -28,4 +28,16 @@ void test_mutt_str_strncasecmp(void) { // int mutt_str_strncasecmp(const char *a, const char *b, size_t l); + + { + TEST_CHECK(mutt_str_strncasecmp(NULL, "apple", 3) != 0); + } + + { + TEST_CHECK(mutt_str_strncasecmp("apple", NULL, 3) != 0); + } + + { + TEST_CHECK(mutt_str_strncasecmp(NULL, NULL, 3) == 0); + } } diff --git a/test/string/mutt_str_strncat.c b/test/string/mutt_str_strncat.c index 843529136..f239fde70 100644 --- a/test/string/mutt_str_strncat.c +++ b/test/string/mutt_str_strncat.c @@ -28,4 +28,17 @@ void test_mutt_str_strncat(void) { // char *mutt_str_strncat(char *d, size_t l, const char *s, size_t sl); + + { + TEST_CHECK(mutt_str_strncat(NULL, 10, "apple", 5) == NULL); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_strncat(buf, sizeof(buf), NULL, 5) == buf); + } + + { + TEST_CHECK(mutt_str_strncat(NULL, 10, NULL, 5) == NULL); + } } diff --git a/test/string/mutt_str_strncmp.c b/test/string/mutt_str_strncmp.c index ad494ba38..3270bf133 100644 --- a/test/string/mutt_str_strncmp.c +++ b/test/string/mutt_str_strncmp.c @@ -28,4 +28,16 @@ void test_mutt_str_strncmp(void) { // int mutt_str_strncmp(const char *a, const char *b, size_t l); + + { + TEST_CHECK(mutt_str_strncmp(NULL, "apple", 5) != 0); + } + + { + TEST_CHECK(mutt_str_strncmp("apple", NULL, 5) != 0); + } + + { + TEST_CHECK(mutt_str_strncmp(NULL, NULL, 5) == 0); + } } diff --git a/test/string/mutt_str_strnfcpy.c b/test/string/mutt_str_strnfcpy.c index 81f19610a..165db4657 100644 --- a/test/string/mutt_str_strnfcpy.c +++ b/test/string/mutt_str_strnfcpy.c @@ -28,4 +28,17 @@ void test_mutt_str_strnfcpy(void) { // size_t mutt_str_strnfcpy(char *dest, const char *src, size_t n, size_t dsize); + + { + TEST_CHECK(mutt_str_strnfcpy(NULL, "apple", 5, 10) == 0); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_strnfcpy(buf, NULL, 5, sizeof(buf)) == 0); + } + + { + TEST_CHECK(mutt_str_strnfcpy(NULL, NULL, 5, 10) == 0); + } } diff --git a/test/string/mutt_str_substr_cpy.c b/test/string/mutt_str_substr_cpy.c index a325e4a30..c0d685988 100644 --- a/test/string/mutt_str_substr_cpy.c +++ b/test/string/mutt_str_substr_cpy.c @@ -28,4 +28,20 @@ void test_mutt_str_substr_cpy(void) { // char *mutt_str_substr_cpy(char *dest, const char *begin, const char *end, size_t destlen); + + const char *str = "apple banana"; + + { + TEST_CHECK(mutt_str_substr_cpy(NULL, str + 3, str + 7, 32) == NULL); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_substr_cpy(buf, NULL, str + 7, sizeof(buf)) == buf); + } + + { + char buf[32] = { 0 }; + TEST_CHECK(mutt_str_substr_cpy(buf, str + 3, NULL, sizeof(buf)) == buf); + } } diff --git a/test/string/mutt_str_substr_dup.c b/test/string/mutt_str_substr_dup.c index 5d88726ef..c51cc63e6 100644 --- a/test/string/mutt_str_substr_dup.c +++ b/test/string/mutt_str_substr_dup.c @@ -28,4 +28,10 @@ void test_mutt_str_substr_dup(void) { // char *mutt_str_substr_dup(const char *begin, const char *end); + + const char *str = "apple banana"; + + { + TEST_CHECK(mutt_str_substr_dup(NULL, str + 7) == NULL); + } } diff --git a/test/string/mutt_str_word_casecmp.c b/test/string/mutt_str_word_casecmp.c index e2c68000f..86dfe2eb9 100644 --- a/test/string/mutt_str_word_casecmp.c +++ b/test/string/mutt_str_word_casecmp.c @@ -28,4 +28,16 @@ void test_mutt_str_word_casecmp(void) { // int mutt_str_word_casecmp(const char *a, const char *b); + + { + TEST_CHECK(mutt_str_word_casecmp(NULL, "apple") != 0); + } + + { + TEST_CHECK(mutt_str_word_casecmp("apple", NULL) != 0); + } + + { + TEST_CHECK(mutt_str_word_casecmp(NULL, NULL) == 0); + } }