diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/src/layouter.rs | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/tests/src/layouter.rs b/tests/src/layouter.rs index 95eea204..ab95224c 100644 --- a/tests/src/layouter.rs +++ b/tests/src/layouter.rs @@ -8,12 +8,12 @@ use std::process::Command; use futures_executor::block_on; -use typstc::Typesetter; +use typstc::{Typesetter, DynErrorProvider}; use typstc::layout::{MultiLayout, Serialize}; use typstc::size::{Size, Size2D, ValueBox}; use typstc::style::{PageStyle, PaperClass}; -use typstc::toddle::query::FileSystemFontProvider; -use typstc::export::pdf::PdfExporter; +use typstc::export::pdf; +use typstc::toddle::query::fs::EagerFsProvider; type DynResult<T> = Result<T, Box<dyn Error>>; @@ -66,17 +66,17 @@ fn main() -> DynResult<()> { fn test(name: &str, src: &str) -> DynResult<()> { println!("Testing: {}.", name); - let mut typesetter = Typesetter::new(); + let (fs, entries) = EagerFsProvider::from_index("../fonts", "index.json")?; + let paths = fs.paths(); + let provider = DynErrorProvider::new(fs); + let mut typesetter = Typesetter::new((Box::new(provider), entries)); + typesetter.set_page_style(PageStyle { class: PaperClass::Custom, dimensions: Size2D::with_all(Size::pt(250.0)), margins: ValueBox::with_all(None), }); - let provider = FileSystemFontProvider::from_index("../fonts/index.json")?; - let font_paths = provider.paths(); - typesetter.add_font_provider(provider); - let layouts = compile(&typesetter, src); // Compute the font's paths. @@ -84,10 +84,8 @@ fn test(name: &str, src: &str) -> DynResult<()> { let loader = typesetter.loader().borrow(); for layout in &layouts { for index in layout.find_used_fonts() { - fonts.entry(index).or_insert_with(|| { - let p = loader.get_provider_and_index(index.id).1; - &font_paths[p][index.variant] - }); + fonts.entry(index) + .or_insert_with(|| &paths[index.id][index.variant]); } } drop(loader); @@ -113,8 +111,7 @@ fn test(name: &str, src: &str) -> DynResult<()> { // Write the PDF file. let path = format!("tests/cache/pdf/{}.pdf", name); let file = BufWriter::new(File::create(path)?); - let exporter = PdfExporter::new(); - exporter.export(&layouts, typesetter.loader(), file)?; + pdf::export(&layouts, typesetter.loader(), file)?; Ok(()) } |
