From ef4fc040b279104f6c95a5ea2f9a9d10fb0e9019 Mon Sep 17 00:00:00 2001 From: Ian Wrzesinski <133046678+wrzian@users.noreply.github.com> Date: Wed, 11 Dec 2024 06:31:04 -0500 Subject: Improve raw trimming (#5541) --- tests/ref/raw-empty-lines.png | Bin 0 -> 92 bytes tests/suite/text/raw.typ | 55 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 tests/ref/raw-empty-lines.png (limited to 'tests') diff --git a/tests/ref/raw-empty-lines.png b/tests/ref/raw-empty-lines.png new file mode 100644 index 00000000..dcf0d926 Binary files /dev/null and b/tests/ref/raw-empty-lines.png differ diff --git a/tests/suite/text/raw.typ b/tests/suite/text/raw.typ index fa9e630f..1ba21630 100644 --- a/tests/suite/text/raw.typ +++ b/tests/suite/text/raw.typ @@ -282,10 +282,40 @@ int main() { --- raw-blocky --- // Test various raw parsing edge cases. + #let empty = ( name: "empty", input: ``, text: "", + block: false, +) + +#let empty-spaces = ( + name: "empty-spaces", + input: ``` ```, + text: "", + block: false, +) + +#let empty-newlines = ( + name: "empty-newlines", + input: ``` + + +```, + text: "\n", + block: true, +) + +#let newlines-backtick = ( + name: "newlines-backtick", + input: ``` + +` + +```, + text: "\n`\n", + block: true, ) #let backtick = ( @@ -423,8 +453,18 @@ test block: true, ) +#let extra-first-line-ws = ( + name: "extra-first-line-ws", + input: eval("``` \n```"), + text: "", + block: true, +) + #let cases = ( empty, + empty-spaces, + empty-newlines, + newlines-backtick, backtick, lang-backtick, lang-space, @@ -438,10 +478,11 @@ test blocky-dedent-lastline2, blocky-tab, blocky-tab-dedent, + extra-first-line-ws, ) #for c in cases { - let block = c.at("block", default: false) + let block = c.block assert.eq(c.text, c.input.text, message: "in point " + c.name + ", expect " + repr(c.text) + ", got " + repr(c.input.text) + "") assert.eq(block, c.input.block, message: "in point " + c.name + ", expect " + repr(block) + ", got " + repr(c.input.block) + "") } @@ -556,6 +597,18 @@ print(y) --- issue-3601-empty-raw --- // Test that empty raw block with `typ` language doesn't cause a crash. ```typ +``` + +--- raw-empty-lines --- +// Test raw with multiple empty lines. + +#show raw: block.with(width: 100%, fill: gray) + +``` + + + + ``` --- issue-3841-tabs-in-raw-type-code --- -- cgit v1.2.3