diff --git a/tests/ref/grid-header-non-repeating-orphan-prevention.png b/tests/ref/grid-header-non-repeating-orphan-prevention.png new file mode 100644 index 000000000..d0dbc5974 Binary files /dev/null and b/tests/ref/grid-header-non-repeating-orphan-prevention.png differ diff --git a/tests/ref/grid-subheaders-non-repeating-orphan-prevention.png b/tests/ref/grid-subheaders-non-repeating-orphan-prevention.png new file mode 100644 index 000000000..0f37c5d17 Binary files /dev/null and b/tests/ref/grid-subheaders-non-repeating-orphan-prevention.png differ diff --git a/tests/ref/grid-subheaders-repeat-replace-short-lived.png b/tests/ref/grid-subheaders-repeat-replace-short-lived.png index 410d6b317..d041888c8 100644 Binary files a/tests/ref/grid-subheaders-repeat-replace-short-lived.png and b/tests/ref/grid-subheaders-repeat-replace-short-lived.png differ diff --git a/tests/ref/grid-subheaders-repeating-orphan-prevention.png b/tests/ref/grid-subheaders-repeating-orphan-prevention.png new file mode 100644 index 000000000..0f37c5d17 Binary files /dev/null and b/tests/ref/grid-subheaders-repeating-orphan-prevention.png differ diff --git a/tests/ref/grid-subheaders-short-lived-no-orphan-prevention.png b/tests/ref/grid-subheaders-short-lived-no-orphan-prevention.png new file mode 100644 index 000000000..560670524 Binary files /dev/null and b/tests/ref/grid-subheaders-short-lived-no-orphan-prevention.png differ diff --git a/tests/suite/layout/grid/headers.typ b/tests/suite/layout/grid/headers.typ index 20595c9f8..882397695 100644 --- a/tests/suite/layout/grid/headers.typ +++ b/tests/suite/layout/grid/headers.typ @@ -250,6 +250,17 @@ ..([Test], [Test], [Test]) * 20 ) +--- grid-header-non-repeating-orphan-prevention --- +#set page(height: 5em) +#v(2em) +#grid( + grid.header(repeat: false)[*Abc*], + [a], + [b], + [c], + [d] +) + --- grid-header-empty --- // Empty header should just be a repeated blank row #set page(height: 12em) diff --git a/tests/suite/layout/grid/subheaders.typ b/tests/suite/layout/grid/subheaders.typ index 8fc9e4987..5c28f1065 100644 --- a/tests/suite/layout/grid/subheaders.typ +++ b/tests/suite/layout/grid/subheaders.typ @@ -197,6 +197,8 @@ ) --- grid-subheaders-repeat-replace-short-lived --- +// No orphan prevention for short-lived headers +// (followed by replacing headers). #set page(height: 8em) #grid( grid.header( @@ -345,6 +347,56 @@ grid.cell(x: 0)[done.] ) +--- grid-subheaders-short-lived-no-orphan-prevention --- +// No orphan prevention for short-lived headers. +#set page(height: 8em) +#v(5em) +#grid( + grid.header( + level: 2, + [b] + ), + grid.header( + level: 2, + [c] + ), + [d] +) + +--- grid-subheaders-repeating-orphan-prevention --- +#set page(height: 8em) +#v(4.5em) +#grid( + grid.header( + repeat: true, + level: 2, + [L2] + ), + grid.header( + repeat: true, + level: 4, + [L4] + ), + [a] +) + +--- grid-subheaders-non-repeating-orphan-prevention --- +#set page(height: 8em) +#v(4.5em) +#grid( + grid.header( + repeat: false, + level: 2, + [L2] + ), + grid.header( + repeat: false, + level: 4, + [L4] + ), + [a] +) + --- grid-subheaders-alone --- #table( table.header(