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)
7 .unwrap()
8 .node
9 .map(codama_nodes::Node::from);
10 assert_eq!(node, $crate::Resolvable::Resolved($expected));
11 }
12 };
13}
14
15#[macro_export]
16macro_rules! assert_type_err {
17 ({$($attr:tt)*}, $expected:expr) => {
18 {
19 let meta: codama_syn_helpers::Meta = syn::parse_quote! { type = $($attr)* };
20 let message = $crate::TypeDirective::parse(&meta).unwrap_err().to_string();
21 assert_eq!(message, $expected);
22 }
23 };
24}
25
26#[macro_export]
27macro_rules! assert_value {
28 ({$($attr:tt)*}, $expected:expr) => {
29 {
30 let meta: codama_syn_helpers::Meta = syn::parse_quote! { default_value = $($attr)* };
31 let node = $crate::DefaultValueDirective::parse(&meta).unwrap().node;
32 assert_eq!(node, $crate::Resolvable::Resolved($expected));
33 }
34 };
35}
36
37#[macro_export]
38macro_rules! assert_value_err {
39 ({$($attr:tt)*}, $expected:expr) => {
40 {
41 let meta: codama_syn_helpers::Meta = syn::parse_quote! { default_value = $($attr)* };
42 let message = $crate::DefaultValueDirective::parse(&meta).unwrap_err().to_string();
43 assert_eq!(message, $expected);
44 }
45 };
46}