aboutsummaryrefslogtreecommitdiff
path: root/tests/string_tests.c
diff options
context:
space:
mode:
authorMosder <git@mosder.eu>2026-09-15 19:25:54 +0200
committerMosder <git@mosder.eu>2026-09-15 19:25:54 +0200
commite8d922d09df83ce8b4e3594a4809de204f1ac79a (patch)
tree34028156f2202f039db08eab3b02f0dd583f9360 /tests/string_tests.c
parente1463e1ea2d9c81b988771d52306d8cffc1acc70 (diff)
formatting: formatted against new .clang-format
Diffstat (limited to 'tests/string_tests.c')
-rw-r--r--tests/string_tests.c96
1 files changed, 73 insertions, 23 deletions
diff --git a/tests/string_tests.c b/tests/string_tests.c
index 0d0d7e2..f600400 100644
--- a/tests/string_tests.c
+++ b/tests/string_tests.c
@@ -26,7 +26,9 @@ TEST(creating) {
test_assert(ss3.data == str && ss3.len == str_len, "ss_from_vars created wrong slice");
StringSlice ss4 = SS_LIT(HELLO_WORLD_LIT);
- test_assert(ss4.data == str && ss4.len == sizeof(HELLO_WORLD_LIT) - 1, "SS_LIT created wrong slice");
+ test_assert(
+ ss4.data == str && ss4.len == sizeof(HELLO_WORLD_LIT) - 1, "SS_LIT created wrong slice"
+ );
StringSlice ss5 = ss_copy(ss1);
test_assert(ss5.data == ss1.data && ss5.len == ss1.len, "ss_from_arr created wrong slice");
@@ -58,11 +60,15 @@ TEST(comparing) {
free(hw);
StringSlice ss3 = ss_from_vars(ss.data, ss.len - 1);
- test_assert(ss_eq(ss, ss3) == 0, "slice is equal when the pointer is the same but length differs");
+ test_assert(
+ ss_eq(ss, ss3) == 0, "slice is equal when the pointer is the same but length differs"
+ );
StringSlice ss4 = ss_from_str("hello");
StringSlice ss5 = ss_from_str("world");
- test_assert(ss_eq(ss4, ss5) == 0, "slice is equal when the length is the same but pointer differs");
+ test_assert(
+ ss_eq(ss4, ss5) == 0, "slice is equal when the length is the same but pointer differs"
+ );
test_assert(ss_eq_str(ss4, "world") == 0, "slice is equal to different string");
}
@@ -86,7 +92,9 @@ TEST(trimming) {
TEST(prefix_suffix) {
StringSlice ss = ss_from_str("pre mid suf");
- test_assert(ss_starts_with(ss, ss_from_str("pre")), "slice doesn't start with its slice prefix");
+ test_assert(
+ ss_starts_with(ss, ss_from_str("pre")), "slice doesn't start with its slice prefix"
+ );
test_assert(ss_starts_with(ss, ss_from_str("suf")) == 0, "slice starts with not slice prefix");
test_assert(ss_ends_with(ss, ss_from_str("suf")), "slice doesn't end with its slice suffix");
@@ -99,7 +107,9 @@ TEST(prefix_suffix) {
test_assert(ss_ends_with_str(ss, "pre") == 0, "slice ends with not string suffix");
StringSlice ss2 = ss_from_str("");
- test_assert(ss_starts_with(ss2, ss_from_str("")), "starts_with breaks for empty slice and prefix");
+ test_assert(
+ ss_starts_with(ss2, ss_from_str("")), "starts_with breaks for empty slice and prefix"
+ );
test_assert(ss_ends_with(ss2, ss_from_str("")), "ends_with breaks for empty slice and suffix");
}
@@ -151,7 +161,9 @@ TEST(splitting) {
StringSlice ss1 = ss_from_str("Hello, World!");
StringSlice ss2 = ss_split(&ss1, ',');
- test_assert(ss_eq_str(ss2, "Hello") && ss_eq_str(ss1, " World!"), "ss_split didn't split proprely");
+ test_assert(
+ ss_eq_str(ss2, "Hello") && ss_eq_str(ss1, " World!"), "ss_split didn't split proprely"
+ );
StringSlice ss3 = ss_split_str(&ss2, "ll");
test_assert(ss_eq_str(ss3, "He") && ss_eq_str(ss2, "o"), "ss_split_str didn't split proprely");
@@ -162,47 +174,85 @@ TEST(splitting) {
ss1 = ss_from_str("hiii");
ss2 = ss_split_str(&ss1, "");
- test_assert(ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_str fails empty str edge case");
+ test_assert(
+ ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_str fails empty str edge case"
+ );
ss2 = ss_split_ss(&ss1, SS_LIT(""));
- test_assert(ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_ss fails empty ss edge case");
+ test_assert(
+ ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_ss fails empty ss edge case"
+ );
ss2 = ss_split(&ss1, '.');
- test_assert(ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split fails not found delim edge case");
+ test_assert(
+ ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split fails not found delim edge case"
+ );
ss1 = ss_split_str(&ss2, "..");
- test_assert(ss_eq_str(ss1, "hiii") && ss_eq_str(ss2, ""), "ss_split_str fails not found delim edge case");
+ test_assert(
+ ss_eq_str(ss1, "hiii") && ss_eq_str(ss2, ""), "ss_split_str fails not found delim edge case"
+ );
ss2 = ss_split_ss(&ss1, SS_LIT("..."));
- test_assert(ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split_ss fails not found delim edge case");
+ test_assert(
+ ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split_ss fails not found delim edge case"
+ );
StringSlice ss_middle = ss_from_str("[left][middle][right]");
StringSlice ss_left = ss_split_left(&ss_middle, 6);
- test_assert(ss_eq_str(ss_left, "[left]") && ss_eq_str(ss_middle, "[middle][right]"), "ss_split_left didn't split properly");
+ test_assert(
+ ss_eq_str(ss_left, "[left]") && ss_eq_str(ss_middle, "[middle][right]"),
+ "ss_split_left didn't split properly"
+ );
StringSlice ss_right = ss_split_right(&ss_middle, 7);
- test_assert(ss_eq_str(ss_right, "[right]") && ss_eq_str(ss_middle, "[middle]"), "ss_split_right didn't split properly");
+ test_assert(
+ ss_eq_str(ss_right, "[right]") && ss_eq_str(ss_middle, "[middle]"),
+ "ss_split_right didn't split properly"
+ );
ss_left = ss_split_left(&ss_middle, 20);
- test_assert(ss_eq_str(ss_left, "[middle]") && ss_eq_str(ss_middle, ""), "ss_split_left didn't split properly (n > len)");
+ test_assert(
+ ss_eq_str(ss_left, "[middle]") && ss_eq_str(ss_middle, ""),
+ "ss_split_left didn't split properly (n > len)"
+ );
ss_right = ss_split_right(&ss_middle, 500);
- test_assert(ss_eq_str(ss_right, "") && ss_eq_str(ss_middle, ""), "ss_split_right didn't split properly (n > len)");
+ test_assert(
+ ss_eq_str(ss_right, "") && ss_eq_str(ss_middle, ""),
+ "ss_split_right didn't split properly (n > len)"
+ );
}
TEST(finding) {
char *txt = "a slice of FINDME text";
StringSlice ss = ss_from_str(txt);
- test_assert(ss_eq_str(ss_find(ss, ss_from_str("FINDME")), "FINDME text"), "find didn't find a part of the slice");
- test_assert(ss_eq_str(ss_find_str(ss, "FINDME"), "FINDME text"), "find_str didn't find a part of the slice");
-
- test_assert(ss_eq(ss_find(ss, ss_from_str("")), ss), "find didn't return whole slice for empty target");
- test_assert(ss_eq(ss_find_str(ss, ""), ss), "find_str didn't return whole slice for empty target");
-
- test_assert(ss_eq_str(ss_find(ss, ss_from_str("abcd")), ""), "find didn't return empty slice for not found target");
- test_assert(ss_eq_str(ss_find_str(ss, "abcd"), ""), "find_str didn't return empty slice for not found target");
+ test_assert(
+ ss_eq_str(ss_find(ss, ss_from_str("FINDME")), "FINDME text"),
+ "find didn't find a part of the slice"
+ );
+ test_assert(
+ ss_eq_str(ss_find_str(ss, "FINDME"), "FINDME text"),
+ "find_str didn't find a part of the slice"
+ );
+
+ test_assert(
+ ss_eq(ss_find(ss, ss_from_str("")), ss), "find didn't return whole slice for empty target"
+ );
+ test_assert(
+ ss_eq(ss_find_str(ss, ""), ss), "find_str didn't return whole slice for empty target"
+ );
+
+ test_assert(
+ ss_eq_str(ss_find(ss, ss_from_str("abcd")), ""),
+ "find didn't return empty slice for not found target"
+ );
+ test_assert(
+ ss_eq_str(ss_find_str(ss, "abcd"), ""),
+ "find_str didn't return empty slice for not found target"
+ );
}
TEST(utf8_len_test) {