summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_typeset.rs56
1 files changed, 23 insertions, 33 deletions
diff --git a/tests/test_typeset.rs b/tests/test_typeset.rs
index 6ac34c85..880818da 100644
--- a/tests/test_typeset.rs
+++ b/tests/test_typeset.rs
@@ -5,21 +5,21 @@ use std::fs::{self, File};
use std::io::BufWriter;
use std::rc::Rc;
+use fontdock::fs::{FsIndex, FsProvider};
+use fontdock::FontLoader;
use futures_executor::block_on;
-use raqote::{DrawTarget, Source, SolidSource, PathBuilder, Vector, Transform};
+use raqote::{DrawTarget, PathBuilder, SolidSource, Source, Transform, Vector};
use ttf_parser::OutlineBuilder;
-use typstc::Typesetter;
+use typstc::export::pdf;
use typstc::font::{DynProvider, SharedFontLoader};
use typstc::geom::{Size, Value4};
-use typstc::layout::MultiLayout;
use typstc::layout::elements::{LayoutElement, Shaped};
+use typstc::layout::MultiLayout;
use typstc::length::Length;
-use typstc::style::PageStyle;
use typstc::paper::PaperClass;
-use typstc::export::pdf;
-use fontdock::FontLoader;
-use fontdock::fs::{FsIndex, FsProvider};
+use typstc::style::PageStyle;
+use typstc::Typesetter;
const TEST_DIR: &str = "tests";
const OUT_DIR: &str = "tests/out";
@@ -38,12 +38,7 @@ fn main() {
continue;
}
- let name = path
- .file_stem()
- .unwrap()
- .to_string_lossy()
- .to_string();
-
+ let name = path.file_stem().unwrap().to_string_lossy().to_string();
if filter.matches(&name) {
let src = fs::read_to_string(&path).unwrap();
filtered.push((name, src));
@@ -93,18 +88,15 @@ fn test(
let typeset = block_on(typesetter.typeset(src));
let layouts = typeset.output;
for diagnostic in typeset.feedback.diagnostics {
- println!(" {:?} {:?}: {}",
- diagnostic.v.level,
- diagnostic.span,
- diagnostic.v.message
+ println!(
+ " {:?} {:?}: {}",
+ diagnostic.v.level, diagnostic.span, diagnostic.v.message,
);
}
- // Render the PNG file.
let png_path = format!("{}/{}.png", OUT_DIR, name);
render(&layouts, &loader, 3.0).write_png(png_path).unwrap();
- // Write the PDF file.
let pdf_path = format!("{}/{}.pdf", OUT_DIR, name);
let file = BufWriter::new(File::create(pdf_path).unwrap());
pdf::export(&layouts, &loader, file).unwrap();
@@ -116,19 +108,19 @@ struct TestFilter {
}
impl TestFilter {
- fn new(args: impl Iterator<Item=String>) -> TestFilter {
+ fn new(args: impl Iterator<Item = String>) -> Self {
let mut filter = Vec::new();
let mut perfect = false;
for arg in args {
match arg.as_str() {
- "--nocapture" => {},
+ "--nocapture" => {}
"=" => perfect = true,
_ => filter.push(arg),
}
}
- TestFilter { filter, perfect }
+ Self { filter, perfect }
}
fn matches(&self, name: &str) -> bool {
@@ -136,7 +128,7 @@ impl TestFilter {
self.filter.iter().any(|p| name == p)
} else {
self.filter.is_empty()
- || self.filter.iter().any(|p| name.contains(p))
+ || self.filter.iter().any(|p| name.contains(p))
}
}
}
@@ -174,15 +166,13 @@ fn render(
for &(pos, ref element) in &layout.elements.0 {
match element {
- LayoutElement::Text(shaped) => {
- render_shaped(
- &mut surface,
- loader,
- shaped,
- scale * pos + offset,
- scale,
- );
- },
+ LayoutElement::Text(shaped) => render_shaped(
+ &mut surface,
+ loader,
+ shaped,
+ scale * pos + offset,
+ scale,
+ ),
}
}
@@ -215,7 +205,7 @@ fn render_shaped(
let t = Transform::create_scale(s as f32, -s as f32)
.post_translate(Vector::new(x as f32, y as f32));
- surface.fill(
+ surface.fill(
&path.transform(&t),
&Source::Solid(SolidSource { r: 0, g: 0, b: 0, a: 255 }),
&Default::default(),