test/string_tests.c

changeset 236
ffc6d0910342
parent 233
bd58fdde142d
child 250
b7d1317b138e
--- a/test/string_tests.c	Mon Feb 20 17:28:58 2017 +0100
+++ b/test/string_tests.c	Thu Feb 23 14:30:12 2017 +0100
@@ -81,6 +81,34 @@
 
 UCX_TEST(test_sstrstr) {
     sstr_t str = ST("find the match in this string");
+    sstr_t longstr = ST(
+            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl"
+            "mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"
+            "yzabcdeababababnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij"
+            "klmnopqrstuvwxyzaababababababababrstuvwxyzabcdefghijklmnopqrstuv"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "wxyz1234567890");
+    sstr_t longstrpattern = ST(
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            );
+    sstr_t longstrresult = ST(
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "abababababababababababababababababababababababababababababababab"
+            "wxyz1234567890"
+            );
     UCX_TEST_BEGIN
     
     sstr_t notfound = sstrstr(str, S("no match"));
@@ -97,6 +125,12 @@
     UCX_TEST_ASSERT(!strcmp(str.ptr, result.ptr),
         "sstrstr with empty match string did not return the original string");
     
+    result = sstrstr(longstr, longstrpattern);
+    UCX_TEST_ASSERT(result.length == longstrresult.length,
+            "long string result length incorrect");
+    UCX_TEST_ASSERT(!strcmp(result.ptr, longstrresult.ptr),
+            "long string result content incorrect");
+    
     UCX_TEST_END
 }
 

mercurial