diff options
| author | Wenzhuo Liu <mgt@oi-wiki.org> | 2023-08-08 18:54:13 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-08 12:54:13 +0200 |
| commit | 61e4ad6bbafaa97b965a206ad06af65a0805be7e (patch) | |
| tree | 54f0d17b4f36fb58eee483d7913e8eae84dee525 /tests/src | |
| parent | f56060c1b3fd029f1744322025b89253c5cf5457 (diff) | |
Add SVG export (#1729)
Diffstat (limited to 'tests/src')
| -rw-r--r-- | tests/src/tests.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tests/src/tests.rs b/tests/src/tests.rs index 51823361..b5f80663 100644 --- a/tests/src/tests.rs +++ b/tests/src/tests.rs @@ -35,6 +35,7 @@ const TYP_DIR: &str = "typ"; const REF_DIR: &str = "ref"; const PNG_DIR: &str = "png"; const PDF_DIR: &str = "pdf"; +const SVG_DIR: &str = "svg"; const FONT_DIR: &str = "../assets/fonts"; const ASSET_DIR: &str = "../assets"; @@ -116,11 +117,19 @@ fn main() { let path = src_path.strip_prefix(TYP_DIR).unwrap(); let png_path = Path::new(PNG_DIR).join(path).with_extension("png"); let ref_path = Path::new(REF_DIR).join(path).with_extension("png"); + let svg_path = Path::new(SVG_DIR).join(path).with_extension("svg"); let pdf_path = args.pdf.then(|| Path::new(PDF_DIR).join(path).with_extension("pdf")); - test(world, &src_path, &png_path, &ref_path, pdf_path.as_deref(), &args) - as usize + test( + world, + &src_path, + &png_path, + &ref_path, + pdf_path.as_deref(), + &svg_path, + &args, + ) as usize }) .collect::<Vec<_>>(); @@ -328,6 +337,7 @@ fn test( png_path: &Path, ref_path: &Path, pdf_path: Option<&Path>, + svg_path: &Path, args: &Args, ) -> bool { struct PanicGuard<'a>(&'a Path); @@ -419,6 +429,10 @@ fn test( fs::create_dir_all(png_path.parent().unwrap()).unwrap(); canvas.save_png(png_path).unwrap(); + let svg = typst::export::svg(&document); + fs::create_dir_all(svg_path.parent().unwrap()).unwrap(); + std::fs::write(svg_path, svg).unwrap(); + if let Ok(ref_pixmap) = sk::Pixmap::load_png(ref_path) { if canvas.width() != ref_pixmap.width() || canvas.height() != ref_pixmap.height() |
