test(parser): type alias, anon fn, record update and more

This commit is contained in:
rvcas
2023-07-03 16:44:18 -04:00
parent bd8c13c372
commit a75bcff5c8
28 changed files with 453 additions and 713 deletions

View File

@@ -115,6 +115,27 @@ macro_rules! assert_expr {
};
}
#[macro_export]
macro_rules! assert_annotation {
($code:expr) => {
use chumsky::Parser;
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len()), tokens.into_iter());
let result = $crate::parser::annotation().parse(stream).unwrap();
insta::with_settings!({
description => concat!("Code:\n\n", indoc::indoc! { $code }),
prepend_module_to_snapshot => false,
omit_expression => true
}, {
insta::assert_debug_snapshot!(result);
});
};
}
#[macro_export]
macro_rules! assert_module {
($code:expr) => {