]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
chomp: full test all chomp branches
authorBaptiste Daroussin <bapt@FreeBSD.org>
Thu, 16 Dec 2021 10:23:57 +0000 (11:23 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Thu, 16 Dec 2021 10:23:57 +0000 (11:23 +0100)
src/chomp.c
tests/mlmmj.c

index f556821f765bcefd011a644dc85c1eaad8423493..ef22f61f6aea2acf08bae2369e3dcb9cf9746e08 100644 (file)
@@ -31,7 +31,10 @@ char *chomp(char *str)
        if(str == NULL)
                return NULL;
 
-       if(*str == '\0' || *str == '\n' || *str == '\r') {
+       if(*str == '\0')
+               return str;
+
+       if (*str == '\n' || *str == '\r') {
                *str = '\0';
                return str;
        }
index 7ce4ed75df409290c18ab9d127daeeb874288743..793717f90a8939606915065f850bb1ed70d77a32 100644 (file)
@@ -30,6 +30,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "chomp.h"
 #include "mlmmj.h"
 #include "wrappers.h"
 #include "controls.h"
@@ -39,11 +40,13 @@ ATF_TC(random_int);
 ATF_TC(statctrl);
 ATF_TC(mlmmj_list);
 ATF_TC(open_text);
+ATF_TC(chomp);
 
 ATF_TC_HEAD(random_int, tc) { }
 ATF_TC_HEAD(statctrl, tc) { }
 ATF_TC_HEAD(mlmmj_list, tc) { }
 ATF_TC_HEAD(open_text, tc) {}
+ATF_TC_HEAD(chomp, tc) {}
 
 #ifndef NELEM
 #define NELEM(array)    (sizeof(array) / sizeof((array)[0]))
@@ -215,11 +218,34 @@ ATF_TC_BODY(open_text, tc)
        ATF_CHECK(qname != NULL);
 }
 
+ATF_TC_BODY(chomp, tc)
+{
+       char test1[] = "\n";
+       char test2[] = "\r";
+       char test3[] = "\r\n";
+       char test4[] = "test\r\n";
+       char test5[] = "";
+       ATF_CHECK(chomp(NULL) == NULL);
+       char *bla = chomp(test1);
+       ATF_CHECK(bla != NULL);
+       ATF_REQUIRE_STREQ(bla, "");
+       bla = chomp(test2);
+       ATF_CHECK(bla != NULL);
+       ATF_REQUIRE_STREQ(bla, "");
+       bla = chomp(test4);
+       ATF_CHECK(bla != NULL);
+       ATF_REQUIRE_STREQ(bla, "test");
+       bla = chomp(test5);
+       ATF_CHECK(bla != NULL);
+       ATF_REQUIRE_STREQ(bla, "");
+}
+
 ATF_TP_ADD_TCS(tp)
 {
        ATF_TP_ADD_TC(tp, random_int);
        ATF_TP_ADD_TC(tp, mlmmj_list);
        ATF_TP_ADD_TC(tp, statctrl);
        ATF_TP_ADD_TC(tp, open_text);
+       ATF_TP_ADD_TC(tp, chomp);
        return (atf_no_error());
 }