summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/main.rs17
-rw-r--r--tests/test_typeset.rs17
2 files changed, 28 insertions, 6 deletions
diff --git a/main/main.rs b/main/main.rs
index 0d67241c..65b70d38 100644
--- a/main/main.rs
+++ b/main/main.rs
@@ -44,7 +44,22 @@ fn main() {
let loader = Rc::new(RefCell::new(loader));
let typesetter = Typesetter::new(loader.clone());
- let layouts = block_on(typesetter.typeset(&src)).output;
+ let pass = block_on(typesetter.typeset(&src));
+ let layouts = pass.output;
+
+ let mut feedback = pass.feedback;
+ feedback.diagnostics.sort();
+ for diagnostic in feedback.diagnostics {
+ let span = diagnostic.span;
+ println!(
+ "{}: {}:{}:{} - {}:{}: {}",
+ format!("{:?}", diagnostic.v.level).to_lowercase(),
+ src_path.display(),
+ span.start.line + 1, span.start.column + 1,
+ span.end.line + 1, span.end.column + 1,
+ diagnostic.v.message,
+ );
+ }
let file = File::create(&dest_path)
.expect("failed to create output file");
diff --git a/tests/test_typeset.rs b/tests/test_typeset.rs
index 4d853393..5bb02dc7 100644
--- a/tests/test_typeset.rs
+++ b/tests/test_typeset.rs
@@ -3,6 +3,7 @@ use std::env;
use std::ffi::OsStr;
use std::fs::{self, File};
use std::io::BufWriter;
+use std::path::Path;
use std::rc::Rc;
use fontdock::fs::{FsIndex, FsProvider};
@@ -41,7 +42,7 @@ fn main() {
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));
+ filtered.push((name, path, src));
}
}
@@ -72,14 +73,15 @@ fn main() {
margins: Value4::with_all(None),
});
- for (name, src) in filtered {
- test(&name, &src, &mut typesetter, &loader)
+ for (name, path, src) in filtered {
+ test(&name, &src, &path, &mut typesetter, &loader)
}
}
fn test(
name: &str,
src: &str,
+ path: &Path,
typesetter: &mut Typesetter,
loader: &SharedFontLoader,
) {
@@ -91,9 +93,14 @@ fn test(
feedback.diagnostics.sort();
for diagnostic in feedback.diagnostics {
+ let span = diagnostic.span;
println!(
- " {:?} {:?}: {}",
- diagnostic.v.level, diagnostic.span, diagnostic.v.message,
+ " {:?}: {}:{}:{} - {}:{}: {}",
+ diagnostic.v.level,
+ path.display(),
+ span.start.line + 1, span.start.column + 1,
+ span.end.line + 1, span.end.column + 1,
+ diagnostic.v.message,
);
}