diff options
Diffstat (limited to 'mingling_cli/tmpls')
| -rw-r--r-- | mingling_cli/tmpls/lints.tmpl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mingling_cli/tmpls/lints.tmpl b/mingling_cli/tmpls/lints.tmpl index 7507f98..fae1126 100644 --- a/mingling_cli/tmpls/lints.tmpl +++ b/mingling_cli/tmpls/lints.tmpl @@ -50,6 +50,24 @@ pub fn run_all_lints(file: &syn::File, source: &str) -> Vec<MlintReport> { reports } +#[macro_export] +macro_rules! assert_detected { + ($linter:expr, $ast_type:ty => $code:tt) => { + // Parse the string into a syn::ItemFn + let ast: $ast_type = syn::parse_str(&stringify!($code)).unwrap(); + assert!(!$linter(ast, &stringify!($code).to_string()).is_empty()); + }; +} + +#[macro_export] +macro_rules! assert_not_detected { + ($linter:expr, $ast_type:ty => $code:tt) => { + // Parse the string into a syn::ItemFn + let ast: $ast_type = syn::parse_str(&stringify!($code)).unwrap(); + assert!($linter(ast, &stringify!($code).to_string()).is_empty()); + }; +} + @@@ >>> impls mod <<<mod_name>>>; pub use <<<mod_name>>>::linter as <<<mod_name>>>; |
