Basic UTF-8 functions
This commit is contained in:
+33
-2
@@ -451,10 +451,13 @@ void string_test_misc(void)
|
||||
bool prefix1 = str_starts_with(str1, S("He"));
|
||||
bool prefix2 = str_starts_with(str1, S(""));
|
||||
bool prefix3 = str_starts_with(str1, S("false"));
|
||||
bool prefix4 = str_starts_with(str1, S("Hello World"));
|
||||
|
||||
bool suffix1 = str_ends_with(str1, S("orld"));
|
||||
bool suffix2 = str_ends_with(str1, S(""));
|
||||
bool suffix3 = str_ends_with(str1, S("false"));
|
||||
printf("matches: %d %d %d %d %d %d\n", prefix1, prefix2, prefix3, suffix1, suffix2, suffix3);
|
||||
bool suffix4 = str_ends_with(str1, S("Hello World"));
|
||||
printf("matches: %d %d %d %d %d %d %d %d\n", prefix1, prefix2, prefix3, prefix4, suffix1, suffix2, suffix3, suffix4);
|
||||
|
||||
Str str2 = S(" Hello World\t \n");
|
||||
Str str2_trim = str_ascii_trim(str2);
|
||||
@@ -465,7 +468,6 @@ void string_test_misc(void)
|
||||
Str str3_trim = str_ascii_trim(str3);
|
||||
printf("str3_trim: '%.*s'\n", str3_trim.len, str3_trim.str);
|
||||
|
||||
|
||||
Str str4 = S(" \t\t ");
|
||||
Str str4_trim = str_ascii_trim(str4);
|
||||
printf("str4_trim: '%.*s'\n", str4_trim.len, str4_trim.str);
|
||||
@@ -499,6 +501,34 @@ void string_test_join(void)
|
||||
|
||||
}
|
||||
|
||||
void print_runes(Str str)
|
||||
{
|
||||
U32 offset = 0;
|
||||
U32 len = str_rune_count(str);
|
||||
printf("rune len %d\n", len);
|
||||
while (offset < str.len) {
|
||||
RuneDecode d = str_utf8_decode(str, offset);
|
||||
printf("Rune: %d valid: %d\n", d.rune, d.valid);
|
||||
offset += d.width;
|
||||
}
|
||||
}
|
||||
|
||||
void string_test_utf8(void)
|
||||
{
|
||||
Str str1 = S("Test 1ø2 ☺");
|
||||
|
||||
TRACEF("str1:\n");
|
||||
print_runes(str1);
|
||||
|
||||
Str str2 = str_empty();
|
||||
TRACEF("str2:\n");
|
||||
print_runes(str2);
|
||||
|
||||
Str str3 = S("1Å 2\xc6" "3\xc3");
|
||||
TRACEF("str3:\n");
|
||||
print_runes(str3);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
arena_test_1();
|
||||
@@ -515,6 +545,7 @@ int main(int argc, char *argv[])
|
||||
string_split_test_1();
|
||||
string_test_misc();
|
||||
string_test_join();
|
||||
string_test_utf8();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user