#[test] fn tinyvg() -> Result<(), Box<dyn std::error::Error>> {
use intvg::{tinyvg::TVGImage, render::Render, convert::Convert};
use std::{fs::{self, File}, io::{BufReader, BufWriter}};
assert!(TVGImage::load_data(&mut BufReader::new(File::open("data/tiger.svg")?))
.is_err_and(|e| { eprintln!("{e}\n{e:?}"); true }));
for entry in fs::read_dir("data")? { let entry = entry?;
if !entry.file_type().is_ok_and(|ft| ft.is_file()) { continue }
let path = entry.path(); println!("Test {}:", path.display());
let ext = path.extension().unwrap();
let tvg = if ext == "tvg" {
TVGImage::load_data(&mut BufReader::new(File::open(&path)?))?
} else if ext == "svg" { TVGImage::from_usvg(&fs::read(&path)?)?
} else { continue };
let stem = path.file_stem().unwrap().to_str().unwrap();
let tvgf = format!("target/{}.tvg", stem);
tvg.save_data(&mut BufWriter::new(File::create(&tvgf)?))?;
let img = tvg.render(1.0)?;
#[cfg(feature = "evg")] intvg::render_evg::Render::render(&tvg, 1.0)?;
#[cfg(feature = "b2d")] intvg::render_b2d::Render::render(&tvg, 1.0)?;
img.save_png(format!("target/{}.png", stem))?;
TVGImage::load_data(&mut BufReader::new(File::open(&tvgf)?)).map_err(
|err| { eprintln!("Fail to load `{}'", &tvgf); err })?;
} Ok(())
}