Work on error messages
Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
parent
7f7bf5c98d
commit
42698bb219
13 changed files with 333 additions and 160 deletions
|
|
@ -5,6 +5,7 @@ use std::path::Path;
|
|||
|
||||
use nomo::Context;
|
||||
use nomo::functions::FunctionMap;
|
||||
use nomo::input::NomoInput;
|
||||
|
||||
test_each_file::test_each_path! { for ["nomo"] in "./tests/cases/" as cases => check_for_input }
|
||||
|
||||
|
|
@ -43,16 +44,18 @@ fn check_for_input([path]: [&Path; 1]) {
|
|||
context.try_insert(k, v).unwrap();
|
||||
}
|
||||
|
||||
let parsed = nomo::lexer::parse(input.into()).unwrap();
|
||||
let input = NomoInput::from(input);
|
||||
|
||||
let parsed = nomo::lexer::parse(input.clone()).unwrap();
|
||||
|
||||
let _guard = settings.bind_to_scope();
|
||||
|
||||
insta::assert_debug_snapshot!(format!("{basename}.1-parsed"), parsed);
|
||||
|
||||
let ast = match nomo::parser::parse(parsed.tokens()) {
|
||||
let ast = match nomo::parser::parse(input, parsed.tokens()) {
|
||||
Ok(ast) => ast,
|
||||
Err(err) => {
|
||||
eprintln!("{}", err.to_report(input));
|
||||
eprintln!("{}", err);
|
||||
panic!("Could not evaluate ast");
|
||||
}
|
||||
};
|
||||
|
|
@ -97,7 +100,9 @@ fn check_errors([path]: [&Path; 1]) {
|
|||
|
||||
let _guard = settings.bind_to_scope();
|
||||
|
||||
let parsed = nomo::lexer::parse(input.into()).map_err(|err| err.to_report());
|
||||
let input = NomoInput::from(input);
|
||||
|
||||
let parsed = nomo::lexer::parse(input.clone()).map_err(|err| err.to_report());
|
||||
|
||||
match &parsed {
|
||||
Ok(parsed) => insta::assert_debug_snapshot!(format!("{basename}.1-parsed"), parsed),
|
||||
|
|
@ -108,7 +113,7 @@ fn check_errors([path]: [&Path; 1]) {
|
|||
return;
|
||||
};
|
||||
|
||||
let ast = nomo::parser::parse(parsed.tokens()).map_err(|err| err.to_report(input));
|
||||
let ast = nomo::parser::parse(input, parsed.tokens()).map_err(|err| err.to_string());
|
||||
|
||||
match &ast {
|
||||
Ok(ast) => insta::assert_debug_snapshot!(format!("{basename}.2-ast"), ast),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue