]> granicus.if.org Git - neomutt/commitdiff
test: add mbyte tests for degenerate cases
authorRichard Russon <rich@flatcap.org>
Mon, 29 Apr 2019 13:46:56 +0000 (14:46 +0100)
committerRichard Russon <rich@flatcap.org>
Tue, 30 Apr 2019 10:22:04 +0000 (11:22 +0100)
test/mbyte/mutt_mb_charlen.c
test/mbyte/mutt_mb_filter_unprintable.c
test/mbyte/mutt_mb_get_initials.c
test/mbyte/mutt_mb_is_lower.c
test/mbyte/mutt_mb_mbstowcs.c
test/mbyte/mutt_mb_wcstombs.c
test/mbyte/mutt_mb_wcswidth.c
test/mbyte/mutt_mb_width.c
test/mbyte/mutt_mb_width_ceiling.c

index 7288bd8d1d2aa8da3a0651853ab38f8daf3912c2..7165029e3b27fda5019aee5b2300c9b94fb32bac 100644 (file)
 void test_mutt_mb_charlen(void)
 {
   // int mutt_mb_charlen(const char *s, int *width);
+
+  {
+    int width = 0;
+    TEST_CHECK(mutt_mb_charlen(NULL, &width) == 0);
+  }
+
+  {
+    TEST_CHECK(mutt_mb_charlen("apple", NULL) != 0);
+  }
 }
index c217f8552e06f4b06707fe8472b6a4d71845b6eb..837effba14c5c951988ba4d2563fbeeb61cd9234 100644 (file)
 void test_mutt_mb_filter_unprintable(void)
 {
   // int mutt_mb_filter_unprintable(char **s);
+
+  {
+    TEST_CHECK(mutt_mb_filter_unprintable(NULL) != 0);
+  }
+
+  {
+    char *s = NULL;
+    TEST_CHECK(mutt_mb_filter_unprintable(&s) != 0);
+  }
 }
index 07748af032212b08d76ae61a31cccc64af8c884a..da520d56795fc8739c4c3dfe20bd8e51f5edb9cf 100644 (file)
 void test_mutt_mb_get_initials(void)
 {
   // bool mutt_mb_get_initials(const char *name, char *buf, size_t buflen);
+
+  {
+    char buf[32] = { 0 };
+    TEST_CHECK(!mutt_mb_get_initials(NULL, buf, sizeof(buf)));
+  }
+
+  {
+    TEST_CHECK(!mutt_mb_get_initials("apple", NULL, 10));
+  }
 }
index 51cc317ab47e6b7d912fb87ceaa47311ced74de8..7be1e61537ce67eddf2c1771a80c55e745b2b3ec 100644 (file)
@@ -28,4 +28,8 @@
 void test_mutt_mb_is_lower(void)
 {
   // bool mutt_mb_is_lower(const char *s);
+
+  {
+    TEST_CHECK(!mutt_mb_is_lower(NULL));
+  }
 }
index 1030a5e69391a9fc97eec6d6032867632408c53b..ed95022bda8a85dbf25b902ea8a257a53d8f1d6f 100644 (file)
 void test_mutt_mb_mbstowcs(void)
 {
   // size_t mutt_mb_mbstowcs(wchar_t **pwbuf, size_t *pwbuflen, size_t i, char *buf);
+
+  {
+    size_t pwbuflen = 0;
+    TEST_CHECK(mutt_mb_mbstowcs(NULL, &pwbuflen, 0, "apple") == 0);
+  }
+
+  {
+    wchar_t *wbuf = NULL;
+    TEST_CHECK(mutt_mb_mbstowcs(&wbuf, NULL, 0, "apple") == 0);
+  }
+
+  {
+    wchar_t *wbuf = NULL;
+    size_t pwbuflen = 0;
+    TEST_CHECK(mutt_mb_mbstowcs(&wbuf, &pwbuflen, 0, NULL) == 0);
+  }
 }
index d316336f2720903e9c038508854d15a6411ceb28..ed7ce0fa5cf37ac031ec8a0bedbecfcb91db6bdc 100644 (file)
 void test_mutt_mb_wcstombs(void)
 {
   // void mutt_mb_wcstombs(char *dest, size_t dlen, const wchar_t *src, size_t slen);
+
+  {
+    wchar_t src[32] = L"apple";
+    mutt_mb_wcstombs(NULL, 10, src, 3);
+    TEST_CHECK_(1, "mutt_mb_wcstombs(&buf, sizeof(buf), src, 3)");
+  }
+
+  {
+    char buf[32] = { 0 };
+    mutt_mb_wcstombs(buf, sizeof(buf), NULL, 3);
+    TEST_CHECK_(1, "mutt_mb_wcstombs(&buf, sizeof(buf), NULL, 3)");
+  }
 }
index e83e160ab78ce7f6f014133a51fbc6b2e273a622..d378bb31ad90eae42d105d8e0e995fbfa605982e 100644 (file)
@@ -28,4 +28,8 @@
 void test_mutt_mb_wcswidth(void)
 {
   // int mutt_mb_wcswidth(const wchar_t *s, size_t n);
+
+  {
+    TEST_CHECK(mutt_mb_wcswidth(NULL, 0) == 0);
+  }
 }
index 92ddd732cfae49c069636328edca511edce1370d..65c5d6083a01c6e72bcce97b18b8a03b87bf0ebe 100644 (file)
@@ -28,4 +28,8 @@
 void test_mutt_mb_width(void)
 {
   // int mutt_mb_width(const char *str, int col, bool display);
+
+  {
+    TEST_CHECK(mutt_mb_width(NULL, 0, false) == 0);
+  }
 }
index 64a5a0e4f01d85601ea7ca2a5ffc950ac730da20..3590ed6c2bbd0253d453df0c054cc50886e55456 100644 (file)
@@ -28,4 +28,8 @@
 void test_mutt_mb_width_ceiling(void)
 {
   // size_t mutt_mb_width_ceiling(const wchar_t *s, size_t n, int w1);
+
+  {
+    TEST_CHECK(mutt_mb_width_ceiling(NULL, 0, 0) == 0);
+  }
 }