diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-07-27 18:21:15 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-07-30 19:51:19 -0400 |
commit | 154880b2ad9064ac78c8e1d55a2ae96bf48d159a (patch) | |
tree | 8e42b1feae0a0425fb51c388c8f8bc0195dfcc9b /glib/tests/utf8-pointer.c | |
parent | 0e48b7ea7c436dde8e1e3d432a4c0dd6da7055fa (diff) | |
download | glib-154880b2ad9064ac78c8e1d55a2ae96bf48d159a.tar.gz |
Remove duplicate utf8 strreverse test
Also add some tests for find next/prev char.
Diffstat (limited to 'glib/tests/utf8-pointer.c')
-rw-r--r-- | glib/tests/utf8-pointer.c | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/glib/tests/utf8-pointer.c b/glib/tests/utf8-pointer.c index 2c5e38624..6ef27d30f 100644 --- a/glib/tests/utf8-pointer.c +++ b/glib/tests/utf8-pointer.c @@ -92,15 +92,38 @@ test_length (void) } static void -test_misc (void) +test_find (void) { - char *s; - s = g_utf8_strreverse ("1234", -1); - g_assert (strcmp (s, "4321") == 0); - g_free (s); - s = g_utf8_strreverse ("1234", 3); - g_assert (strcmp (s, "321") == 0); - g_free (s); + /* U+0B0B Oriya Letter Vocalic R (\340\254\213) + * U+10900 Phoenician Letter Alf (\360\220\244\200) + * U+0041 Latin Capital Letter A (\101) + * U+1EB6 Latin Capital Letter A With Breve And Dot Below (\341\272\266) + */ + const gchar *str = "\340\254\213\360\220\244\200\101\341\272\266"; + const gchar *p = str + strlen (str); + const gchar *q; + + q = g_utf8_find_prev_char (str, p); + g_assert (q == str + 8); + q = g_utf8_find_prev_char (str, q); + g_assert (q == str + 7); + q = g_utf8_find_prev_char (str, q); + g_assert (q == str + 3); + q = g_utf8_find_prev_char (str, q); + g_assert (q == str); + q = g_utf8_find_prev_char (str, q); + g_assert (q == NULL); + + p = str + 2; + q = g_utf8_find_next_char (p, NULL); + g_assert (q == str + 3); + q = g_utf8_find_next_char (q, NULL); + g_assert (q == str + 7); + + q = g_utf8_find_next_char (p, str + 6); + g_assert (q == str + 3); + q = g_utf8_find_next_char (q, str + 6); + g_assert (q == NULL); } int main (int argc, char *argv[]) @@ -109,7 +132,7 @@ int main (int argc, char *argv[]) g_test_add_data_func ("/utf8/offsets", longline, test_utf8); g_test_add_func ("/utf8/lengths", test_length); - g_test_add_func ("/utf8/reverse", test_misc); + g_test_add_func ("/utf8/find", test_find); return g_test_run (); } |