summaryrefslogtreecommitdiff
path: root/tests/layouts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/layouts')
-rw-r--r--tests/layouts/valid-1.expected4
-rw-r--r--tests/layouts/valid-10.expected37
-rw-r--r--tests/layouts/valid-10.markup2
-rw-r--r--tests/layouts/valid-11.expected53
-rw-r--r--tests/layouts/valid-11.markup2
-rw-r--r--tests/layouts/valid-12.expected35
-rw-r--r--tests/layouts/valid-12.markup2
-rw-r--r--tests/layouts/valid-13.expected35
-rw-r--r--tests/layouts/valid-13.markup2
-rw-r--r--tests/layouts/valid-14.expected39
-rw-r--r--tests/layouts/valid-14.markup2
-rw-r--r--tests/layouts/valid-2.expected4
-rw-r--r--tests/layouts/valid-3.expected4
-rw-r--r--tests/layouts/valid-4.expected4
-rw-r--r--tests/layouts/valid-5.expected4
-rw-r--r--tests/layouts/valid-6.expected4
-rw-r--r--tests/layouts/valid-7.expected43
-rw-r--r--tests/layouts/valid-7.markup2
-rw-r--r--tests/layouts/valid-8.expected34
-rw-r--r--tests/layouts/valid-8.markup2
-rw-r--r--tests/layouts/valid-9.expected49
-rw-r--r--tests/layouts/valid-9.markup2
22 files changed, 365 insertions, 0 deletions
diff --git a/tests/layouts/valid-1.expected b/tests/layouts/valid-1.expected
index cbd07127..411c7560 100644
--- a/tests/layouts/valid-1.expected
+++ b/tests/layouts/valid-1.expected
@@ -19,6 +19,10 @@ range 41 2147483647
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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!
diff --git a/tests/layouts/valid-10.expected b/tests/layouts/valid-10.expected
new file mode 100644
index 00000000..8280dec9
--- /dev/null
+++ b/tests/layouts/valid-10.expected
@@ -0,0 +1,37 @@
+Hello שלום Γειά σας
+
+--- parameters
+
+wrapped: 1
+ellipsized: 0
+lines: 3
+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) 14(1) 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=15, paragraph-start=0, dir=ltr 'Γειά σας
+'
+i=3, 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, no run, line end
+i=5, index=15, chars=8, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γειά σας'
+i=6, index=30, no run, line end
+i=7, index=31, no run, line end
diff --git a/tests/layouts/valid-10.markup b/tests/layouts/valid-10.markup
new file mode 100644
index 00000000..b0cf2634
--- /dev/null
+++ b/tests/layouts/valid-10.markup
@@ -0,0 +1,2 @@
+width=100,justify=true
+Hello שלום Γειά σας
diff --git a/tests/layouts/valid-11.expected b/tests/layouts/valid-11.expected
new file mode 100644
index 00000000..a1fafc31
--- /dev/null
+++ b/tests/layouts/valid-11.expected
@@ -0,0 +1,53 @@
+double low error
+
+--- parameters
+
+wrapped: 0
+ellipsized: 0
+lines: 2
+width: 225280
+
+--- attributes
+
+range 0 6
+[0,6]underline=2
+[0,6]overline=1
+range 6 7
+range 7 10
+[7,10]underline=3
+[7,10]strikethrough=1
+range 10 11
+range 11 16
+[11,16]underline=4
+[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=2
+[0,6]overline=1
+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=3
+[7,10]strikethrough=1
+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=4
+i=6, index=16, no run, line end
+i=7, index=17, no run, line end
diff --git a/tests/layouts/valid-11.markup b/tests/layouts/valid-11.markup
new file mode 100644
index 00000000..fbf1abd2
--- /dev/null
+++ b/tests/layouts/valid-11.markup
@@ -0,0 +1,2 @@
+width=220,wrap=char
+<span underline='double' overline='single'>double</span> <span underline='low' strikethrough='true'>low</span> <span underline='error' rise='1024'>error</span>
diff --git a/tests/layouts/valid-12.expected b/tests/layouts/valid-12.expected
new file mode 100644
index 00000000..d66ae134
--- /dev/null
+++ b/tests/layouts/valid-12.expected
@@ -0,0 +1,35 @@
+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-12.markup b/tests/layouts/valid-12.markup
new file mode 100644
index 00000000..b7306cc6
--- /dev/null
+++ b/tests/layouts/valid-12.markup
@@ -0,0 +1,2 @@
+wrap=word,tabs=0 50 100 150 200
+a b c d
e f g h
diff --git a/tests/layouts/valid-13.expected b/tests/layouts/valid-13.expected
new file mode 100644
index 00000000..3064610d
--- /dev/null
+++ b/tests/layouts/valid-13.expected
@@ -0,0 +1,35 @@
+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,-1]show=2
+i=2, index=25, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, '
'
+[0,-1]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,-1]show=2
+i=4, index=52, no run, line end
diff --git a/tests/layouts/valid-13.markup b/tests/layouts/valid-13.markup
new file mode 100644
index 00000000..be2345d1
--- /dev/null
+++ b/tests/layouts/valid-13.markup
@@ -0,0 +1,2 @@
+wrap=word,tabs=0 50 100 150 200,single_paragraph=true
+a b c d
e f g h
diff --git a/tests/layouts/valid-14.expected b/tests/layouts/valid-14.expected
new file mode 100644
index 00000000..9c4d5111
--- /dev/null
+++ b/tests/layouts/valid-14.expected
@@ -0,0 +1,39 @@
+你好 Hello שלום Γειά σας
+
+--- parameters
+
+wrapped: 0
+ellipsized: 1
+lines: 2
+width: 166912
+
+--- 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) 7(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=1
+i=2, index=3, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=han, language=xx, '好'
+i=3, index=6, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=han, language=xx, ' '
+i=4, index=7, chars=6, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'Hello '
+i=5, index=19, chars=4, level=1, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, 'שלום'
+i=6, index=21, chars=1, level=0, gravity=south, flags=0, font=OMITTED, script=hebrew, language=he, ' '
+i=7, index=22, chars=8, level=0, gravity=south, flags=0, font=OMITTED, script=greek, language=el, 'Γειά σας'
+i=8, index=37, no run, line end
+i=9, index=38, no run, line end
diff --git a/tests/layouts/valid-14.markup b/tests/layouts/valid-14.markup
new file mode 100644
index 00000000..48412c04
--- /dev/null
+++ b/tests/layouts/valid-14.markup
@@ -0,0 +1,2 @@
+line_spacing=1.5,width=163,ellipsize=start
+你好 Hello שלום Γειά σας
diff --git a/tests/layouts/valid-2.expected b/tests/layouts/valid-2.expected
index 4b8e793d..b71f5da3 100644
--- a/tests/layouts/valid-2.expected
+++ b/tests/layouts/valid-2.expected
@@ -20,6 +20,10 @@ range 25 2147483647
0 0 0 0 0 0 0 0 0 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
diff --git a/tests/layouts/valid-3.expected b/tests/layouts/valid-3.expected
index e8a4d095..d090bac0 100644
--- a/tests/layouts/valid-3.expected
+++ b/tests/layouts/valid-3.expected
@@ -14,6 +14,10 @@ range 0 2147483647
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
diff --git a/tests/layouts/valid-4.expected b/tests/layouts/valid-4.expected
index 33e01d8b..49688492 100644
--- a/tests/layouts/valid-4.expected
+++ b/tests/layouts/valid-4.expected
@@ -15,6 +15,10 @@ range 0 2147483647
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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) 26(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) 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) 117(0) 118(0) 119(0) 120(0) 121(0) 122(0) 123(0) 123(1) 125(0) 126(0) 127(0) 128(0) 129(0) 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­'
diff --git a/tests/layouts/valid-5.expected b/tests/layouts/valid-5.expected
index 4568137f..ce4ff215 100644
--- a/tests/layouts/valid-5.expected
+++ b/tests/layouts/valid-5.expected
@@ -19,6 +19,10 @@ range 31 2147483647
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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) 67(1) 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) 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 '
diff --git a/tests/layouts/valid-6.expected b/tests/layouts/valid-6.expected
index 0f81967f..040e0fa4 100644
--- a/tests/layouts/valid-6.expected
+++ b/tests/layouts/valid-6.expected
@@ -14,6 +14,10 @@ range 0 2147483647
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
diff --git a/tests/layouts/valid-7.expected b/tests/layouts/valid-7.expected
new file mode 100644
index 00000000..7560a9cc
--- /dev/null
+++ b/tests/layouts/valid-7.expected
@@ -0,0 +1,43 @@
+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=1
+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=0
+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=1
+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-7.markup b/tests/layouts/valid-7.markup
new file mode 100644
index 00000000..d5f9821e
--- /dev/null
+++ b/tests/layouts/valid-7.markup
@@ -0,0 +1,2 @@
+width=200,indent=50,ellipsize=middle
+This is a test of the <span foreground="#0000ff" underline="single">automatic emergency</span> brake!
diff --git a/tests/layouts/valid-8.expected b/tests/layouts/valid-8.expected
new file mode 100644
index 00000000..185ba373
--- /dev/null
+++ b/tests/layouts/valid-8.expected
@@ -0,0 +1,34 @@
+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-8.markup b/tests/layouts/valid-8.markup
new file mode 100644
index 00000000..3272ea2b
--- /dev/null
+++ b/tests/layouts/valid-8.markup
@@ -0,0 +1,2 @@
+spacing=50,auto_dir=false,alignment=center
+Hello שלום Γειά σας
diff --git a/tests/layouts/valid-9.expected b/tests/layouts/valid-9.expected
new file mode 100644
index 00000000..d1388f62
--- /dev/null
+++ b/tests/layouts/valid-9.expected
@@ -0,0 +1,49 @@
+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
diff --git a/tests/layouts/valid-9.markup b/tests/layouts/valid-9.markup
new file mode 100644
index 00000000..ced8f8e5
--- /dev/null
+++ b/tests/layouts/valid-9.markup
@@ -0,0 +1,2 @@
+width=100
+<span letter_spacing="8888">Hello שלום Γειά σας</span>