initial proper subfooter unit tests
BIN
tests/ref/grid-subfooters-basic-non-consecutive-with-header.png
Normal file
After Width: | Height: | Size: 279 B |
BIN
tests/ref/grid-subfooters-basic-non-consecutive.png
Normal file
After Width: | Height: | Size: 258 B |
BIN
tests/ref/grid-subfooters-basic-replace.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
tests/ref/grid-subfooters-basic-with-header.png
Normal file
After Width: | Height: | Size: 256 B |
BIN
tests/ref/grid-subfooters-basic.png
Normal file
After Width: | Height: | Size: 210 B |
BIN
tests/ref/grid-subfooters-repeat-gutter.png
Normal file
After Width: | Height: | Size: 626 B |
BIN
tests/ref/grid-subfooters-repeat-non-consecutive.png
Normal file
After Width: | Height: | Size: 622 B |
BIN
tests/ref/grid-subfooters-repeat-replace-double-widow.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
tests/ref/grid-subfooters-repeat-replace-gutter.png
Normal file
After Width: | Height: | Size: 772 B |
BIN
tests/ref/grid-subfooters-repeat-replace-widow.png
Normal file
After Width: | Height: | Size: 979 B |
BIN
tests/ref/grid-subfooters-repeat-replace.png
Normal file
After Width: | Height: | Size: 975 B |
BIN
tests/ref/grid-subfooters-repeat-with-header.png
Normal file
After Width: | Height: | Size: 596 B |
BIN
tests/ref/grid-subfooters-repeat.png
Normal file
After Width: | Height: | Size: 549 B |
@ -22,6 +22,7 @@
|
|||||||
[*Mode*], [2025],
|
[*Mode*], [2025],
|
||||||
table.cell(colspan: 2)[*Totals*],
|
table.cell(colspan: 2)[*Totals*],
|
||||||
),
|
),
|
||||||
|
// TODO: Why does it overflow here?
|
||||||
table.header(
|
table.header(
|
||||||
level: 2,
|
level: 2,
|
||||||
table.cell(colspan: 2)[*United States*],
|
table.cell(colspan: 2)[*United States*],
|
||||||
@ -39,3 +40,143 @@
|
|||||||
table.cell(colspan: 2)[*Data Inc.*],
|
table.cell(colspan: 2)[*Data Inc.*],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-basic ---
|
||||||
|
#grid(
|
||||||
|
[a],
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-basic-non-consecutive ---
|
||||||
|
#grid(
|
||||||
|
[x],
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
[y],
|
||||||
|
grid.footer([b]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-basic-replace ---
|
||||||
|
#grid(
|
||||||
|
[x],
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
[y],
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[z],
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-basic-with-header ---
|
||||||
|
#grid(
|
||||||
|
grid.header([a]),
|
||||||
|
[b],
|
||||||
|
grid.footer(level: 2, [c]),
|
||||||
|
grid.footer([d]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-basic-non-consecutive-with-header ---
|
||||||
|
#grid(
|
||||||
|
grid.header([a]),
|
||||||
|
[x],
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[y],
|
||||||
|
grid.footer([f])
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([a],) * 10,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-non-consecutive ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([y],) * 10,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[x],
|
||||||
|
grid.footer([a]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-with-header ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
grid.header([a]),
|
||||||
|
..([b],) * 10,
|
||||||
|
grid.footer(level: 2, [c]),
|
||||||
|
[m],
|
||||||
|
grid.footer([f])
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-gutter ---
|
||||||
|
// Gutter above the footer is also repeated
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
inset: (top: 0.5pt),
|
||||||
|
stroke: (top: 1pt),
|
||||||
|
gutter: (1pt,) * 9 + (6pt, 1pt),
|
||||||
|
..([a],) * 10,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-replace ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([x],) * 10,
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
..([y],) * 10,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[z],
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-replace-multiple-levels ---
|
||||||
|
// TODO: This is overflowing
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([x],) * 6,
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
..([y],) * 10,
|
||||||
|
grid.footer(level: 3, [b]),
|
||||||
|
grid.footer(level: 2, [c]),
|
||||||
|
[z],
|
||||||
|
grid.footer([d]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-replace-gutter ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
gutter: 3pt,
|
||||||
|
..([x],) * 3,
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
..([y],) * 8,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[z],
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-replace-widow ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([x],) * 14,
|
||||||
|
grid.footer(level: 2, [a]),
|
||||||
|
..([y],) * 8,
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
[z],
|
||||||
|
grid.footer([c]),
|
||||||
|
)
|
||||||
|
|
||||||
|
--- grid-subfooters-repeat-replace-double-widow ---
|
||||||
|
#set page(height: 8em)
|
||||||
|
#grid(
|
||||||
|
..([x],) * 12,
|
||||||
|
grid.footer(level: 3, [a]),
|
||||||
|
grid.footer(level: 2, [b]),
|
||||||
|
..([y],) * 11,
|
||||||
|
grid.footer(level: 2, [c]),
|
||||||
|
[z],
|
||||||
|
grid.footer([d]),
|
||||||
|
)
|
||||||
|