diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-07-22 16:20:37 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-07-22 16:20:37 +0000 |
commit | f401cb1789400384aca0e3679e47213148c9403b (patch) | |
tree | b2c949dda55a6199efdd35d0815acf384af8b065 /tests | |
parent | 5319f448a052ab328deefea2a6a697fab2903ddf (diff) | |
parent | 2036d2b6be2254f97f23944b04a58d224bd1409d (diff) | |
download | pango-f401cb1789400384aca0e3679e47213148c9403b.tar.gz |
Merge branch 'better-hyphens' into 'master'
Better hyphens
See merge request GNOME/pango!89
Diffstat (limited to 'tests')
-rw-r--r-- | tests/breaks/one.expected | 10 | ||||
-rw-r--r-- | tests/breaks/three.expected | 10 | ||||
-rw-r--r-- | tests/breaks/two.expected | 10 | ||||
-rw-r--r-- | tests/layouts/valid-4.expected | 24 | ||||
-rw-r--r-- | tests/test-break.c | 22 | ||||
-rw-r--r-- | tests/testiter.c | 11 |
6 files changed, 52 insertions, 35 deletions
diff --git a/tests/breaks/one.expected b/tests/breaks/one.expected index d474c6e4..66c6bd48 100644 --- a/tests/breaks/one.expected +++ b/tests/breaks/one.expected @@ -1,5 +1,5 @@ -Text: a b c / d e f [ ] g h i [0xad] j k l . [ ] B l a [0x0a] -Breaks: c c c c lc c c c lc c c c lc c c c c lc c c c Lc -Whitespace: x x w w -Words: bs be bs be bs be b bs be b -Sentences: bs e bs e b +Text: a b c / d e f [ ] g h i [0xad] j k l . [ ] B l a [0x0a] +Breaks: c c c c lc c c c lc c c c lc c c c c lc c c c c +Whitespace: x x w w +Words: bs be bs be bs be b bs be b +Sentences: bs e bs e b diff --git a/tests/breaks/three.expected b/tests/breaks/three.expected index b7d8bd90..0e60f876 100644 --- a/tests/breaks/three.expected +++ b/tests/breaks/three.expected @@ -1,5 +1,5 @@ -Text: o n e [ ] t w o [0x2028] r e d [ ] b l u e[0x200d] g r e e n [0x0a] -Breaks: c c c c lc c c c Lc c c c lc c c c c c c c c c Lc -Whitespace: x w x w w -Words: bs be bs be bs be bs be b -Sentences: bs e bs e b +Text: o n e [ ] t w o [0x2028] r e d [ ] b l u e[0x200d] g r e e n [0x0a] +Breaks: c c c c lc c c c Lc c c c lc c c c c c c c c c c +Whitespace: x w x w w +Words: bs be bs be bs be bs be b +Sentences: bs e bs e b diff --git a/tests/breaks/two.expected b/tests/breaks/two.expected index cea1f884..7ff48c28 100644 --- a/tests/breaks/two.expected +++ b/tests/breaks/two.expected @@ -1,5 +1,5 @@ -Text: g o r i l · l e s [0x0a] -Breaks: c c c c c c c c c c Lc -Whitespace: w w -Words: bs e s be b -Sentences: bs e b +Text: g o r i l · l e s [0x0a] +Breaks: c c c c c c c c c c c +Whitespace: w w +Words: bs e s be b +Sentences: bs e b diff --git a/tests/layouts/valid-4.expected b/tests/layouts/valid-4.expected index d0ffe0ed..09f143f3 100644 --- a/tests/layouts/valid-4.expected +++ b/tests/layouts/valid-4.expected @@ -23,16 +23,14 @@ i=6, index=152, paragraph-start=1, dir=ltr '' --- runs -i=1, index=0, chars=29, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'This paragraph should actual' -i=2, index=30, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=common, language=en-us, '' -i=3, index=32, no run, line end -i=4, index=32, chars=31, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ly have multiple lines, unlike ' -i=5, index=63, no run, line end -i=6, index=63, chars=28, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'all the other wannabe äöü pa' -i=7, index=94, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=common, language=en-us, '' -i=8, index=96, no run, line end -i=9, index=96, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ragraph tests in this ugh ' -i=10, index=124, no run, line end -i=11, index=124, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'test-case. Grow some lines!' -i=12, index=151, no run, line end -i=13, index=152, no run, line end +i=1, index=0, chars=30, level=0, gravity=south, flags=4, font=OMITTED, script=latin, language=en-us, 'This paragraph should actual' +i=2, index=32, no run, line end +i=3, index=32, chars=31, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ly have multiple lines, unlike ' +i=4, index=63, no run, line end +i=5, index=63, chars=29, level=0, gravity=south, flags=4, font=OMITTED, script=latin, language=en-us, 'all the other wannabe äöü pa' +i=6, index=96, no run, line end +i=7, index=96, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ragraph tests in this ugh ' +i=8, index=124, no run, line end +i=9, index=124, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'test-case. Grow some lines!' +i=10, index=151, no run, line end +i=11, index=152, no run, line end diff --git a/tests/test-break.c b/tests/test-break.c index 00bc7be0..8549b678 100644 --- a/tests/test-break.c +++ b/tests/test-break.c @@ -41,13 +41,15 @@ test_file (const gchar *filename, GString *string) gsize length; GError *error = NULL; PangoLogAttr *attrs; - PangoLanguage *lang; int len; char *p; int i; GString *s1, *s2, *s3, *s4; int m; char *test; + char *text; + PangoAttrList *attributes; + PangoLayout *layout; if (!g_file_get_contents (filename, &contents, &length, &error)) { @@ -66,9 +68,17 @@ test_file (const gchar *filename, GString *string) len = g_utf8_strlen (test, -1) + 1; attrs = g_new (PangoLogAttr, len); - lang = pango_language_from_string ("en"); + if (!pango_parse_markup (test, -1, 0, &attributes, &text, NULL, &error)) + { + fprintf (stderr, "%s\n", error->message); + g_error_free (error); + return; + } - pango_get_log_attrs (test, length, -1, lang, attrs, len); + layout = pango_layout_new (context); + pango_layout_set_text (layout, text, length); + pango_layout_set_attributes (layout, attributes); + pango_layout_get_log_attrs (layout, &attrs, &len); s1 = g_string_new ("Breaks: "); s2 = g_string_new ("Whitespace: "); @@ -85,7 +95,7 @@ test_file (const gchar *filename, GString *string) g_string_append_printf (s4, "%*s", (int)(m - s4->len), ""); g_string_append_printf (string, "%*s", (int)(m - strlen ("Text: ")), ""); - for (i = 0, p = test; i < len; i++, p = g_utf8_next_char (p)) + for (i = 0, p = text; i < len; i++, p = g_utf8_next_char (p)) { PangoLogAttr log = attrs[i]; int b = 0; @@ -208,8 +218,10 @@ test_file (const gchar *filename, GString *string) g_string_free (s3, TRUE); g_string_free (s4, TRUE); + g_object_unref (layout); g_free (attrs); g_free (contents); + pango_attr_list_unref (attributes); } static gchar * @@ -270,7 +282,7 @@ main (int argc, char *argv[]) g_test_init (&argc, &argv, NULL); - context = pango_context_new (); + context = pango_font_map_create_context (pango_cairo_font_map_get_default ()); /* allow to easily generate expected output for new test cases */ if (argc > 1) diff --git a/tests/testiter.c b/tests/testiter.c index de3b462f..653c4bec 100644 --- a/tests/testiter.c +++ b/tests/testiter.c @@ -115,12 +115,19 @@ iter_char_test (PangoLayout *layout) if (run) { + PangoFontDescription *desc; + char *str; + /* Get needed data for the GlyphString */ pango_layout_iter_get_run_extents(iter, NULL, &run_extents); offset = run->item->offset; rtl = run->item->analysis.level%2; - verbose (" (current run: offset=%d,x=%d,len=%d,rtl=%d)\n", - offset, run_extents.x, run->item->length, rtl); + desc = pango_font_describe (run->item->analysis.font); + str = pango_font_description_to_string (desc); + verbose (" (current run: font=%s,offset=%d,x=%d,len=%d,rtl=%d)\n", + str, offset, run_extents.x, run->item->length, rtl); + g_free (str); + pango_font_description_free (desc); /* Calculate expected x result using index_to_x */ pango_glyph_string_index_to_x (run->glyphs, |