oxedyne/fe2o3/fe2o3_austenite/tests/oracle/fixtures/builtins_fixture.typ
2.0 KiB, 1 run
created by r1870400018:59150, which is this file's identity for as long as the history lasts, whatever it is later renamed to
download · who wrote it · its history
| 1 | // The oracle harness's own markup-builtins fixture -- the corpus root that exercises the block-position |
| 2 | // (own-line) Typst markup builtins the reader now sets rather than skipping: `#pagebreak()`, `#lorem(n)` |
| 3 | // and `#v(<abs len>)`. See `lang::parse`'s `builtin_opener`/`dispatch_capture` for the recognition path and |
| 4 | // `doc::Block::PageBreak` for the pagination side. |
| 5 | // |
| 6 | // Deliberately self-contained: no `#import` of any shared template, so it depends on nothing this crate |
| 7 | // does not own and needs no symbol-modifier patch (see `mod.rs`'s `prepare_patched_template_mirror`) to |
| 8 | // compile under typst 0.15.1. It carries two headings, so the anchor-page comparison has landmarks to |
| 9 | // order-match, and it spans two pages, so the forced `#pagebreak()` is proved to turn the page rather than |
| 10 | // merely be parsed: revert the builtin recognition and the reader skips all three, collapsing the document |
| 11 | // to a single page whose text loses the two `#lorem` paragraphs -- which moves this root's pinned PDF hash, |
| 12 | // so the fixture is non-vacuous. |
| 13 | // |
| 14 | // `#lorem` is checked at counts (45, 30) well inside the plain-Latin opening of the embedded corpus, where |
| 15 | // every word carries only commas and full stops, so the placeholder text sets byte-identically to the |
| 16 | // oracle. `#v(24pt)` is an absolute length, the only kind the reader sets; both engines add exactly 24pt. |
| 17 | |
| 18 | = A Markup Builtins Fixture |
| 19 | |
| 20 | An opening paragraph written long enough to wrap onto more than one line, so the first page carries real |
| 21 | body content above the forced break and the raster sample lands on set prose rather than a single short |
| 22 | line adrift near the top margin. |
| 23 | |
| 24 | #lorem(45) |
| 25 | |
| 26 | #v(24pt) |
| 27 | |
| 28 | A short paragraph set after an explicit vertical space, so the `#v(24pt)` sits between two real blocks of |
| 29 | prose where its leading is visible in a raster comparison rather than collapsing at a page edge. |
| 30 | |
| 31 | #pagebreak() |
| 32 | |
| 33 | = After The Forced Break |
| 34 | |
| 35 | This heading and the placeholder paragraph beneath it must land on the second page, proving the forced |
| 36 | page break actually turned the page rather than being parsed and dropped. |
| 37 | |
| 38 | #lorem(30) |