test/string_tests.c

changeset 236
ffc6d0910342
parent 233
bd58fdde142d
child 250
b7d1317b138e
equal deleted inserted replaced
235:7cf1e41833a2 236:ffc6d0910342
79 UCX_TEST_END 79 UCX_TEST_END
80 } 80 }
81 81
82 UCX_TEST(test_sstrstr) { 82 UCX_TEST(test_sstrstr) {
83 sstr_t str = ST("find the match in this string"); 83 sstr_t str = ST("find the match in this string");
84 sstr_t longstr = ST(
85 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl"
86 "mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"
87 "yzabcdeababababnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij"
88 "klmnopqrstuvwxyzaababababababababrstuvwxyzabcdefghijklmnopqrstuv"
89 "abababababababababababababababababababababababababababababababab"
90 "abababababababababababababababababababababababababababababababab"
91 "abababababababababababababababababababababababababababababababab"
92 "abababababababababababababababababababababababababababababababab"
93 "abababababababababababababababababababababababababababababababab"
94 "abababababababababababababababababababababababababababababababab"
95 "wxyz1234567890");
96 sstr_t longstrpattern = ST(
97 "abababababababababababababababababababababababababababababababab"
98 "abababababababababababababababababababababababababababababababab"
99 "abababababababababababababababababababababababababababababababab"
100 "abababababababababababababababababababababababababababababababab"
101 "abababababababababababababababababababababababababababababababab"
102 );
103 sstr_t longstrresult = ST(
104 "abababababababababababababababababababababababababababababababab"
105 "abababababababababababababababababababababababababababababababab"
106 "abababababababababababababababababababababababababababababababab"
107 "abababababababababababababababababababababababababababababababab"
108 "abababababababababababababababababababababababababababababababab"
109 "abababababababababababababababababababababababababababababababab"
110 "wxyz1234567890"
111 );
84 UCX_TEST_BEGIN 112 UCX_TEST_BEGIN
85 113
86 sstr_t notfound = sstrstr(str, S("no match")); 114 sstr_t notfound = sstrstr(str, S("no match"));
87 UCX_TEST_ASSERT(notfound.length == 0, "no match must return empty string"); 115 UCX_TEST_ASSERT(notfound.length == 0, "no match must return empty string");
88 116
94 result = sstrstr(str, S("")); 122 result = sstrstr(str, S(""));
95 UCX_TEST_ASSERT(result.length == str.length, 123 UCX_TEST_ASSERT(result.length == str.length,
96 "sstrstr with empty match string returned wrong length"); 124 "sstrstr with empty match string returned wrong length");
97 UCX_TEST_ASSERT(!strcmp(str.ptr, result.ptr), 125 UCX_TEST_ASSERT(!strcmp(str.ptr, result.ptr),
98 "sstrstr with empty match string did not return the original string"); 126 "sstrstr with empty match string did not return the original string");
127
128 result = sstrstr(longstr, longstrpattern);
129 UCX_TEST_ASSERT(result.length == longstrresult.length,
130 "long string result length incorrect");
131 UCX_TEST_ASSERT(!strcmp(result.ptr, longstrresult.ptr),
132 "long string result content incorrect");
99 133
100 UCX_TEST_END 134 UCX_TEST_END
101 } 135 }
102 136
103 UCX_TEST(test_sstrcmp) { 137 UCX_TEST(test_sstrcmp) {

mercurial