add test coverage for _m variant functions

Tue, 20 Sep 2022 10:24:03 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 20 Sep 2022 10:24:03 +0200
changeset 585
038f5e99e00f
parent 584
184e9ebfc3cc
child 586
aa51aaa907b9

add test coverage for _m variant functions

test/test_string.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/test/test_string.cpp	Tue Sep 13 20:11:26 2022 +0200
     1.2 +++ b/test/test_string.cpp	Tue Sep 20 10:24:03 2022 +0200
     1.3 @@ -71,6 +71,34 @@
     1.4      EXPECT_EQ(len3, 10);
     1.5  }
     1.6  
     1.7 +TEST(String, strsubs) {
     1.8 +    cxstring str = CX_STR("A test string");
     1.9 +
    1.10 +    cxstring sub = cx_strsubs(str, 0);
    1.11 +    EXPECT_EQ(cx_strcmp(sub, str), 0);
    1.12 +
    1.13 +    sub = cx_strsubs(str, 2);
    1.14 +    EXPECT_EQ(cx_strcmp(sub, cx_str("test string")), 0);
    1.15 +
    1.16 +    sub = cx_strsubs(str, 7);
    1.17 +    EXPECT_EQ(cx_strcmp(sub, cx_str("string")), 0);
    1.18 +
    1.19 +    sub = cx_strsubs(str, 15);
    1.20 +    EXPECT_EQ(cx_strcmp(sub, cx_str("")), 0);
    1.21 +
    1.22 +    sub = cx_strsubsl(str, 2, 4);
    1.23 +    EXPECT_EQ(cx_strcmp(sub, cx_str("test")), 0);
    1.24 +
    1.25 +    sub = cx_strsubsl(str, 7, 3);
    1.26 +    EXPECT_EQ(cx_strcmp(sub, cx_str("str")), 0);
    1.27 +
    1.28 +    sub = cx_strsubsl(str, 7, 20);
    1.29 +    EXPECT_EQ(cx_strcmp(sub, cx_str("string")), 0);
    1.30 +
    1.31 +    // just for coverage, call the _m variant
    1.32 +    auto m = cx_strsubs_m(cx_mutstrn(nullptr, 0), 0);
    1.33 +    EXPECT_EQ(cx_strcmp(cx_strcast(m), cx_str("")), 0);
    1.34 +}
    1.35  
    1.36  TEST(String, strchr) {
    1.37      cxstring str = CX_STR("I will find you - and I will kill you");
    1.38 @@ -81,6 +109,10 @@
    1.39      cxstring result = cx_strchr(str, 'w');
    1.40      EXPECT_EQ(result.length, 35);
    1.41      EXPECT_EQ(strcmp("will find you - and I will kill you", result.ptr), 0);
    1.42 +
    1.43 +    // just for coverage, call the _m variant
    1.44 +    auto m = cx_strchr_m(cx_mutstrn(nullptr, 0), 'a');
    1.45 +    EXPECT_EQ(cx_strcmp(cx_strcast(m), cx_str("")), 0);
    1.46  }
    1.47  
    1.48  TEST(String, strrchr) {
    1.49 @@ -92,6 +124,10 @@
    1.50      cxstring result = cx_strrchr(str, 'w');
    1.51      EXPECT_EQ(result.length, 13);
    1.52      EXPECT_EQ(strcmp("will kill you", result.ptr), 0);
    1.53 +
    1.54 +    // just for coverage, call the _m variant
    1.55 +    auto m = cx_strrchr_m(cx_mutstrn(nullptr, 0), 'a');
    1.56 +    EXPECT_EQ(cx_strcmp(cx_strcast(m), cx_str("")), 0);
    1.57  }
    1.58  
    1.59  TEST(String, strstr) {
    1.60 @@ -139,6 +175,13 @@
    1.61      result = cx_strstr(longstr, longstrpattern);
    1.62      EXPECT_EQ(result.length, longstrresult.length);
    1.63      EXPECT_EQ(strcmp(result.ptr, longstrresult.ptr), 0);
    1.64 +
    1.65 +    // just for coverage, call the _m variant
    1.66 +    auto mstr = cx_strdup(longstr);
    1.67 +    auto m = cx_strstr_m(mstr, longstrpattern);
    1.68 +    EXPECT_EQ(m.length, longstrresult.length);
    1.69 +    EXPECT_EQ(strcmp(m.ptr, longstrresult.ptr), 0);
    1.70 +    cx_strfree(&mstr);
    1.71  }
    1.72  
    1.73  TEST(String, strcmp) {
    1.74 @@ -283,6 +326,16 @@
    1.75      EXPECT_EQ(cx_strcmp(list[0], cx_str("th")), 0);
    1.76      EXPECT_EQ(cx_strcmp(list[1], cx_str("")), 0);
    1.77      EXPECT_EQ(cx_strcmp(list[2], cx_str("a,csv,string")), 0);
    1.78 +
    1.79 +    /* call the _m variant just for coverage */
    1.80 +    auto mtest = cx_strdup(test);
    1.81 +    cxmutstr mlist[4];
    1.82 +    n = cx_strsplit_m(mtest, cx_str("is,"), 4, mlist);
    1.83 +    ASSERT_EQ(n, 3);
    1.84 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[0]), cx_str("th")), 0);
    1.85 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[1]), cx_str("")), 0);
    1.86 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[2]), cx_str("a,csv,string")), 0);
    1.87 +    cx_strfree(&mtest);
    1.88  }
    1.89  
    1.90  TEST(String, strsplit_a) {
    1.91 @@ -387,6 +440,17 @@
    1.92      EXPECT_EQ(cx_strcmp(list[2], cx_str("a,csv,string")), 0);
    1.93      cxFree(&alloc, list);
    1.94  
    1.95 +    /* call the _m variant just for coverage */
    1.96 +    auto mtest = cx_strdup(test);
    1.97 +    cxmutstr *mlist;
    1.98 +    n = cx_strsplit_ma(&alloc, mtest, cx_str("is,"), 4, &mlist);
    1.99 +    ASSERT_EQ(n, 3);
   1.100 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[0]), cx_str("th")), 0);
   1.101 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[1]), cx_str("")), 0);
   1.102 +    EXPECT_EQ(cx_strcmp(cx_strcast(mlist[2]), cx_str("a,csv,string")), 0);
   1.103 +    cxFree(&alloc, mlist);
   1.104 +    cx_strfree(&mtest);
   1.105 +
   1.106      EXPECT_TRUE(alloc.verify());
   1.107  }
   1.108  
   1.109 @@ -404,6 +468,10 @@
   1.110      EXPECT_EQ(cx_strcmp(t4, cx_str("xyz")), 0);
   1.111      EXPECT_EQ(cx_strcmp(t5, cx_str("")), 0);
   1.112      EXPECT_EQ(cx_strcmp(empty, cx_str("")), 0);
   1.113 +
   1.114 +    /* call the _m variant just for coverage */
   1.115 +    cxmutstr m1 = cx_strtrim_m(cx_mutstr((char *) "  ein test  \t "));
   1.116 +    EXPECT_EQ(cx_strcmp(cx_strcast(m1), cx_str("ein test")), 0);
   1.117  }
   1.118  
   1.119  TEST(String, strprefix) {

mercurial