]> granicus.if.org Git - neomutt/commitdiff
test: improve test_mutt_str_startswith()
authorRichard Russon <rich@flatcap.org>
Sun, 26 May 2019 15:02:24 +0000 (16:02 +0100)
committerRichard Russon <rich@flatcap.org>
Sun, 26 May 2019 16:18:13 +0000 (17:18 +0100)
mutt/string.c
test/string/mutt_str_startswith.c

index 985da4df54a7e2c737bcb13b111fea0299ffdb98..9f84d448003fcb8522e97f930d83b8856f748ee0 100644 (file)
@@ -168,15 +168,15 @@ static char_cmp get_char_cmp(enum CaseSensitivity cs)
  */
 size_t mutt_str_startswith(const char *str, const char *prefix, enum CaseSensitivity cs)
 {
-  if (!str || (str[0] == '\0') || !prefix || !prefix[0])
+  if (!str || (str[0] == '\0') || !prefix || (prefix[0] == '\0'))
   {
     return 0;
   }
 
   const char *saved_prefix = prefix;
-  for (char_cmp f = get_char_cmp(cs); *str && *prefix; str++, prefix++)
+  for (char_cmp fn = get_char_cmp(cs); *str && *prefix; str++, prefix++)
   {
-    if (!f(*str, *prefix))
+    if (!fn(*str, *prefix))
     {
       return 0;
     }
index 92bdd9023165b1f361ba5aeffb120df9943b02ea..2ba7e4be2a98922d5acb203ad283f0cde2a09ee1 100644 (file)
@@ -29,11 +29,15 @@ 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(NULL, "apple", CASE_MATCH) == 0);
+  TEST_CHECK(mutt_str_startswith("apple", NULL, CASE_MATCH) == 0);
 
-  {
-    TEST_CHECK(mutt_str_startswith("apple", NULL, CASE_MATCH) == 0);
-  }
+  TEST_CHECK(mutt_str_startswith("", "apple", CASE_MATCH) == 0);
+  TEST_CHECK(mutt_str_startswith("apple", "", CASE_MATCH) == 0);
+
+  TEST_CHECK(mutt_str_startswith("applebanana", "apple", CASE_MATCH) == 5);
+  TEST_CHECK(mutt_str_startswith("APPLEbanana", "apple", CASE_MATCH) == 0);
+
+  TEST_CHECK(mutt_str_startswith("APPLEbanana", "apple", CASE_IGNORE) == 5);
+  TEST_CHECK(mutt_str_startswith("GUAVAbanana", "apple", CASE_IGNORE) == 0);
 }