Add more tests & rename 'Invalid' -> 'Unfinished'

This commit is contained in:
KtorZ
2024-01-20 10:26:33 +01:00
parent cb6fd59dbd
commit bf96c3afd2
12 changed files with 293 additions and 11 deletions

View File

@@ -28,15 +28,28 @@ macro_rules! assert_expr {
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len(), 1), tokens.into_iter());
let result = $crate::parser::expr::sequence().parse(stream).unwrap();
let result = $crate::parser::expr::sequence().parse(stream);
insta::with_settings!({
description => concat!("Code:\n\n", indoc::indoc! { $code }),
prepend_module_to_snapshot => false,
omit_expression => true
}, {
insta::assert_debug_snapshot!(result);
});
match result {
Ok(expr) => {
insta::with_settings!({
description => concat!("Code:\n\n", indoc::indoc! { $code }),
prepend_module_to_snapshot => false,
omit_expression => true
}, {
insta::assert_debug_snapshot!(expr);
})
},
Err(err) => {
insta::with_settings!({
description => concat!("Invalid code (parse error):\n\n", indoc::indoc! { $code }),
prepend_module_to_snapshot => false,
omit_expression => true
}, {
insta::assert_debug_snapshot!(err);
})
}
}
};
}