test(parser): rename definitions to definition and more tests

This commit is contained in:
rvcas
2023-07-03 14:58:04 -04:00
parent baf807ca2d
commit 6b05d6a91e
28 changed files with 337 additions and 362 deletions

View File

@@ -128,3 +128,22 @@ macro_rules! assert_module {
});
};
}
#[macro_export]
macro_rules! assert_definition {
($code:expr) => {
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::definition().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);
});
};
}