[test/buffer] Test reverse() and reverse_clusters()
[profile/ivi/org.tizen.video-player.git] / test / test-unicode.c
index c210d54..c696341 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Codethink Limited
+ * Copyright © 2011 Codethink Limited
  *
  *  This is part of HarfBuzz, a text shaping library.
  *
@@ -35,7 +35,6 @@ test_nil (void)
 
   g_assert_cmpint (hb_unicode_get_script (uf, 'd'), ==, HB_SCRIPT_UNKNOWN);
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
   hb_unicode_funcs_destroy (uf);
 }
 
@@ -45,10 +44,14 @@ test_glib (void)
   hb_unicode_funcs_t *uf = hb_glib_get_unicode_funcs ();
 
   g_assert_cmpint (hb_unicode_get_script (uf, 'd'), ==, HB_SCRIPT_LATIN);
+}
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 0);
-  hb_unicode_funcs_destroy (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 0);
+static void
+test_default (void)
+{
+  hb_unicode_funcs_t *uf = hb_unicode_funcs_get_default ();
+
+  g_assert_cmpint (hb_unicode_get_script (uf, 'd'), ==, HB_SCRIPT_LATIN);
 }
 
 static gboolean freed0, freed1;
@@ -92,7 +95,6 @@ test_custom (void)
   g_assert_cmpint (hb_unicode_get_script (uf, 'a'), ==, HB_SCRIPT_LATIN);
   g_assert_cmpint (hb_unicode_get_script (uf, '0'), ==, HB_SCRIPT_UNKNOWN);
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
   g_assert (!freed0 && !freed1);
   hb_unicode_funcs_destroy (uf);
   g_assert (freed0 && !freed1);
@@ -123,13 +125,10 @@ test_subclassing_nil (void)
   hb_unicode_funcs_t *uf, *aa;
 
   uf = hb_unicode_funcs_create (NULL);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
 
   aa = hb_unicode_funcs_create (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 2);
 
   hb_unicode_funcs_destroy (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
 
   hb_unicode_funcs_set_script_func (aa, a_is_for_arabic_get_script,
                                     unique_pointer1, free_up);
@@ -137,8 +136,6 @@ test_subclassing_nil (void)
   g_assert_cmpint (hb_unicode_get_script (aa, 'a'), ==, HB_SCRIPT_ARABIC);
   g_assert_cmpint (hb_unicode_get_script (aa, 'b'), ==, HB_SCRIPT_UNKNOWN);
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (aa), ==, 1);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
   g_assert (!freed0 && !freed1);
   hb_unicode_funcs_destroy (aa);
   g_assert (!freed0 && freed1);
@@ -151,13 +148,7 @@ test_subclassing_glib (void)
   hb_unicode_funcs_t *uf, *aa;
 
   uf = hb_glib_get_unicode_funcs ();
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 0);
-
   aa = hb_unicode_funcs_create (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 0);
-
-  hb_unicode_funcs_destroy (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 0);
 
   hb_unicode_funcs_set_script_func (aa, a_is_for_arabic_get_script,
                                     unique_pointer1, free_up);
@@ -165,7 +156,6 @@ test_subclassing_glib (void)
   g_assert_cmpint (hb_unicode_get_script (aa, 'a'), ==, HB_SCRIPT_ARABIC);
   g_assert_cmpint (hb_unicode_get_script (aa, 'b'), ==, HB_SCRIPT_LATIN);
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (aa), ==, 1);
   g_assert (!freed0 && !freed1);
   hb_unicode_funcs_destroy (aa);
   g_assert (!freed0 && freed1);
@@ -178,17 +168,13 @@ test_subclassing_deep (void)
   hb_unicode_funcs_t *uf, *aa;
 
   uf = hb_unicode_funcs_create (NULL);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
 
   hb_unicode_funcs_set_script_func (uf, simple_get_script,
                                     unique_pointer0, free_up);
 
   aa = hb_unicode_funcs_create (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (aa), ==, 1);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 2);
 
   hb_unicode_funcs_destroy (uf);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
 
   /* make sure the 'uf' didn't get freed, since 'aa' holds a ref */
   g_assert (!freed0);
@@ -200,8 +186,6 @@ test_subclassing_deep (void)
   g_assert_cmpint (hb_unicode_get_script (aa, 'b'), ==, HB_SCRIPT_LATIN);
   g_assert_cmpint (hb_unicode_get_script (aa, '0'), ==, HB_SCRIPT_UNKNOWN);
 
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (aa), ==, 1);
-  g_assert_cmpint (hb_unicode_funcs_get_reference_count (uf), ==, 1);
   g_assert (!freed0 && !freed1);
   hb_unicode_funcs_destroy (aa);
   g_assert (freed0 && freed1);
@@ -215,10 +199,14 @@ main (int argc, char **argv)
 
   g_test_add_func ("/unicode/nil", test_nil);
   g_test_add_func ("/unicode/glib", test_glib);
+  g_test_add_func ("/unicode/default", test_default);
   g_test_add_func ("/unicode/custom", test_custom);
   g_test_add_func ("/unicode/subclassing/nil", test_subclassing_nil);
   g_test_add_func ("/unicode/subclassing/glib", test_subclassing_glib);
   g_test_add_func ("/unicode/subclassing/deep", test_subclassing_deep);
 
+  /* XXX test all methods for their defaults and various (glib, icu, default) implementations. */
+  /* XXX test glib & icu two-way script conversion */
+
   return g_test_run ();
 }