[pango/test-coverage: 19/20] tests: Add some bidi api tests
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/test-coverage: 19/20] tests: Add some bidi api tests
- Date: Sun, 27 Jun 2021 22:45:17 +0000 (UTC)
commit 9b51e9d5124f17e1d9351736f66116d993aa6e5f
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jun 27 11:35:42 2021 -0400
tests: Add some bidi api tests
tests/testmisc.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
---
diff --git a/tests/testmisc.c b/tests/testmisc.c
index e241c56f..eb5c16e7 100644
--- a/tests/testmisc.c
+++ b/tests/testmisc.c
@@ -233,6 +233,68 @@ test_gravity_for_script (void)
}
}
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
+static void
+test_bidi_type_for_unichar (void)
+{
+ /* one representative from each class we support */
+ g_assert_true (pango_bidi_type_for_unichar ('a') == PANGO_BIDI_TYPE_L);
+ g_assert_true (pango_bidi_type_for_unichar (0x202a) == PANGO_BIDI_TYPE_LRE);
+ g_assert_true (pango_bidi_type_for_unichar (0x202d) == PANGO_BIDI_TYPE_LRO);
+ g_assert_true (pango_bidi_type_for_unichar (0x05d0) == PANGO_BIDI_TYPE_R);
+ g_assert_true (pango_bidi_type_for_unichar (0x0627) == PANGO_BIDI_TYPE_AL);
+ g_assert_true (pango_bidi_type_for_unichar (0x202b) == PANGO_BIDI_TYPE_RLE);
+ g_assert_true (pango_bidi_type_for_unichar (0x202e) == PANGO_BIDI_TYPE_RLO);
+ g_assert_true (pango_bidi_type_for_unichar (0x202c) == PANGO_BIDI_TYPE_PDF);
+ g_assert_true (pango_bidi_type_for_unichar ('0') == PANGO_BIDI_TYPE_EN);
+ g_assert_true (pango_bidi_type_for_unichar ('+') == PANGO_BIDI_TYPE_ES);
+ g_assert_true (pango_bidi_type_for_unichar ('#') == PANGO_BIDI_TYPE_ET);
+ g_assert_true (pango_bidi_type_for_unichar (0x601) == PANGO_BIDI_TYPE_AN);
+ g_assert_true (pango_bidi_type_for_unichar (',') == PANGO_BIDI_TYPE_CS);
+ g_assert_true (pango_bidi_type_for_unichar (0x0301) == PANGO_BIDI_TYPE_NSM);
+ g_assert_true (pango_bidi_type_for_unichar (0x200d) == PANGO_BIDI_TYPE_BN);
+ g_assert_true (pango_bidi_type_for_unichar (0x2029) == PANGO_BIDI_TYPE_B);
+ g_assert_true (pango_bidi_type_for_unichar (0x000b) == PANGO_BIDI_TYPE_S);
+ g_assert_true (pango_bidi_type_for_unichar (' ') == PANGO_BIDI_TYPE_WS);
+ g_assert_true (pango_bidi_type_for_unichar ('!') == PANGO_BIDI_TYPE_ON);
+ /* this should be FSI */
+ g_assert_true (pango_bidi_type_for_unichar (0x2026) == PANGO_BIDI_TYPE_ON);
+}
+
+static void
+test_bidi_mirror_char (void)
+{
+ /* just some samples */
+ struct {
+ gunichar a;
+ gunichar b;
+ } tests[] = {
+ { '(', ')' },
+ { '<', '>' },
+ { '[', ']' },
+ { '{', '}' },
+ { 0x00ab, 0x00bb },
+ { 0x2045, 0x2046 },
+ { 0x226e, 0x226f },
+ };
+
+ for (int i = 0; i < G_N_ELEMENTS (tests); i++)
+ {
+ gboolean ret;
+ gunichar ch;
+
+ ret = pango_get_mirror_char (tests[i].a, &ch);
+ g_assert_true (ret);
+ g_assert_true (ch == tests[i].b);
+ ret = pango_get_mirror_char (tests[i].b, &ch);
+ g_assert_true (ret);
+ g_assert_true (ch == tests[i].a);
+ }
+}
+
+G_GNUC_END_IGNORE_DEPRECATIONS
+
int
main (int argc, char *argv[])
{
@@ -250,6 +312,8 @@ main (int argc, char *argv[])
g_test_add_func ("/gravity/to-rotation", test_gravity_to_rotation);
g_test_add_func ("/gravity/from-matrix", test_gravity_from_matrix);
g_test_add_func ("/gravity/for-script", test_gravity_for_script);
+ g_test_add_func ("/bidi/type-for-unichar", test_bidi_type_for_unichar);
+ g_test_add_func ("/bidi/mirror-char", test_bidi_mirror_char);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]