diff options
Diffstat (limited to 'tests/suite/model/enum.typ')
| -rw-r--r-- | tests/suite/model/enum.typ | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/tests/suite/model/enum.typ b/tests/suite/model/enum.typ new file mode 100644 index 00000000..57a4d7a6 --- /dev/null +++ b/tests/suite/model/enum.typ @@ -0,0 +1,156 @@ +// Test enumerations. + +--- enum-function-call --- +#enum[Embrace][Extend][Extinguish] + +--- enum-number-override-nested --- +0. Before first! +1. First. + 2. Indented + ++ Second + +--- enum-built-in-loop --- +// Test automatic numbering in summed content. +#for i in range(5) { + [+ #numbering("I", 1 + i)] +} + +--- list-mix --- +// Mix of different lists +- Bullet List ++ Numbered List +/ Term: List + +--- enum-syntax-at-start --- +// In the line. +1.2 \ +This is 0. \ +See 0.3. \ + +--- enum-syntax-edge-cases --- +// Edge cases. ++ +Empty \ ++Nope \ +a + 0. + +--- enum-number-override --- +// Test item number overriding. +1. first ++ second +5. fifth + +#enum( + enum.item(1)[First], + [Second], + enum.item(5)[Fifth] +) + +--- enum-numbering-pattern --- +// Test numbering pattern. +#set enum(numbering: "(1.a.*)") ++ First ++ Second + 2. Nested + + Deep ++ Normal + +--- enum-numbering-full --- +// Test full numbering. +#set enum(numbering: "1.a.", full: true) ++ First + + Nested + +--- enum-numbering-closure --- +// Test numbering with closure. +#enum( + start: 3, + spacing: 0.65em - 3pt, + tight: false, + numbering: n => text( + fill: (red, green, blue).at(calc.rem(n, 3)), + numbering("A", n), + ), + [Red], [Green], [Blue], [Red], +) + +--- enum-numbering-closure-nested --- +// Test numbering with closure and nested lists. +#set enum(numbering: n => super[#n]) ++ A + + B ++ C + +--- enum-numbering-closure-nested-complex --- +// Test numbering with closure and nested lists. +#set text(font: "New Computer Modern") +#set enum(numbering: (..args) => math.mat(args.pos()), full: true) ++ A + + B + + C + + D ++ E ++ F + +--- enum-numbering-pattern-empty --- +// Error: 22-24 invalid numbering pattern +#set enum(numbering: "") + +--- enum-numbering-pattern-invalid --- +// Error: 22-28 invalid numbering pattern +#set enum(numbering: "(())") + +--- enum-number-align-unaffected --- +// Alignment shouldn't affect number +#set align(horizon) + ++ ABCDEF\ GHIJKL\ MNOPQR + + INNER\ INNER\ INNER ++ BACK\ HERE + +--- enum-number-align-default --- +// Enum number alignment should be 'end' by default +1. a +10. b +100. c + +--- enum-number-align-specified --- +#set enum(number-align: start) +1. a +8. b +16. c + +--- enum-number-align-2d --- +#set enum(number-align: center + horizon) +1. #box(fill: teal, inset: 10pt )[a] +8. #box(fill: teal, inset: 10pt )[b] +16. #box(fill: teal,inset: 10pt )[c] + +--- enum-number-align-unfolded --- +// Number align option should not be affected by the context. +#set align(center) +#set enum(number-align: start) + +4. c +8. d +16. e\ f + 2. f\ g + 32. g + 64. h + +--- enum-number-align-values --- +// Test valid number align values (horizontal and vertical) +#set enum(number-align: start) +#set enum(number-align: end) +#set enum(number-align: left) +#set enum(number-align: center) +#set enum(number-align: right) +#set enum(number-align: top) +#set enum(number-align: horizon) +#set enum(number-align: bottom) + +--- issue-2530-enum-item-panic --- +// Enum item (pre-emptive) +#enum.item(none)[Hello] +#enum.item(17)[Hello] |
