From 6d7fc15c8ee5d5c79dedee05b88c71a8f0986b2f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 24 Apr 2018 20:31:23 -0400 Subject: Add a test for features --- tests/test-font.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/test-font.c b/tests/test-font.c index 76d00420..231ae180 100644 --- a/tests/test-font.c +++ b/tests/test-font.c @@ -114,6 +114,43 @@ test_variation (void) pango_font_description_free (desc2); } +static void +test_features (void) +{ + PangoFontDescription *desc1; + PangoFontDescription *desc2; + gchar *str; + + desc1 = pango_font_description_from_string ("Cantarell 14"); + g_assert (desc1 != NULL); + g_assert ((pango_font_description_get_set_fields (desc1) & PANGO_FONT_MASK_FEATURES) == 0); + g_assert (pango_font_description_get_features (desc1) == NULL); + + str = pango_font_description_to_string (desc1); + g_assert_cmpstr (str, ==, "Cantarell 14"); + g_free (str); + + desc2 = pango_font_description_from_string ("Cantarell 14 #c2sc=1,kern=0"); + g_assert (desc2 != NULL); + g_assert ((pango_font_description_get_set_fields (desc2) & PANGO_FONT_MASK_FEATURES) != 0); + g_assert_cmpstr (pango_font_description_get_features (desc2), ==, "c2sc=1,kern=0"); + + str = pango_font_description_to_string (desc2); + g_assert_cmpstr (str, ==, "Cantarell 14 #c2sc=1,kern=0"); + g_free (str); + + g_assert (!pango_font_description_equal (desc1, desc2)); + + pango_font_description_set_features (desc1, "c2sc=1,kern=0"); + g_assert ((pango_font_description_get_set_fields (desc1) & PANGO_FONT_MASK_FEATURES) != 0); + g_assert_cmpstr (pango_font_description_get_features (desc1), ==, "c2sc=1,kern=0"); + + g_assert (pango_font_description_equal (desc1, desc2)); + + pango_font_description_free (desc1); + pango_font_description_free (desc2); +} + int main (int argc, char *argv[]) { @@ -125,6 +162,7 @@ main (int argc, char *argv[]) g_test_add_func ("/pango/fontdescription/parse", test_parse); g_test_add_func ("/pango/fontdescription/roundtrip", test_roundtrip); g_test_add_func ("/pango/fontdescription/variation", test_variation); + g_test_add_func ("/pango/fontdescription/features", test_features); return g_test_run (); } -- cgit v1.2.1