summaryrefslogtreecommitdiff
path: root/tests/typ
diff options
context:
space:
mode:
Diffstat (limited to 'tests/typ')
-rw-r--r--tests/typ/text/align.typ28
-rw-r--r--tests/typ/text/basic.typ3
-rw-r--r--tests/typ/text/chinese.typ9
-rw-r--r--tests/typ/text/linebreaks.typ35
-rw-r--r--tests/typ/text/whitespace.typ17
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_