diff -r e974640ec4e0 -r aa376dba1ba8 test/string_tests.c --- a/test/string_tests.c Wed Aug 14 16:07:49 2013 +0200 +++ b/test/string_tests.c Fri Aug 16 13:40:10 2013 +0200 @@ -209,3 +209,28 @@ UCX_TEST_ASSERT(empty.length == 0, "empty string failed"); UCX_TEST_END } + +UCX_TEST(test_sstrprefixsuffix) { + sstr_t str = ST("test my prefix and my suffix"); + sstr_t empty = ST(""); + + UCX_TEST_BEGIN + + UCX_TEST_ASSERT(!sstrprefix(empty, S("pref")), "prefix empty string fails"); + UCX_TEST_ASSERT(!sstrsuffix(empty, S("suf")), "suffix empty string fails"); + + UCX_TEST_ASSERT(sstrprefix(str, empty), "empty prefix fails"); + UCX_TEST_ASSERT(sstrsuffix(str, empty), "empty suffix fails"); + + UCX_TEST_ASSERT(sstrprefix(empty, empty), "string and prefix empty fails"); + UCX_TEST_ASSERT(sstrsuffix(empty, empty), "string and suffix empty fails"); + + UCX_TEST_ASSERT(sstrprefix(str, S("test ")), "prefix false negative"); + UCX_TEST_ASSERT(!sstrprefix(str, S("8-) fsck ")), "prefix false positive"); + + UCX_TEST_ASSERT(sstrsuffix(str, S("fix")), "suffix false negative"); + UCX_TEST_ASSERT(!sstrsuffix(str, S("fox")), "suffix false positive"); + + + UCX_TEST_END +}