From aa52fa64716cf78b4df51dcedc5dc3bbbbe99aa8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2021 22:24:12 -0500 Subject: Add a test for the previous commits This test verifies the fixes for the situation described in #646. --- tests/layouts/aaa.layout | 295 +++++++++++++++++++++++++++++++++++++++++++++++ tests/meson.build | 1 + 2 files changed, 296 insertions(+) create mode 100644 tests/layouts/aaa.layout diff --git a/tests/layouts/aaa.layout b/tests/layouts/aaa.layout new file mode 100644 index 00000000..829e74c8 --- /dev/null +++ b/tests/layouts/aaa.layout @@ -0,0 +1,295 @@ +{ + "context" : { + "font" : "serif 12", + "base-gravity" : "south", + "gravity-hint" : "natural", + "base-dir" : "weak-ltr", + "round-glyph-positions" : true, + "transform" : [ + 1, + 0, + 0, + 1, + 0, + 0 + ] + }, + "text" : "aaaa ", + "font" : "Monospace 32", + "wrap" : "char", + "width" : 0, + "line-spacing" : 1.2999999523162842, + "output" : { + "is-wrapped" : true, + "is-ellipsized" : false, + "unknown-glyphs" : 0, + "width" : 41984, + "height" : 318464, + "log-attrs" : [ + { + "char-break" : true, + "cursor-position" : true, + "word-start" : true, + "sentence-boundary" : true, + "sentence-start" : true, + "backspace-deletes-character" : true, + "word-boundary" : true + }, + { + "char-break" : true, + "cursor-position" : true, + "break-inserts-hyphen" : true + }, + { + "char-break" : true, + "cursor-position" : true, + "break-inserts-hyphen" : true + }, + { + "char-break" : true, + "cursor-position" : true, + "break-inserts-hyphen" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "word-end" : true, + "sentence-end" : true, + "expandable-space" : true, + "word-boundary" : true + }, + { + "line-break" : true, + "mandatory-break" : true, + "char-break" : true, + "white" : true, + "cursor-position" : true, + "sentence-boundary" : true, + "word-boundary" : true + } + ], + "lines" : [ + { + "start-index" : 0, + "length" : 1, + "paragraph-start" : true, + "direction" : "ltr", + "runs" : [ + { + "offset" : 0, + "length" : 1, + "text" : "a", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "latin", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 4, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 68, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 2803, + "width" : 15360, + "log-cluster" : 0 + } + ] + } + ] + }, + { + "start-index" : 1, + "length" : 1, + "paragraph-start" : false, + "direction" : "ltr", + "runs" : [ + { + "offset" : 1, + "length" : 1, + "text" : "a", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "latin", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 4, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 68, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 2803, + "width" : 15360, + "log-cluster" : 0 + } + ] + } + ] + }, + { + "start-index" : 2, + "length" : 1, + "paragraph-start" : false, + "direction" : "ltr", + "runs" : [ + { + "offset" : 2, + "length" : 1, + "text" : "a", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "latin", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 4, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 68, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 2803, + "width" : 15360, + "log-cluster" : 0 + } + ] + } + ] + }, + { + "start-index" : 3, + "length" : 1, + "paragraph-start" : false, + "direction" : "ltr", + "runs" : [ + { + "offset" : 3, + "length" : 1, + "text" : "a", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "latin", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 68, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + } + ] + } + ] + }, + { + "start-index" : 4, + "length" : 1, + "paragraph-start" : false, + "direction" : "ltr", + "runs" : [ + { + "offset" : 4, + "length" : 1, + "text" : " ", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "latin", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 3, + "width" : 14336, + "is-cluster-start" : true, + "log-cluster" : 0 + } + ] + } + ] + } + ] + } +} diff --git a/tests/meson.build b/tests/meson.build index 271d9046..a4c545c3 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -123,6 +123,7 @@ installed_test_layouts_data = [ 'layouts/tab-assert.layout', 'layouts/arabic-format.layout', 'layouts/no-space.layout', + 'layouts/aaa.layout', ] test_markups_data = [ -- cgit v1.2.1