diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-04-03 20:54:18 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-04-03 21:12:32 +0200 |
| commit | bfbbe8dcf8881d276c3db05aea99f7da915edde2 (patch) | |
| tree | 505b701eb8e0135a2c7e4b4da79caa301cffa07e /tests/typ/text | |
| parent | 9014e834785aeae4af264c4e8c2c2141ead4788a (diff) | |
Better paragraph layout tests ✅
Diffstat (limited to 'tests/typ/text')
| -rw-r--r-- | tests/typ/text/align.typ | 28 | ||||
| -rw-r--r-- | tests/typ/text/basic.typ | 3 | ||||
| -rw-r--r-- | tests/typ/text/chinese.typ | 9 | ||||
| -rw-r--r-- | tests/typ/text/linebreaks.typ | 35 | ||||
| -rw-r--r-- | tests/typ/text/whitespace.typ | 17 |
5 files changed, 70 insertions, 22 deletions
diff --git a/tests/typ/text/align.typ b/tests/typ/text/align.typ new file mode 100644 index 00000000..27c650a4 --- /dev/null +++ b/tests/typ/text/align.typ @@ -0,0 +1,28 @@ +// Test text alignment. + +--- +// Test that alignment depends on the paragraph's full width. +#rect[ + Hello World \ + #align(right)[World] +] + +--- +// Test that a line with multiple alignments respects the paragraph's full +// width. +#rect[ + Hello #align(center)[World] \ + Hello from the World +] + +--- +// Test that `start` alignment after `end` alignment doesn't do anything until +// the next line break ... +L #align(right)[R] R + +// ... but make sure it resets to left after the line break. +L #align(right)[R] \ L + +--- +// FIXME: There should be a line break opportunity on alignment change. +LLLLLLLLLLLLL#align(center)[CCCC] diff --git a/tests/typ/text/basic.typ b/tests/typ/text/basic.typ index b424cee8..d5f0de05 100644 --- a/tests/typ/text/basic.typ +++ b/tests/typ/text/basic.typ @@ -1,6 +1,7 @@ // Test simple text. -#page(width: 250pt) +--- +#page(width: 250pt, height: 110pt) But, soft! what light through yonder window breaks? It is the east, and Juliet is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and diff --git a/tests/typ/text/chinese.typ b/tests/typ/text/chinese.typ new file mode 100644 index 00000000..0800a220 --- /dev/null +++ b/tests/typ/text/chinese.typ @@ -0,0 +1,9 @@ +// Test chinese text from Wikipedia. + +--- +#font("Noto Serif CJK SC") + +是美国广播公司电视剧《迷失》第3季的第22和23集,也是全剧的第71集和72集 +由执行制作人戴蒙·林道夫和卡尔顿·库斯编剧,导演则是另一名执行制作人杰克·本德 +节目于2007年5月23日在美国和加拿大首播,共计吸引了1400万美国观众收看 +本集加上插播广告一共也持续有两个小时 diff --git a/tests/typ/text/linebreaks.typ b/tests/typ/text/linebreaks.typ index 6647c2cd..4d57834a 100644 --- a/tests/typ/text/linebreaks.typ +++ b/tests/typ/text/linebreaks.typ @@ -1,35 +1,28 @@ -// Test line breaking. +// Test line breaking special cases. --- -// Test normal line breaking. -But, soft! what light through yonder window breaks? It is the east, and Juliet -is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and -pale with grief hard. +// Test overlong word that is not directly after a hard break. +This is a spaceexceedinglylongishy. -// From Wikipedia: -#font("Noto Serif CJK SC") -是美国广播公司电视剧《迷失》第3季的第22和23集,也是全剧的第71集和72集 -由执行制作人戴蒙·林道夫和卡尔顿·库斯编剧,导演则是另一名执行制作人杰克·本德 -节目于2007年5月23日在美国和加拿大首播,共计吸引了1400万美国观众收看 -本集加上插播广告一共也持续有两个小时 +--- +// Test two overlong words in a row. +Supercalifragilisticexpialidocious Expialigoricmetrioxidation. --- -// Test hard break directly after normal break. -But, soft! What light through \ yonder window breaks? +// Test that there are no unwanted line break opportunities on run change. +This is partly emph_as_ized. --- -// Test consecutive breaks. -But, soft! Whatlightdoyoueveryonderthrough window breaks? Why did the window -even \ break \ \ in the first place. +Hard \ break. --- -// Test two superlong words in a row. -Supercalifragilisticousalogy Expialigoricmetrioxidationreagent. +// Test hard break directly after normal break. +Hard break directly after \ normal break. --- -// Test run change after space. -Left #font("PT Sans")[Right]. +// Test consecutive breaks. +Two consecutive \ \ breaks and three \ \ \ more. --- // Test trailing newline. -Trailing newline{"\n"} +Trailing break \ diff --git a/tests/typ/text/whitespace.typ b/tests/typ/text/whitespace.typ new file mode 100644 index 00000000..3d7dd2e2 --- /dev/null +++ b/tests/typ/text/whitespace.typ @@ -0,0 +1,17 @@ +// Test whitespace handling. + +--- +// Test that a run consisting only of whitespace isn't trimmed. +A#font("PT Sans")[ ]B + +--- +// Test font change after space. +Left #font("PT Sans")[Right]. + +--- +// Test that space at start of line is not trimmed. +A{"\n"} B + +--- +// Test that trailing space does not force a line break. +LLLLLLLLLLLLLL R _L_ |
