19 UCX_TEST_IMPLEMENT(test_sstr_len_cat) { |
19 UCX_TEST_IMPLEMENT(test_sstr_len_cat) { |
20 sstr_t s1 = S("1234"); |
20 sstr_t s1 = S("1234"); |
21 sstr_t s2 = S(".:.:."); |
21 sstr_t s2 = S(".:.:."); |
22 sstr_t s3 = S("X"); |
22 sstr_t s3 = S("X"); |
23 |
23 |
|
24 size_t len = sstrnlen(3, s1, s2, s3); |
24 sstr_t cat; |
25 sstr_t cat; |
25 |
26 cat.ptr = (char*) malloc(16); |
26 size_t len = sstrnlen(3, s1, s2, s3); |
27 cat.length = 16; |
|
28 cat = sstrncat(3, cat, s1, s2, s3); |
27 |
29 |
28 UCX_TEST_BEGIN |
30 UCX_TEST_BEGIN |
29 |
31 |
30 UCX_TEST_ASSERT(len == s1.length + s2.length + s3.length, |
32 UCX_TEST_ASSERT(len == 10, "sstrnlen returned wrong size"); |
31 "sstrnlen returned wrong size"); |
|
32 |
|
33 len = s1.length + s2.length + s3.length; |
|
34 |
|
35 cat.ptr = (char*) malloc(len + 1); |
|
36 cat.ptr[len] = 0; |
|
37 cat.length = len; |
|
38 |
|
39 sstrncat(3, cat, s1, s2, s3); |
|
40 |
33 |
41 UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content"); |
34 UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content"); |
42 UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content"); |
35 UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content"); |
43 UCX_TEST_ASSERT(cat.ptr[2] == '3', "sstrncat, wrong content"); |
36 UCX_TEST_ASSERT(cat.ptr[2] == '3', "sstrncat, wrong content"); |
44 UCX_TEST_ASSERT(cat.ptr[3] == '4', "sstrncat, wrong content"); |
37 UCX_TEST_ASSERT(cat.ptr[3] == '4', "sstrncat, wrong content"); |
45 UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content"); |
38 UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content"); |
46 UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content"); |
39 UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content"); |
47 UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content"); |
40 UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content"); |
|
41 UCX_TEST_ASSERT(cat.length == 10, "sstrncat, wrong length"); |
48 |
42 |
49 UCX_TEST_END |
43 UCX_TEST_END |
50 |
44 |
51 free(cat.ptr); |
45 free(cat.ptr); |
52 } |
46 } |
174 |
168 |
175 UCX_TEST_END |
169 UCX_TEST_END |
176 } |
170 } |
177 |
171 |
178 UCX_TEST_IMPLEMENT(test_sstrtrim) { |
172 UCX_TEST_IMPLEMENT(test_sstrtrim) { |
179 sstr_t test = sstrtrim(sstr(" ein test ")); |
173 sstr_t test = sstrtrim(sstr((char*)" ein test ")); |
180 sstr_t empty = sstrtrim(sstr("")); |
174 sstr_t empty = sstrtrim(sstr((char*)"")); |
181 UCX_TEST_BEGIN |
175 UCX_TEST_BEGIN |
182 UCX_TEST_ASSERT(strncmp(test.ptr, "ein test", test.length) == 0, "failed"); |
176 UCX_TEST_ASSERT(strncmp(test.ptr, "ein test", test.length) == 0, "failed"); |
183 UCX_TEST_ASSERT(empty.length == 0, "empty string failed"); |
177 UCX_TEST_ASSERT(empty.length == 0, "empty string failed"); |
184 UCX_TEST_END |
178 UCX_TEST_END |
185 } |
179 } |