diff --git a/tests/ref/grid-subheaders-multi-page-row-right-after.png b/tests/ref/grid-subheaders-multi-page-row-right-after.png new file mode 100644 index 000000000..c9e30869c Binary files /dev/null and b/tests/ref/grid-subheaders-multi-page-row-right-after.png differ diff --git a/tests/ref/grid-subheaders-multi-page-row.png b/tests/ref/grid-subheaders-multi-page-row.png new file mode 100644 index 000000000..637ca3fb1 Binary files /dev/null and b/tests/ref/grid-subheaders-multi-page-row.png differ diff --git a/tests/ref/grid-subheaders-multi-page-rowspan-right-after.png b/tests/ref/grid-subheaders-multi-page-rowspan-right-after.png new file mode 100644 index 000000000..5fe1eacf2 Binary files /dev/null and b/tests/ref/grid-subheaders-multi-page-rowspan-right-after.png differ diff --git a/tests/ref/grid-subheaders-multi-page-rowspan.png b/tests/ref/grid-subheaders-multi-page-rowspan.png new file mode 100644 index 000000000..342b05695 Binary files /dev/null and b/tests/ref/grid-subheaders-multi-page-rowspan.png differ diff --git a/tests/ref/grid-subheaders-repeat-replace-didnt-fit-once.png b/tests/ref/grid-subheaders-repeat-replace-didnt-fit-once.png new file mode 100644 index 000000000..df984bd60 Binary files /dev/null and b/tests/ref/grid-subheaders-repeat-replace-didnt-fit-once.png differ diff --git a/tests/ref/grid-subheaders-repeat-replace-double-orphan.png b/tests/ref/grid-subheaders-repeat-replace-double-orphan.png new file mode 100644 index 000000000..e340e6817 Binary files /dev/null and b/tests/ref/grid-subheaders-repeat-replace-double-orphan.png differ diff --git a/tests/ref/grid-subheaders-repeat-replace-multiple-levels.png b/tests/ref/grid-subheaders-repeat-replace-multiple-levels.png index 08fdc5808..d6f691e43 100644 Binary files a/tests/ref/grid-subheaders-repeat-replace-multiple-levels.png and b/tests/ref/grid-subheaders-repeat-replace-multiple-levels.png differ diff --git a/tests/ref/grid-subheaders-repeat-replace-orphan.png b/tests/ref/grid-subheaders-repeat-replace-orphan.png new file mode 100644 index 000000000..c28e9d4ff Binary files /dev/null and b/tests/ref/grid-subheaders-repeat-replace-orphan.png differ diff --git a/tests/suite/layout/grid/subheaders.typ b/tests/suite/layout/grid/subheaders.typ index f26c36d24..19c3409ff 100644 --- a/tests/suite/layout/grid/subheaders.typ +++ b/tests/suite/layout/grid/subheaders.typ @@ -110,6 +110,167 @@ ..([z],) * 6, ) +--- grid-subheaders-repeat-replace-orphan --- +#set page(height: 8em) +#grid( + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + ..([y],) * 12, + grid.header( + level: 2, + [c] + ), + ..([z],) * 10, +) + +--- grid-subheaders-repeat-replace-double-orphan --- +#set page(height: 8em) +#grid( + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + ..([y],) * 11, + grid.header( + level: 2, + [c] + ), + grid.header( + level: 3, + [d] + ), + ..([z],) * 10, +) + +--- grid-subheaders-repeat-replace-didnt-fit-once --- +#set page(height: 8em) +#grid( + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + ..([y],) * 10, + grid.header( + level: 2, + [c\ c\ c] + ), + ..([z],) * 4, +) + +--- grid-subheaders-multi-page-row --- +#set page(height: 8em) +#grid( + columns: 2, + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + [y], + grid.header( + level: 3, + [c] + ), + [a], [b], + grid.cell( + block(fill: red, width: 1.5em, height: 6.4em) + ), + [y], + ..([z],) * 10, +) + +--- grid-subheaders-multi-page-rowspan --- +#set page(height: 8em) +#grid( + columns: 2, + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + [y], + grid.header( + level: 3, + [c] + ), + [z], [z], + grid.cell( + rowspan: 5, + block(fill: red, width: 1.5em, height: 6.4em) + ), + [cell], + [cell] +) + +--- grid-subheaders-multi-page-row-right-after --- +#set page(height: 8em) +#grid( + columns: 1, + grid.header( + [a] + ), + [x], + grid.header( + level: 2, + [b] + ), + grid.header( + level: 3, + [c] + ), + grid.cell( + block(fill: red, width: 1.5em, height: 6.4em) + ), + [done.], + [done.] +) + +--- grid-subheaders-multi-page-rowspan-right-after --- +#set page(height: 8em) +#grid( + columns: 2, + grid.header( + [a] + ), + [x], [y], + grid.header( + level: 2, + [b] + ), + grid.header( + level: 3, + [c] + ), + grid.cell( + rowspan: 5, + block(fill: red, width: 1.5em, height: 6.4em) + ), + [cell], + [cell], + grid.cell(x: 0)[done.], + grid.cell(x: 0)[done.] +) + --- grid-subheaders --- #set page(width: auto, height: 12em) #let rows(n) = {