diff options
Diffstat (limited to 'tests/suite/model/heading.typ')
| -rw-r--r-- | tests/suite/model/heading.typ | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/suite/model/heading.typ b/tests/suite/model/heading.typ new file mode 100644 index 00000000..5d50eeee --- /dev/null +++ b/tests/suite/model/heading.typ @@ -0,0 +1,80 @@ +// Test headings. + +--- heading-basic --- +// Different number of equals signs. + += Level 1 +== Level 2 +=== Level 3 + +// After three, it stops shrinking. +=========== Level 11 + +--- heading-syntax-at-start --- +// Heading vs. no heading. + +// Parsed as headings if at start of the context. +/**/ = Level 1 +#[== Level 2] +#box[=== Level 3] + +// Not at the start of the context. +No = heading + +// Escaped. +\= No heading + +--- heading-block --- +// Blocks can continue the heading. + += #[This +is +multiline. +] + += This + is not. + +--- heading-show-where --- +// Test styling. +#show heading.where(level: 5): it => block( + text(font: "Roboto", fill: eastern, it.body + [!]) +) + += Heading +===== Heading 🌍 +#heading(level: 5)[Heading] + +--- heading-offset --- +// Test setting the starting offset. +#set heading(numbering: "1.1") +#show heading.where(level: 2): set text(blue) += Level 1 + +#heading(depth: 1)[We're twins] +#heading(level: 1)[We're twins] + +== Real level 2 + +#set heading(offset: 1) += Fake level 2 +== Fake level 3 + +--- heading-offset-and-level --- +// Passing level directly still overrides all other set values +#set heading(numbering: "1.1", offset: 1) +#heading(level: 1)[Still level 1] + +--- heading-syntax-edge-cases --- +// Edge cases. +#set heading(numbering: "1.") += +Not in heading +=Nope + +--- heading-numbering-hint --- += Heading <intro> + +// Error: 1:20-1:26 cannot reference heading without numbering +// Hint: 1:20-1:26 you can enable heading numbering with `#set heading(numbering: "1.")` +Can not be used as @intro |
