diff options
| author | Laurenz <laurmaedje@gmail.com> | 2024-04-13 10:39:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-13 08:39:45 +0000 |
| commit | 020294fca9a7065d4b9cf4e677f606ebaaa29b00 (patch) | |
| tree | c0027ad22046e2726c22298461327823d6b88d53 /tests/suite/layout/columns.typ | |
| parent | 72dd79210602ecc799726fc096b078afbb47f299 (diff) | |
Better test runner (#3922)
Diffstat (limited to 'tests/suite/layout/columns.typ')
| -rw-r--r-- | tests/suite/layout/columns.typ | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/tests/suite/layout/columns.typ b/tests/suite/layout/columns.typ new file mode 100644 index 00000000..87a9f773 --- /dev/null +++ b/tests/suite/layout/columns.typ @@ -0,0 +1,124 @@ +// Test the column layouter. + +--- columns-rtl --- +// Test normal operation and RTL directions. +#set page(height: 3.25cm, width: 7.05cm, columns: 2) +#set text(lang: "ar", font: ("Noto Sans Arabic", "Linux Libertine")) +#set columns(gutter: 30pt) + +#box(fill: conifer, height: 8pt, width: 6pt) وتحفيز +العديد من التفاعلات الكيميائية. (DNA) من أهم الأحماض النووية التي تُشكِّل +إلى جانب كل من البروتينات والليبيدات والسكريات المتعددة +#box(fill: eastern, height: 8pt, width: 6pt) +الجزيئات الضخمة الأربعة الضرورية للحياة. + +--- columns-in-fixed-size-rect --- +// Test the `columns` function. +#set page(width: auto) + +#rect(width: 180pt, height: 100pt, inset: 8pt, columns(2, [ + A special plight has befallen our document. + Columns in text boxes reigned down unto the soil + to waste a year's crop of rich layouts. + The columns at least were graciously balanced. +])) + +--- columns-set-page --- +// Test columns for a sized page. +#set page(height: 5cm, width: 7.05cm, columns: 2) + +Lorem ipsum dolor sit amet is a common blind text +and I again am in need of filling up this page +#align(bottom, rect(fill: eastern, width: 100%, height: 12pt)) +#colbreak() + +so I'm returning to this trusty tool of tangible terror. +Sure, it is not the most creative way of filling up +a page for a test but it does get the job done. + +--- columns-in-auto-sized-rect --- +// Test the expansion behaviour. +#set page(height: 2.5cm, width: 7.05cm) + +#rect(inset: 6pt, columns(2, [ + ABC \ + BCD + #colbreak() + DEF +])) + +--- columns-more-with-gutter --- +// Test setting a column gutter and more than two columns. +#set page(height: 3.25cm, width: 7.05cm, columns: 3) +#set columns(gutter: 30pt) + +#rect(width: 100%, height: 2.5cm, fill: conifer) #parbreak() +#rect(width: 100%, height: 2cm, fill: eastern) #parbreak() +#circle(fill: eastern) + +--- columns-set-page-colbreak-pagebreak --- +// Test the `colbreak` and `pagebreak` functions. +#set page(height: 1cm, width: 7.05cm, columns: 2) + +A +#colbreak() +#colbreak() +B +#pagebreak() +C +#colbreak() +D + +--- columns-empty-second-column --- +// Test an empty second column. +#set page(width: 7.05cm, columns: 2) + +#rect(width: 100%, inset: 3pt)[So there isn't anything in the second column?] + +--- columns-page-width-auto --- +// Test columns when one of them is empty. +#set page(width: auto, columns: 3) + +Arbitrary horizontal growth. + +--- columns-page-height-auto --- +// Test columns in an infinitely high frame. +#set page(width: 7.05cm, columns: 2) + +There can be as much content as you want in the left column +and the document will grow with it. + +#rect(fill: conifer, width: 100%, height: 30pt) + +Only an explicit #colbreak() `#colbreak()` can put content in the +second column. + +--- columns-one --- +// Test a page with a single column. +#set page(height: auto, width: 7.05cm, columns: 1) + +This is a normal page. Very normal. + +--- columns-zero --- +// Test a page with zero columns. +// Error: 49-50 number must be positive +#set page(height: auto, width: 7.05cm, columns: 0) + +--- columns-colbreak-after-place --- +// Test colbreak after only out-of-flow elements. +#set page(width: 7.05cm, columns: 2) +#place[OOF] +#colbreak() +In flow. + +--- issue-columns-heading --- +// The well-known columns bug. +#set page(height: 70pt) + +Hallo +#columns(2)[ + = A + Text + = B + Text +] |
