From 3f6f2887f02ee6cf98d115085b0dcff681696e0e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 22 Nov 2021 20:33:11 -0500 Subject: Optionally serialize output If requested, serialize lines, runs, and log attrs. This will let us use the serialization format to record not just the test inputs, but outputs as well. --- pango/pango-layout.h | 2 + pango/serializer.c | 383 +++++++++++++++++++++++++++++++++++++++- tests/layouts/valid-1.expected | 43 ----- tests/layouts/valid-10.expected | 37 ---- tests/layouts/valid-11.expected | 53 ------ tests/layouts/valid-12.expected | 35 ---- tests/layouts/valid-13.expected | 35 ---- tests/layouts/valid-14.expected | 38 ---- tests/layouts/valid-15.expected | 36 ---- tests/layouts/valid-16.expected | 37 ---- tests/layouts/valid-17.expected | 35 ---- tests/layouts/valid-18.expected | 40 ----- tests/layouts/valid-19.expected | 42 ----- tests/layouts/valid-2.expected | 42 ----- tests/layouts/valid-20.expected | 40 ----- tests/layouts/valid-22.expected | 111 ------------ tests/layouts/valid-3.expected | 33 ---- tests/layouts/valid-4.expected | 44 ----- tests/layouts/valid-5.expected | 56 ------ tests/layouts/valid-6.expected | 33 ---- tests/layouts/valid-7.expected | 43 ----- tests/layouts/valid-8.expected | 34 ---- tests/layouts/valid-9.expected | 49 ----- 23 files changed, 384 insertions(+), 917 deletions(-) delete mode 100644 tests/layouts/valid-1.expected delete mode 100644 tests/layouts/valid-10.expected delete mode 100644 tests/layouts/valid-11.expected delete mode 100644 tests/layouts/valid-12.expected delete mode 100644 tests/layouts/valid-13.expected delete mode 100644 tests/layouts/valid-14.expected delete mode 100644 tests/layouts/valid-15.expected delete mode 100644 tests/layouts/valid-16.expected delete mode 100644 tests/layouts/valid-17.expected delete mode 100644 tests/layouts/valid-18.expected delete mode 100644 tests/layouts/valid-19.expected delete mode 100644 tests/layouts/valid-2.expected delete mode 100644 tests/layouts/valid-20.expected delete mode 100644 tests/layouts/valid-22.expected delete mode 100644 tests/layouts/valid-3.expected delete mode 100644 tests/layouts/valid-4.expected delete mode 100644 tests/layouts/valid-5.expected delete mode 100644 tests/layouts/valid-6.expected delete mode 100644 tests/layouts/valid-7.expected delete mode 100644 tests/layouts/valid-8.expected delete mode 100644 tests/layouts/valid-9.expected diff --git a/pango/pango-layout.h b/pango/pango-layout.h index 3c43c202..32dc16f0 100644 --- a/pango/pango-layout.h +++ b/pango/pango-layout.h @@ -355,6 +355,7 @@ GSList * pango_layout_get_lines_readonly (PangoLayout *layout); * PangoLayoutSerializeFlags: * @PANGO_LAYOUT_SERIALIZE_DEFAULT: Default behavior * @PANGO_LAYOUT_SERIALIZE_CONTEXT: Include context information + * @PANGO_LAYOUT_SERIALIZE_OUTPUT: Include information about the formatted output * * Flags that influence the behavior of [method@Pango.Layout.serialize]. * @@ -363,6 +364,7 @@ GSList * pango_layout_get_lines_readonly (PangoLayout *layout); typedef enum { PANGO_LAYOUT_SERIALIZE_DEFAULT = 0, PANGO_LAYOUT_SERIALIZE_CONTEXT = 1 << 0, + PANGO_LAYOUT_SERIALIZE_OUTPUT = 1 << 1, } PangoLayoutSerializeFlags; PANGO_AVAILABLE_IN_1_50 diff --git a/pango/serializer.c b/pango/serializer.c index fdaba728..855fafea 100644 --- a/pango/serializer.c +++ b/pango/serializer.c @@ -25,7 +25,9 @@ #include #include #include +#include +#include #include /* {{{ Error handling */ @@ -257,7 +259,7 @@ add_context (JsonBuilder *builder, json_builder_set_member_name (builder, "gravity-hint"); add_enum_value (builder, PANGO_TYPE_GRAVITY_HINT, context->gravity_hint, FALSE); - json_builder_set_member_name (builder, "direction"); + json_builder_set_member_name (builder, "base-dir"); add_enum_value (builder, PANGO_TYPE_DIRECTION, context->base_dir, FALSE); json_builder_set_member_name (builder, "round-glyph-positions"); @@ -280,6 +282,379 @@ add_context (JsonBuilder *builder, json_builder_end_object (builder); } +static void +add_log_attrs (JsonBuilder *builder, + PangoLayout *layout) +{ + const PangoLogAttr *log_attrs; + int n_attrs; + + json_builder_set_member_name (builder, "log-attrs"); + json_builder_begin_array (builder); + + log_attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs); + for (int i = 0; i < n_attrs; i++) + { + json_builder_begin_object (builder); + if (log_attrs[i].is_line_break) + { + json_builder_set_member_name (builder, "line-break"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_mandatory_break) + { + json_builder_set_member_name (builder, "mandatory-break"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_char_break) + { + json_builder_set_member_name (builder, "char-break"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_white) + { + json_builder_set_member_name (builder, "white"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_cursor_position) + { + json_builder_set_member_name (builder, "cursor-position"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_word_start) + { + json_builder_set_member_name (builder, "word-start"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_word_end) + { + json_builder_set_member_name (builder, "word-end"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_sentence_boundary) + { + json_builder_set_member_name (builder, "sentence-boundary"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_sentence_start) + { + json_builder_set_member_name (builder, "sentence-start"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_sentence_end) + { + json_builder_set_member_name (builder, "sentence-end"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].backspace_deletes_character) + { + json_builder_set_member_name (builder, "backspace-deletes-character"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_expandable_space) + { + json_builder_set_member_name (builder, "expandable-space"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].is_word_boundary) + { + json_builder_set_member_name (builder, "word-boundary"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].break_inserts_hyphen) + { + json_builder_set_member_name (builder, "break-inserts-hyphen"); + json_builder_add_boolean_value (builder, TRUE); + } + if (log_attrs[i].break_removes_preceding) + { + json_builder_set_member_name (builder, "break-removes_preceding"); + json_builder_add_boolean_value (builder, TRUE); + } + json_builder_end_object (builder); + } + + json_builder_end_array (builder); +} + +static void +add_font (JsonBuilder *builder, + PangoFont *font) +{ + PangoFontDescription *desc; + char *str; + hb_font_t *hb_font; + hb_face_t *face; + hb_blob_t *blob; + const char *data; + guint length; + const int *coords; + hb_feature_t features[32]; + PangoMatrix matrix; + + json_builder_begin_object (builder); + + json_builder_set_member_name (builder, "description"); + + desc = pango_font_describe (font); + str = pango_font_description_to_string (desc); + json_builder_add_string_value (builder, str); + g_free (str); + pango_font_description_free (desc); + + hb_font = pango_font_get_hb_font (font); + face = hb_font_get_face (hb_font); + blob = hb_face_reference_blob (face); + + data = hb_blob_get_data (blob, &length); + str = g_compute_checksum_for_data (G_CHECKSUM_SHA256, (const guchar *)data, length); + + json_builder_set_member_name (builder, "checksum"); + json_builder_add_string_value (builder, str); + + g_free (str); + hb_blob_destroy (blob); + + coords = hb_font_get_var_coords_normalized (hb_font, &length); + if (length > 0) + { + guint count; + hb_ot_var_axis_info_t *axes; + + count = hb_ot_var_get_axis_count (face); + g_assert (count == length); + + axes = g_alloca (count * sizeof (hb_ot_var_axis_info_t)); + hb_ot_var_get_axis_infos (face, 0, &count, axes); + + json_builder_set_member_name (builder, "variations"); + json_builder_begin_object (builder); + + for (int i = 0; i < length; i++) + { + char buf[5] = { 0, }; + + hb_tag_to_string (axes[i].tag, buf); + json_builder_set_member_name (builder, buf); + json_builder_add_int_value (builder, coords[i]); + } + + json_builder_end_object (builder); + } + + length = 0; + pango_font_get_features (font, features, G_N_ELEMENTS (features), &length); + if (length > 0) + { + json_builder_set_member_name (builder, "features"); + json_builder_begin_object (builder); + + for (int i = 0; i < length; i++) + { + char buf[5] = { 0, }; + + hb_tag_to_string (features[i].tag, buf); + json_builder_set_member_name (builder, buf); + json_builder_add_int_value (builder, features[i].value); + } + + json_builder_end_object (builder); + } + + pango_font_get_matrix (font, &matrix); + if (memcmp (&matrix, &(PangoMatrix)PANGO_MATRIX_INIT, sizeof (PangoMatrix)) != 0) + { + json_builder_set_member_name (builder, "matrix"); + json_builder_begin_array (builder); + json_builder_add_double_value (builder, matrix.xx); + json_builder_add_double_value (builder, matrix.xy); + json_builder_add_double_value (builder, matrix.yx); + json_builder_add_double_value (builder, matrix.yy); + json_builder_add_double_value (builder, matrix.x0); + json_builder_add_double_value (builder, matrix.y0); + json_builder_end_array (builder); + } + + json_builder_end_object (builder); +} + +#define ANALYSIS_FLAGS (PANGO_ANALYSIS_FLAG_CENTERED_BASELINE | \ + PANGO_ANALYSIS_FLAG_IS_ELLIPSIS | \ + PANGO_ANALYSIS_FLAG_NEED_HYPHEN) + +static void +add_run (JsonBuilder *builder, + PangoLayout *layout, + PangoLayoutRun *run) +{ + json_builder_begin_object (builder); + char *str; + + json_builder_set_member_name (builder, "offset"); + json_builder_add_int_value (builder, run->item->offset); + + json_builder_set_member_name (builder, "length"); + json_builder_add_int_value (builder, run->item->length); + + str = g_strndup (layout->text + run->item->offset, run->item->length); + json_builder_set_member_name (builder, "text"); + json_builder_add_string_value (builder, str); + g_free (str); + + json_builder_set_member_name (builder, "bidi-level"); + json_builder_add_int_value (builder, run->item->analysis.level); + + json_builder_set_member_name (builder, "gravity"); + add_enum_value (builder, PANGO_TYPE_GRAVITY, run->item->analysis.gravity, FALSE); + + json_builder_set_member_name (builder, "language"); + json_builder_add_string_value (builder, pango_language_to_string (run->item->analysis.language)); + + json_builder_set_member_name (builder, "script"); + add_enum_value (builder, PANGO_TYPE_SCRIPT, run->item->analysis.script, FALSE); + + json_builder_set_member_name (builder, "font"); + add_font (builder, run->item->analysis.font); + + json_builder_set_member_name (builder, "flags"); + json_builder_add_int_value (builder, run->item->analysis.flags & ANALYSIS_FLAGS); + + if (run->item->analysis.extra_attrs) + { + GSList *l; + + json_builder_set_member_name (builder, "extra-attributes"); + + json_builder_begin_array (builder); + for (l = run->item->analysis.extra_attrs; l; l = l->next) + { + PangoAttribute *attr = l->data; + add_attribute (builder, attr); + } + json_builder_end_array (builder); + } + + json_builder_set_member_name (builder, "y-offset"); + json_builder_add_int_value (builder, run->y_offset); + + json_builder_set_member_name (builder, "start-x-offset"); + json_builder_add_int_value (builder, run->start_x_offset); + + json_builder_set_member_name (builder, "end-x-offset"); + json_builder_add_int_value (builder, run->end_x_offset); + + json_builder_set_member_name (builder, "glyphs"); + json_builder_begin_array (builder); + for (int i = 0; i < run->glyphs->num_glyphs; i++) + { + json_builder_begin_object (builder); + + json_builder_set_member_name (builder, "glyph"); + json_builder_add_int_value (builder, run->glyphs->glyphs[i].glyph); + + json_builder_set_member_name (builder, "width"); + json_builder_add_int_value (builder, run->glyphs->glyphs[i].geometry.width); + + if (run->glyphs->glyphs[i].geometry.x_offset != 0) + { + json_builder_set_member_name (builder, "x-offset"); + json_builder_add_int_value (builder, run->glyphs->glyphs[i].geometry.x_offset); + } + + if (run->glyphs->glyphs[i].geometry.y_offset != 0) + { + json_builder_set_member_name (builder, "y-offset"); + json_builder_add_int_value (builder, run->glyphs->glyphs[i].geometry.y_offset); + } + + if (run->glyphs->glyphs[i].attr.is_cluster_start) + { + json_builder_set_member_name (builder, "is-cluster-start"); + json_builder_add_boolean_value (builder, TRUE); + } + + if (run->glyphs->glyphs[i].attr.is_color) + { + json_builder_set_member_name (builder, "is-color"); + json_builder_add_boolean_value (builder, TRUE); + } + + json_builder_set_member_name (builder, "log-cluster"); + json_builder_add_int_value (builder, run->glyphs->log_clusters[i]); + + json_builder_end_object (builder); + } + + json_builder_end_array (builder); + + json_builder_end_object (builder); +} + +#undef ANALYSIS_FLAGS + +static void +add_line (JsonBuilder *builder, + PangoLayoutLine *line) +{ + json_builder_begin_object (builder); + + json_builder_set_member_name (builder, "start-index"); + json_builder_add_int_value (builder, line->start_index); + + json_builder_set_member_name (builder, "length"); + json_builder_add_int_value (builder, line->length); + + json_builder_set_member_name (builder, "paragraph-start"); + json_builder_add_boolean_value (builder, line->is_paragraph_start); + + json_builder_set_member_name (builder, "direction"); + add_enum_value (builder, PANGO_TYPE_DIRECTION, line->resolved_dir, FALSE); + + json_builder_set_member_name (builder, "runs"); + json_builder_begin_array (builder); + for (GSList *l = line->runs; l; l = l->next) + { + PangoLayoutRun *run = l->data; + add_run (builder, line->layout, run); + } + json_builder_end_array (builder); + + json_builder_end_object (builder); +} + +static void +add_output (JsonBuilder *builder, + PangoLayout *layout) +{ + int width, height; + + json_builder_begin_object (builder); + + json_builder_set_member_name (builder, "is-wrapped"); + json_builder_add_boolean_value (builder, pango_layout_is_wrapped (layout)); + + json_builder_set_member_name (builder, "is-ellipsized"); + json_builder_add_boolean_value (builder, pango_layout_is_ellipsized (layout)); + + pango_layout_get_size (layout, &width, &height); + json_builder_set_member_name (builder, "width"); + json_builder_add_int_value (builder, width); + json_builder_set_member_name (builder, "height"); + json_builder_add_int_value (builder, height); + + add_log_attrs (builder, layout); + json_builder_set_member_name (builder, "lines"); + json_builder_begin_array (builder); + for (GSList *l = layout->lines; l; l = l->next) + { + PangoLayoutLine *line = l->data; + add_line (builder, line); + } + json_builder_end_array (builder); + + json_builder_end_object (builder); +} + static JsonNode * layout_to_json (PangoLayout *layout, PangoLayoutSerializeFlags flags) @@ -384,6 +759,12 @@ layout_to_json (PangoLayout *layout, json_builder_add_double_value (builder, layout->line_spacing); } + if (flags & PANGO_LAYOUT_SERIALIZE_OUTPUT) + { + json_builder_set_member_name (builder, "output"); + add_output (builder, layout); + } + json_builder_end_object (builder); root = json_builder_get_root (builder); diff --git a/tests/layouts/valid-1.expected b/tests/layouts/valid-1.expected deleted file mode 100644 index 96bbed57..00000000 --- a/tests/layouts/valid-1.expected +++ /dev/null @@ -1,43 +0,0 @@ -This is a test of the automatic emergency brake! - ---- parameters - -wrapped: 0 -ellipsized: 1 -lines: 2 -width: 225280 - ---- attributes - -range 0 22 -range 22 41 -22 41 foreground #00000000ffff -22 41 underline single -range 41 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 47(1) 49(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'This is a test of the automatic emergency brake! -' -i=2, index=49, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=22, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'This is a test of the ' -i=2, index=22, chars=11, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'automatic e' -22 41 foreground #00000000ffff -22 41 underline single -i=3, index=33, chars=15, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, 'mergency brake!' -0 2147483647 fallback false -22 41 foreground #00000000ffff -22 41 underline single -i=4, index=48, no run, line end -i=5, index=49, no run, line end diff --git a/tests/layouts/valid-10.expected b/tests/layouts/valid-10.expected deleted file mode 100644 index 6eb02946..00000000 --- a/tests/layouts/valid-10.expected +++ /dev/null @@ -1,37 +0,0 @@ -Hello שלום Γειά σας - ---- parameters - -wrapped: 0 -ellipsized: 1 -lines: 2 -width: 102400 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 12(0) 10(0) 8(0) 14(0) 15(0) 17(0) 19(0) 21(0) 23(0) 24(0) 26(0) 28(0) 28(1) 31(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'Hello שלום Γειά σας -' -i=2, index=31, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Hello ' -i=2, index=12, chars=4, level=1, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, 'שלום' -i=3, index=14, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, ' ' -i=4, index=15, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γ' -i=5, index=17, chars=7, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, 'ειά σας' -0 2147483647 fallback false -i=6, index=30, no run, line end -i=7, index=31, no run, line end diff --git a/tests/layouts/valid-11.expected b/tests/layouts/valid-11.expected deleted file mode 100644 index c22daf87..00000000 --- a/tests/layouts/valid-11.expected +++ /dev/null @@ -1,53 +0,0 @@ -double low error - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 -width: 225280 - ---- attributes - -range 0 6 -0 6 underline double -0 6 overline single -range 6 7 -range 7 10 -7 10 underline low -7 10 strikethrough true -range 10 11 -range 11 16 -11 16 underline error -11 16 rise 1024 -range 16 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 15(1) 17(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'double low error -' -i=2, index=17, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'double' -0 6 underline double -0 6 overline single -i=2, index=6, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=3, index=7, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'low' -7 10 underline low -7 10 strikethrough true -i=4, index=10, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=5, index=11, chars=5, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'error' -11 16 rise 1024 -11 16 underline error -i=6, index=16, no run, line end -i=7, index=17, no run, line end diff --git a/tests/layouts/valid-12.expected b/tests/layouts/valid-12.expected deleted file mode 100644 index d66ae134..00000000 --- a/tests/layouts/valid-12.expected +++ /dev/null @@ -1,35 +0,0 @@ -a b c d
e f g h - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 3 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 25(1) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 50(1) 52(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'a b c d
' -i=2, index=28, paragraph-start=0, dir=ltr 'e f g h -' -i=3, index=52, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=25, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'a b c d' -i=2, index=25, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '
' -i=3, index=28, no run, line end -i=4, index=28, chars=23, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'e f g h' -i=5, index=51, no run, line end -i=6, index=52, no run, line end diff --git a/tests/layouts/valid-13.expected b/tests/layouts/valid-13.expected deleted file mode 100644 index cc435a88..00000000 --- a/tests/layouts/valid-13.expected +++ /dev/null @@ -1,35 +0,0 @@ -a b c d
e f g h - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 1 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 51(0) 51(1) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'a b c d
e f g h -' - ---- runs - -i=1, index=0, chars=25, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'a b c d' -0 4294967295 show 2 -i=2, index=25, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '
' -0 4294967295 show 2 -i=3, index=28, chars=24, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'e f g h -' -0 4294967295 show 2 -i=4, index=52, no run, line end diff --git a/tests/layouts/valid-14.expected b/tests/layouts/valid-14.expected deleted file mode 100644 index 89172781..00000000 --- a/tests/layouts/valid-14.expected +++ /dev/null @@ -1,38 +0,0 @@ -你好 Hello שלום Γειά σας - ---- parameters - -wrapped: 0 -ellipsized: 1 -lines: 2 -width: 161792 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 3(0) 6(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 19(0) 17(0) 15(0) 21(0) 22(0) 24(0) 26(0) 28(0) 30(0) 31(0) 33(0) 35(0) 35(1) 38(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr '你好 Hello שלום Γειά σας -' -i=2, index=38, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=1, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, '你' -0 2147483647 fallback true -i=2, index=3, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=han, language=xx, '好 ' -i=3, index=7, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Hello ' -i=4, index=19, chars=4, level=1, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, 'שלום' -i=5, index=21, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, ' ' -i=6, index=22, chars=8, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γειά σας' -i=7, index=37, no run, line end -i=8, index=38, no run, line end diff --git a/tests/layouts/valid-15.expected b/tests/layouts/valid-15.expected deleted file mode 100644 index f029482a..00000000 --- a/tests/layouts/valid-15.expected +++ /dev/null @@ -1,36 +0,0 @@ -Lets see if this text is long enough to wrap due to height limitations. It might, or it might not. - ---- parameters - -wrapped: 1 -ellipsized: 1 -lines: 2 -width: 153600 -height: 40960 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 24(1) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 51(0) 52(0) 53(0) 54(0) 55(0) 56(0) 57(0) 58(0) 59(0) 60(0) 61(0) 62(0) 63(0) 64(0) 65(0) 66(0) 67(0) 68(0) 69(0) 70(0) 71(0) 72(0) 73(0) 74(0) 75(0) 76(0) 77(0) 78(0) 79(0) 80(0) 81(0) 82(0) 83(0) 84(0) 85(0) 86(0) 87(0) 88(0) 89(0) 90(0) 91(0) 92(0) 93(0) 94(0) 95(0) 96(0) 97(0) 97(1) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'Lets see if this text is ' -i=2, index=25, paragraph-start=0, dir=ltr 'long enough to wrap due to height limitations. It might, or it might not. -' - ---- runs - -i=1, index=0, chars=25, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Lets see if this text is ' -i=2, index=25, no run, line end -i=3, index=25, chars=20, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'long enough to wrap ' -i=4, index=45, chars=53, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, 'due to height limitations. It might, or it might not.' -0 2147483647 fallback false -i=5, index=98, no run, line end diff --git a/tests/layouts/valid-16.expected b/tests/layouts/valid-16.expected deleted file mode 100644 index 01af96cf..00000000 --- a/tests/layouts/valid-16.expected +++ /dev/null @@ -1,37 +0,0 @@ -Lets see if this text is long enough to wrap due to height limitations. It might, or it might not. - ---- parameters - -wrapped: 1 -ellipsized: 1 -lines: 3 -width: 153600 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 24(1) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 51(0) 52(0) 53(0) 54(0) 55(0) 56(0) 57(0) 58(0) 59(0) 60(0) 61(0) 62(0) 63(0) 64(0) 65(0) 66(0) 67(0) 68(0) 69(0) 70(0) 71(0) 72(0) 73(0) 74(0) 75(0) 76(0) 77(0) 78(0) 79(0) 80(0) 81(0) 82(0) 83(0) 84(0) 85(0) 86(0) 87(0) 88(0) 89(0) 90(0) 91(0) 92(0) 93(0) 94(0) 95(0) 96(0) 97(0) 97(1) 99(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'Lets see if this text is ' -i=2, index=25, paragraph-start=0, dir=ltr 'long enough to wrap due to height limitations. It might, or it might not. -' -i=3, index=99, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=25, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Lets see if this text is ' -i=2, index=25, no run, line end -i=3, index=25, chars=20, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'long enough to wrap ' -i=4, index=45, chars=53, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, 'due to height limitations. It might, or it might not.' -0 2147483647 fallback false -i=5, index=98, no run, line end -i=6, index=99, no run, line end diff --git a/tests/layouts/valid-17.expected b/tests/layouts/valid-17.expected deleted file mode 100644 index 4b3192fb..00000000 --- a/tests/layouts/valid-17.expected +++ /dev/null @@ -1,35 +0,0 @@ -some|bla|bla|bla - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 3 -width: 102400 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 12(1) 14(0) 15(0) 15(1) 17(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'some|bla|bla|' -i=2, index=13, paragraph-start=0, dir=ltr 'bla -' -i=3, index=17, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=13, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'some|bla|bla|' -i=2, index=13, no run, line end -i=3, index=13, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'bla' -i=4, index=16, no run, line end -i=5, index=17, no run, line end diff --git a/tests/layouts/valid-18.expected b/tests/layouts/valid-18.expected deleted file mode 100644 index ea6aabeb..00000000 --- a/tests/layouts/valid-18.expected +++ /dev/null @@ -1,40 +0,0 @@ -some line breaks
and mis­ce­llaneous ignora‌bles - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 3 - ---- attributes - -range 0 57 -0 57 show 7 -range 57 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 16(1) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 26(0) 28(0) 29(0) 30(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 46(0) 47(0) 48(0) 49(0) 53(0) 54(0) 55(0) 56(0) 56(1) 58(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'some line breaks
' -i=2, index=19, paragraph-start=0, dir=ltr 'and mis­ce­llaneous ignora‌bles -' -i=3, index=58, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=16, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'some line breaks' -0 57 show 7 -i=2, index=16, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '
' -0 57 show 7 -i=3, index=19, no run, line end -i=4, index=19, chars=32, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'and mis­ce­llaneous ignora‌bles' -0 57 show 7 -i=5, index=57, no run, line end -i=6, index=58, no run, line end diff --git a/tests/layouts/valid-19.expected b/tests/layouts/valid-19.expected deleted file mode 100644 index 5e115e47..00000000 --- a/tests/layouts/valid-19.expected +++ /dev/null @@ -1,42 +0,0 @@ - a⃠ 😊︎ 😊️ 🇩🇪 ✊ ✋🏾 0 # 🏴󠁵󠁳󠁣󠁡󠁿 © - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 5(0) 6(0) 13(0) 14(0) 21(0) 22(0) 30(0) 31(0) 34(0) 35(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 71(0) 72(0) 72(1) 75(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr ' a⃠ 😊︎ 😊️ 🇩🇪 ✊ ✋🏾 0 # 🏴󠁵󠁳󠁣󠁡󠁿 © -' -i=2, index=75, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=4, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' a⃠ ' -i=2, index=6, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '😊︎ ' -i=3, index=14, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '😊️' -i=4, index=21, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=5, index=22, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '🇩🇪' -i=6, index=30, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=7, index=31, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '✊' -i=8, index=34, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=9, index=35, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '✋🏾' -i=10, index=42, chars=5, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' 0 # ' -i=11, index=47, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '🏴󠁵󠁳󠁣󠁡󠁿' -i=12, index=71, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ©' -i=13, index=74, no run, line end -i=14, index=75, no run, line end diff --git a/tests/layouts/valid-2.expected b/tests/layouts/valid-2.expected deleted file mode 100644 index 76c4f453..00000000 --- a/tests/layouts/valid-2.expected +++ /dev/null @@ -1,42 +0,0 @@ -test the blue drink after dinner - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 9 -range 9 13 -9 13 style italic -range 13 20 -range 20 25 -20 25 underline single -range 25 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 31(1) 33(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'test the blue drink after dinner -' -i=2, index=33, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=9, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'test the ' -i=2, index=9, chars=4, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'blue' -i=3, index=13, chars=7, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' drink ' -i=4, index=20, chars=5, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'after' -20 25 underline single -i=5, index=25, chars=7, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' dinner' -i=6, index=32, no run, line end -i=7, index=33, no run, line end diff --git a/tests/layouts/valid-20.expected b/tests/layouts/valid-20.expected deleted file mode 100644 index e3a68815..00000000 --- a/tests/layouts/valid-20.expected +++ /dev/null @@ -1,40 +0,0 @@ -abcdef - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 3 -0 3 gravity east -0 3 gravity-hint strong -range 3 6 -3 6 gravity south -range 6 2147483647 - ---- directions - -0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 5(1) 7(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'abcdef -' -i=2, index=7, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=3, level=0, gravity=east, flags=0, font=OMITTED, script=latin, language=en-us, 'abc' -0 3 gravity east -0 3 gravity-hint strong -i=2, index=3, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'def' -3 6 gravity south -i=3, index=6, no run, line end -i=4, index=7, no run, line end diff --git a/tests/layouts/valid-22.expected b/tests/layouts/valid-22.expected deleted file mode 100644 index 8bbd3620..00000000 --- a/tests/layouts/valid-22.expected +++ /dev/null @@ -1,111 +0,0 @@ -e0 = ooo... - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 1 -range 1 2 -1 2 font-desc "Italic" -1 2 font-scale subscript -1 2 baseline-shift subscript -range 2 6 -range 6 7 -6 11 font-scale superscript -6 11 baseline-shift superscript -range 7 8 -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -range 8 9 -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -range 9 10 -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -9 11 font-scale superscript -9 11 baseline-shift superscript -range 10 11 -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -9 11 font-scale superscript -9 11 baseline-shift superscript -10 11 font-scale superscript -10 11 baseline-shift superscript -range 11 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(1) 12(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'e0 = ooo... -' -i=2, index=12, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'e' -i=2, index=1, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '0' -1 2 font-scale subscript -1 2 baseline-shift subscript -i=3, index=2, chars=4, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' = o' -i=4, index=6, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'o' -6 11 font-scale superscript -6 11 baseline-shift superscript -i=5, index=7, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'o' -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -i=6, index=8, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '.' -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -i=7, index=9, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '.' -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -9 11 font-scale superscript -9 11 baseline-shift superscript -i=8, index=10, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '.' -6 11 font-scale superscript -6 11 baseline-shift superscript -7 11 font-scale superscript -7 11 baseline-shift superscript -8 11 font-scale superscript -8 11 baseline-shift superscript -9 11 font-scale superscript -9 11 baseline-shift superscript -10 11 font-scale superscript -10 11 baseline-shift superscript -i=9, index=11, no run, line end -i=10, index=12, no run, line end diff --git a/tests/layouts/valid-3.expected b/tests/layouts/valid-3.expected deleted file mode 100644 index d090bac0..00000000 --- a/tests/layouts/valid-3.expected +++ /dev/null @@ -1,33 +0,0 @@ -ABC😀️D - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 10(0) 10(1) 12(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'ABC😀️D -' -i=2, index=12, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ABC' -i=2, index=3, chars=2, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '😀️' -i=3, index=10, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'D' -i=4, index=11, no run, line end -i=5, index=12, no run, line end diff --git a/tests/layouts/valid-4.expected b/tests/layouts/valid-4.expected deleted file mode 100644 index 4e69d61d..00000000 --- a/tests/layouts/valid-4.expected +++ /dev/null @@ -1,44 +0,0 @@ -This paragraph should ac­tual­ly have multiple lines, unlike all the other wannabe äöü pa­ra­graph tests in this ugh test-case. Grow some lines! - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 6 -width: 198656 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 27(0) 28(0) 29(0) 30(0) 30(1) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 51(0) 52(0) 53(0) 54(0) 55(0) 56(0) 57(0) 58(0) 59(0) 60(0) 61(0) 62(0) 62(1) 64(0) 65(0) 66(0) 67(0) 68(0) 69(0) 70(0) 71(0) 72(0) 73(0) 74(0) 75(0) 76(0) 77(0) 78(0) 79(0) 80(0) 81(0) 82(0) 83(0) 84(0) 85(0) 87(0) 89(0) 91(0) 92(0) 93(0) 94(0) 94(1) 97(0) 98(0) 101(0) 102(0) 103(0) 104(0) 105(0) 106(0) 107(0) 108(0) 109(0) 110(0) 111(0) 112(0) 113(0) 114(0) 115(0) 116(0) 117(0) 118(0) 119(0) 120(0) 121(0) 122(0) 123(0) 124(0) 125(0) 126(0) 127(0) 128(0) 128(1) 130(0) 131(0) 132(0) 133(0) 134(0) 135(0) 136(0) 137(0) 138(0) 139(0) 140(0) 141(0) 142(0) 143(0) 144(0) 145(0) 146(0) 147(0) 148(0) 149(0) 150(0) 150(1) 152(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'This paragraph should ac­tual­' -i=2, index=32, paragraph-start=0, dir=ltr 'ly have multiple lines, unlike ' -i=3, index=63, paragraph-start=0, dir=ltr 'all the other wannabe äöü pa­' -i=4, index=96, paragraph-start=0, dir=ltr 'ra­graph tests in this ugh test-' -i=5, index=129, paragraph-start=0, dir=ltr 'case. Grow some lines! -' -i=6, index=152, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=30, level=0, gravity=south, flags=4, font=OMITTED, script=latin, language=en-us, 'This paragraph should ac­tual­' -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=32, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ra­graph tests in this ugh test-' -i=8, index=129, no run, line end -i=9, index=129, chars=22, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'case. Grow some lines!' -i=10, index=151, no run, line end -i=11, index=152, no run, line end diff --git a/tests/layouts/valid-5.expected b/tests/layouts/valid-5.expected deleted file mode 100644 index 20627955..00000000 --- a/tests/layouts/valid-5.expected +++ /dev/null @@ -1,56 +0,0 @@ -A test with multiple paragraphs and with no-break attributes, which might trigger a crash. -If it doesn't the fix has worked. - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 7 -width: 194560 - ---- attributes - -range 0 21 -range 21 31 -21 31 font-features "tnum=1" -range 31 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 20(1) 22(0) 23(0) 24(0) 25(0) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 43(1) 45(0) 46(0) 47(0) 48(0) 49(0) 50(0) 51(0) 52(0) 53(0) 54(0) 55(0) 56(0) 57(0) 58(0) 59(0) 60(0) 61(0) 62(0) 63(0) 64(0) 65(0) 66(0) 67(0) 68(0) 69(0) 70(0) 71(0) 72(0) 73(0) 73(1) 75(0) 76(0) 77(0) 78(0) 79(0) 80(0) 81(0) 82(0) 83(0) 84(0) 85(0) 86(0) 87(0) 88(0) 89(0) 89(1) 91(0) 92(0) 93(0) 94(0) 95(0) 96(0) 97(0) 98(0) 99(0) 100(0) 101(0) 102(0) 103(0) 104(0) 105(0) 106(0) 107(0) 108(0) 109(0) 110(0) 111(0) 112(0) 113(0) 114(0) 115(0) 116(0) 116(1) 118(0) 119(0) 120(0) 121(0) 122(0) 123(0) 123(1) 125(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'A test with multiple ' -i=2, index=21, paragraph-start=0, dir=ltr 'paragraphs and with no-' -i=3, index=44, paragraph-start=0, dir=ltr 'break attributes, which might ' -i=4, index=74, paragraph-start=0, dir=ltr 'trigger a crash. -' -i=5, index=91, paragraph-start=1, dir=ltr 'If it doesn't the fix has ' -i=6, index=117, paragraph-start=0, dir=ltr 'worked. -' -i=7, index=125, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=21, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'A test with multiple ' -21 31 font-features "tnum=1" -i=2, index=21, no run, line end -i=3, index=21, chars=23, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'paragraphs and with no-' -21 31 font-features "tnum=1" -i=4, index=44, no run, line end -i=5, index=44, chars=30, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'break attributes, which might ' -21 31 font-features "tnum=1" -i=6, index=74, no run, line end -i=7, index=74, chars=16, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'trigger a crash.' -21 31 font-features "tnum=1" -i=8, index=90, no run, line end -i=9, index=91, chars=26, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'If it doesn't the fix has ' -i=10, index=117, no run, line end -i=11, index=117, chars=7, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'worked.' -i=12, index=124, no run, line end -i=13, index=125, no run, line end diff --git a/tests/layouts/valid-6.expected b/tests/layouts/valid-6.expected deleted file mode 100644 index 040e0fa4..00000000 --- a/tests/layouts/valid-6.expected +++ /dev/null @@ -1,33 +0,0 @@ - 0️⃣ Keycap Digit Zero - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 25(1) 27(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr ' 0️⃣ Keycap Digit Zero -' -i=2, index=27, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' ' -i=2, index=1, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '0️⃣' -i=3, index=8, chars=18, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' Keycap Digit Zero' -i=4, index=26, no run, line end -i=5, index=27, no run, line end diff --git a/tests/layouts/valid-7.expected b/tests/layouts/valid-7.expected deleted file mode 100644 index 13595a75..00000000 --- a/tests/layouts/valid-7.expected +++ /dev/null @@ -1,43 +0,0 @@ -This is a test of the automatic emergency brake! - ---- parameters - -wrapped: 0 -ellipsized: 1 -lines: 2 -width: 204800 -indent: 51200 - ---- attributes - -range 0 22 -range 22 41 -22 41 foreground #00000000ffff -22 41 underline single -range 41 2147483647 - ---- directions - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 7(0) 8(0) 9(0) 10(0) 11(0) 12(0) 13(0) 14(0) 15(0) 16(0) 17(0) 18(0) 19(0) 20(0) 21(0) 22(0) 23(0) 24(0) 25(0) 26(0) 27(0) 28(0) 29(0) 30(0) 31(0) 32(0) 33(0) 34(0) 35(0) 36(0) 37(0) 38(0) 39(0) 40(0) 41(0) 42(0) 43(0) 44(0) 45(0) 46(0) 47(0) 47(1) 49(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'This is a test of the automatic emergency brake! -' -i=2, index=49, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=12, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'This is a te' -i=2, index=12, chars=26, level=0, gravity=south, flags=2, font=OMITTED, script=common, language=en-us, 'st of the automatic emerge' -0 2147483647 fallback false -i=3, index=38, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ncy' -22 41 foreground #00000000ffff -22 41 underline single -i=4, index=41, chars=7, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, ' brake!' -i=5, index=48, no run, line end -i=6, index=49, no run, line end diff --git a/tests/layouts/valid-8.expected b/tests/layouts/valid-8.expected deleted file mode 100644 index 185ba373..00000000 --- a/tests/layouts/valid-8.expected +++ /dev/null @@ -1,34 +0,0 @@ -Hello שלום Γειά σας - ---- parameters - -wrapped: 0 -ellipsized: 0 -lines: 2 - ---- attributes - -range 0 2147483647 - ---- directions - -0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 6(0) 12(0) 10(0) 8(0) 14(0) 15(0) 17(0) 19(0) 21(0) 23(0) 24(0) 26(0) 28(0) 28(1) 31(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'Hello שלום Γειά σας -' -i=2, index=31, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Hello ' -i=2, index=12, chars=4, level=1, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, 'שלום' -i=3, index=14, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, ' ' -i=4, index=15, chars=8, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γειά σας' -i=5, index=30, no run, line end -i=6, index=31, no run, line end diff --git a/tests/layouts/valid-9.expected b/tests/layouts/valid-9.expected deleted file mode 100644 index 5cbbf8fc..00000000 --- a/tests/layouts/valid-9.expected +++ /dev/null @@ -1,49 +0,0 @@ -Hello שלום Γειά σας - ---- parameters - -wrapped: 1 -ellipsized: 0 -lines: 5 -width: 102400 - ---- attributes - -range 0 30 -0 30 letter-spacing 8888 -range 30 2147483647 - ---- directions - -0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 - ---- cursor positions - -0(0) 1(0) 2(0) 3(0) 4(0) 5(0) 5(1) 12(0) 10(0) 8(0) 14(0) 14(1) 17(0) 19(0) 21(0) 23(0) 23(1) 26(0) 28(0) 28(1) 31(0) - ---- lines - -i=1, index=0, paragraph-start=1, dir=ltr 'Hello שלו' -i=2, index=12, paragraph-start=0, dir=ltr 'ם ' -i=3, index=15, paragraph-start=0, dir=ltr 'Γειά ' -i=4, index=24, paragraph-start=0, dir=ltr 'σας -' -i=5, index=31, paragraph-start=1, dir=ltr '' - ---- runs - -i=1, index=0, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Hello ' -0 30 letter-spacing 8888 -i=2, index=6, no run, line end -i=3, index=12, chars=4, level=1, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, 'שלום' -0 30 letter-spacing 8888 -i=4, index=14, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, ' ' -0 30 letter-spacing 8888 -i=5, index=15, no run, line end -i=6, index=15, chars=5, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γειά ' -0 30 letter-spacing 8888 -i=7, index=24, no run, line end -i=8, index=24, chars=3, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'σας' -0 30 letter-spacing 8888 -i=9, index=30, no run, line end -i=10, index=31, no run, line end -- cgit v1.2.1