codama_attributes/utils/
macros.rs1#[macro_export]
2macro_rules! assert_type {
3 ({$($attr:tt)*}, $expected:expr) => {
4 {
5 let meta: codama_syn_helpers::Meta = syn::parse_quote! { type = $($attr)* };
6 let node = $crate::TypeDirective::parse(&meta).unwrap().node;
7 assert_eq!(node, $expected);
8 }
9 };
10}
11
12#[macro_export]
13macro_rules! assert_type_err {
14 ({$($attr:tt)*}, $expected:expr) => {
15 {
16 let meta: codama_syn_helpers::Meta = syn::parse_quote! { type = $($attr)* };
17 let message = $crate::TypeDirective::parse(&meta).unwrap_err().to_string();
18 assert_eq!(message, $expected);
19 }
20 };
21}
22
23#[macro_export]
24macro_rules! assert_value {
25 ({$($attr:tt)*}, $expected:expr) => {
26 {
27 let meta: codama_syn_helpers::Meta = syn::parse_quote! { default_value = $($attr)* };
28 let node = $crate::DefaultValueDirective::parse(&meta).unwrap().node;
29 assert_eq!(node, $expected);
30 }
31 };
32}
33
34#[macro_export]
35macro_rules! assert_value_err {
36 ({$($attr:tt)*}, $expected:expr) => {
37 {
38 let meta: codama_syn_helpers::Meta = syn::parse_quote! { default_value = $($attr)* };
39 let message = $crate::DefaultValueDirective::parse(&meta).unwrap_err().to_string();
40 assert_eq!(message, $expected);
41 }
42 };
43}