tests/test_string.c

changeset 1674
8b0f162ac88e
parent 1673
0c338b80e7dd
child 1676
f889ffd07c86
equal deleted inserted replaced
1673:0c338b80e7dd 1674:8b0f162ac88e
224 CX_TEST_ASSERT(len2 == 9); 224 CX_TEST_ASSERT(len2 == 9);
225 CX_TEST_ASSERT(len3 == 10); 225 CX_TEST_ASSERT(len3 == 10);
226 } 226 }
227 } 227 }
228 228
229 CX_TEST(test_strsubs) { 229 CX_TEST(test_strsubs_cxs) {
230 cxstring str = cx_str("A test string"); 230 cxstring str = cx_str("A test string");
231 231 cxstring sub;
232 CX_TEST_DO { 232
233 cxstring sub = cx_strsubs(str, 0); 233 CX_TEST_DO {
234 sub = cx_strsubs(str, 0);
234 CX_TEST_ASSERT(0 == cx_strcmp(sub, str)); 235 CX_TEST_ASSERT(0 == cx_strcmp(sub, str));
235 236
236 sub = cx_strsubs(str, 2); 237 sub = cx_strsubs(str, 2);
237 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str("test string"))); 238 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test string"));
238 239
239 sub = cx_strsubs(str, 7); 240 sub = cx_strsubs(str, 7);
240 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str("string"))); 241 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
241 242
242 sub = cx_strsubs(str, 15); 243 sub = cx_strsubs(str, 15);
243 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str(""))); 244 CX_TEST_ASSERT(0 == cx_strcmp(sub, ""));
244 245
245 sub = cx_strsubsl(str, 2, 4); 246 sub = cx_strsubsl(str, 2, 4);
246 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str("test"))); 247 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test"));
247 248
248 sub = cx_strsubsl(str, 7, 3); 249 sub = cx_strsubsl(str, 7, 3);
249 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str("str"))); 250 CX_TEST_ASSERT(0 == cx_strcmp(sub, "str"));
250 251
251 sub = cx_strsubsl(str, 7, 20); 252 sub = cx_strsubsl(str, 7, 20);
252 CX_TEST_ASSERT(0 == cx_strcmp(sub, cx_str("string"))); 253 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
253 254 }
254 // just for coverage, call the _m variant 255 }
255 cxmutstr m = cx_strsubs_m(cx_mutstrn(NULL, 0), 0); 256
256 CX_TEST_ASSERT(0 == cx_strcmp(m, "")); 257 CX_TEST(test_strsubs_cc) {
258 const char *str = "A test string";
259 cxstring sub;
260
261 CX_TEST_DO {
262 sub = cx_strsubs(str, 0);
263 CX_TEST_ASSERT(0 == cx_strcmp(sub, str));
264
265 sub = cx_strsubs(str, 2);
266 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test string"));
267
268 sub = cx_strsubs(str, 7);
269 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
270
271 sub = cx_strsubs(str, 15);
272 CX_TEST_ASSERT(0 == cx_strcmp(sub, ""));
273
274 sub = cx_strsubsl(str, 2, 4);
275 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test"));
276
277 sub = cx_strsubsl(str, 7, 3);
278 CX_TEST_ASSERT(0 == cx_strcmp(sub, "str"));
279
280 sub = cx_strsubsl(str, 7, 20);
281 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
282 }
283 }
284
285 CX_TEST(test_strsubs_cxms) {
286 cxmutstr str = cx_mutstr((char*)"A test string");
287 cxmutstr sub;
288
289 CX_TEST_DO {
290 sub = cx_strsubs(str, 0);
291 CX_TEST_ASSERT(0 == cx_strcmp(sub, str));
292
293 sub = cx_strsubs(str, 2);
294 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test string"));
295
296 sub = cx_strsubs(str, 7);
297 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
298
299 sub = cx_strsubs(str, 15);
300 CX_TEST_ASSERT(0 == cx_strcmp(sub, ""));
301
302 sub = cx_strsubsl(str, 2, 4);
303 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test"));
304
305 sub = cx_strsubsl(str, 7, 3);
306 CX_TEST_ASSERT(0 == cx_strcmp(sub, "str"));
307
308 sub = cx_strsubsl(str, 7, 20);
309 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
310 }
311 }
312
313 CX_TEST(test_strsubs_c) {
314 char *str = "A test string";
315 cxmutstr sub;
316
317 CX_TEST_DO {
318 sub = cx_strsubs(str, 0);
319 CX_TEST_ASSERT(0 == cx_strcmp(sub, str));
320
321 sub = cx_strsubs(str, 2);
322 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test string"));
323
324 sub = cx_strsubs(str, 7);
325 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
326
327 sub = cx_strsubs(str, 15);
328 CX_TEST_ASSERT(0 == cx_strcmp(sub, ""));
329
330 sub = cx_strsubsl(str, 2, 4);
331 CX_TEST_ASSERT(0 == cx_strcmp(sub, "test"));
332
333 sub = cx_strsubsl(str, 7, 3);
334 CX_TEST_ASSERT(0 == cx_strcmp(sub, "str"));
335
336 sub = cx_strsubsl(str, 7, 20);
337 CX_TEST_ASSERT(0 == cx_strcmp(sub, "string"));
257 } 338 }
258 } 339 }
259 340
260 CX_TEST(test_strat) { 341 CX_TEST(test_strat) {
261 cxstring str = cx_str("Hello, World!"); 342 cxstring str = cx_str("Hello, World!");
1564 cx_test_register(suite, test_strfree); 1645 cx_test_register(suite, test_strfree);
1565 cx_test_register(suite, test_strdup); 1646 cx_test_register(suite, test_strdup);
1566 cx_test_register(suite, test_strdup_shortened); 1647 cx_test_register(suite, test_strdup_shortened);
1567 cx_test_register(suite, test_strcpy); 1648 cx_test_register(suite, test_strcpy);
1568 cx_test_register(suite, test_strlen); 1649 cx_test_register(suite, test_strlen);
1569 cx_test_register(suite, test_strsubs); 1650 cx_test_register(suite, test_strsubs_cxs);
1651 cx_test_register(suite, test_strsubs_cxms);
1652 cx_test_register(suite, test_strsubs_cc);
1653 cx_test_register(suite, test_strsubs_c);
1570 cx_test_register(suite, test_strat); 1654 cx_test_register(suite, test_strat);
1571 cx_test_register(suite, test_strchr); 1655 cx_test_register(suite, test_strchr);
1572 cx_test_register(suite, test_strrchr); 1656 cx_test_register(suite, test_strrchr);
1573 cx_test_register(suite, test_strstr); 1657 cx_test_register(suite, test_strstr);
1574 cx_test_register(suite, test_strcmp); 1658 cx_test_register(suite, test_strcmp);

mercurial