1.1 --- a/test/string_tests.c Fri Oct 05 10:25:33 2012 +0200 1.2 +++ b/test/string_tests.c Fri Oct 05 10:38:51 2012 +0200 1.3 @@ -4,6 +4,53 @@ 1.4 1.5 #include "string_tests.h" 1.6 1.7 +UCX_TEST_IMPLEMENT(test_sstr) { 1.8 + sstr_t s1 = sstr("1234"); 1.9 + sstr_t s2 = sstrn("ab", 2); 1.10 + 1.11 + UCX_TEST_BEGIN 1.12 + 1.13 + UCX_TEST_ASSERT(s1.length == 4, "s1 length must be 4"); 1.14 + UCX_TEST_ASSERT(s2.length == 2, "s2 length must be 2"); 1.15 + 1.16 + UCX_TEST_END 1.17 +} 1.18 + 1.19 +UCX_TEST_IMPLEMENT(test_sstr_len_cat) { 1.20 + sstr_t s1 = sstr("1234"); 1.21 + sstr_t s2 = sstr(".:.:."); 1.22 + sstr_t s3 = sstr("X"); 1.23 + 1.24 + sstr_t cat; 1.25 + 1.26 + size_t len = sstrnlen(3, s1, s2, s3); 1.27 + 1.28 + UCX_TEST_BEGIN 1.29 + 1.30 + UCX_TEST_ASSERT(len == s1.length + s2.length + s3.length, 1.31 + "sstrnlen returned wrong size"); 1.32 + 1.33 + len = s1.length + s2.length + s3.length; 1.34 + 1.35 + cat.ptr = malloc(len + 1); 1.36 + cat.ptr[len] = 0; 1.37 + cat.length = len; 1.38 + 1.39 + sstrncat(3, cat, s1, s2, s3); 1.40 + 1.41 + UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content"); 1.42 + UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content"); 1.43 + UCX_TEST_ASSERT(cat.ptr[2] == '3', "sstrncat, wrong content"); 1.44 + UCX_TEST_ASSERT(cat.ptr[3] == '4', "sstrncat, wrong content"); 1.45 + UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content"); 1.46 + UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content"); 1.47 + UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content"); 1.48 + 1.49 + UCX_TEST_END 1.50 + 1.51 + free(cat.ptr); 1.52 +} 1.53 + 1.54 UCX_TEST_IMPLEMENT(test_sstrsplit) { 1.55 1.56 const char *original = "this,is,a,csv,string";