codama_attributes/utils/
macros.rs

1#[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}