summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2024-07-20 14:51:24 +0200
committerGitHub <noreply@github.com>2024-07-20 12:51:24 +0000
commit0c37a2c2334afb6947f265e00bded0fe75be6434 (patch)
treec6dd66554f1f9cadc1f43f386639c05f3aa6bf3e /tests
parent3aa18beacf84e8e982a1cb28170d281769c06dd0 (diff)
Support transparent page fill (#4586)
Co-authored-by: Martin Haug <mhaug@live.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/fuzz/src/compile.rs3
-rw-r--r--tests/ref/page-fill-none.pngbin0 -> 97 bytes
-rw-r--r--tests/ref/pattern-relative-self.pngbin423 -> 474 bytes
-rw-r--r--tests/src/run.rs9
-rw-r--r--tests/suite/layout/page.typ8
-rw-r--r--tests/suite/visualize/pattern.typ16
6 files changed, 21 insertions, 15 deletions
diff --git a/tests/fuzz/src/compile.rs b/tests/fuzz/src/compile.rs
index c9536150..fa939781 100644
--- a/tests/fuzz/src/compile.rs
+++ b/tests/fuzz/src/compile.rs
@@ -6,7 +6,6 @@ use typst::foundations::{Bytes, Datetime};
use typst::syntax::{FileId, Source};
use typst::text::{Font, FontBook};
use typst::utils::LazyHash;
-use typst::visualize::Color;
use typst::{Library, World};
struct FuzzWorld {
@@ -68,7 +67,7 @@ fuzz_target!(|text: &str| {
let world = FuzzWorld::new(text);
if let Ok(document) = typst::compile(&world).output {
if let Some(page) = document.pages.first() {
- std::hint::black_box(typst_render::render(&page.frame, 1.0, Color::WHITE));
+ std::hint::black_box(typst_render::render(page, 1.0));
}
}
comemo::evict(10);
diff --git a/tests/ref/page-fill-none.png b/tests/ref/page-fill-none.png
new file mode 100644
index 00000000..d225135f
--- /dev/null
+++ b/tests/ref/page-fill-none.png
Binary files differ
diff --git a/tests/ref/pattern-relative-self.png b/tests/ref/pattern-relative-self.png
index 28408081..617e7dd6 100644
--- a/tests/ref/pattern-relative-self.png
+++ b/tests/ref/pattern-relative-self.png
Binary files differ
diff --git a/tests/src/run.rs b/tests/src/run.rs
index 3db03ba4..9681ae4c 100644
--- a/tests/src/run.rs
+++ b/tests/src/run.rs
@@ -359,13 +359,8 @@ fn render(document: &Document, pixel_per_pt: f32) -> sk::Pixmap {
}
let gap = Abs::pt(1.0);
- let mut pixmap = typst_render::render_merged(
- document,
- pixel_per_pt,
- Color::WHITE,
- gap,
- Color::BLACK,
- );
+ let mut pixmap =
+ typst_render::render_merged(document, pixel_per_pt, gap, Some(Color::BLACK));
let gap = (pixel_per_pt * gap.to_pt() as f32).round();
diff --git a/tests/suite/layout/page.typ b/tests/suite/layout/page.typ
index f833af59..0e1f7729 100644
--- a/tests/suite/layout/page.typ
+++ b/tests/suite/layout/page.typ
@@ -66,7 +66,13 @@
// Test page fill.
#set page(width: 80pt, height: 40pt, fill: eastern)
#text(15pt, font: "Roboto", fill: white, smallcaps[Typst])
-#page(width: 40pt, fill: none, margin: (top: 10pt, rest: auto))[Hi]
+#page(width: 40pt, fill: auto, margin: (top: 10pt, rest: auto))[Hi]
+
+--- page-fill-none ---
+// Test disabling page fill.
+// The PNG is filled with black anyway due to the test runner.
+#set page(fill: none)
+#rect(fill: green)
--- page-margin-uniform ---
// Set all margins at once.
diff --git a/tests/suite/visualize/pattern.typ b/tests/suite/visualize/pattern.typ
index 08051ed2..b0c92efa 100644
--- a/tests/suite/visualize/pattern.typ
+++ b/tests/suite/visualize/pattern.typ
@@ -21,24 +21,30 @@
--- pattern-relative-self ---
// Test with relative set to `"self"`
#let pat(..args) = pattern(size: (30pt, 30pt), ..args)[
+ #set line(stroke: green)
#place(top + left, line(start: (0%, 0%), end: (100%, 100%), stroke: 1pt))
#place(top + left, line(start: (0%, 100%), end: (100%, 0%), stroke: 1pt))
]
#set page(fill: pat(), width: 100pt, height: 100pt)
-
-#rect(fill: pat(relative: "self"), width: 100%, height: 100%, stroke: 1pt)
+#rect(
+ width: 100%,
+ height: 100%,
+ fill: pat(relative: "self"),
+ stroke: 1pt + green,
+)
--- pattern-relative-parent ---
// Test with relative set to `"parent"`
-#let pat(..args) = pattern(size: (30pt, 30pt), ..args)[
+#let pat(fill, ..args) = pattern(size: (30pt, 30pt), ..args)[
+ #rect(width: 100%, height: 100%, fill: fill, stroke: none)
#place(top + left, line(start: (0%, 0%), end: (100%, 100%), stroke: 1pt))
#place(top + left, line(start: (0%, 100%), end: (100%, 0%), stroke: 1pt))
]
-#set page(fill: pat(), width: 100pt, height: 100pt)
+#set page(fill: pat(white), width: 100pt, height: 100pt)
-#rect(fill: pat(relative: "parent"), width: 100%, height: 100%, stroke: 1pt)
+#rect(fill: pat(none, relative: "parent"), width: 100%, height: 100%, stroke: 1pt)
--- pattern-small ---
// Tests small patterns for pixel accuracy.