1 use darling::{FromDeriveInput, FromMeta};
2 use syn::parse_quote;
3 
4 #[derive(FromDeriveInput)]
5 #[darling(attributes(hello))]
6 #[allow(dead_code)]
7 struct Lorem {
8     ident: syn::Ident,
9     ipsum: Ipsum,
10 }
11 
12 #[derive(FromMeta)]
13 struct Ipsum {
14     #[darling(multiple)]
15     dolor: Vec<String>,
16 }
17 
18 #[test]
expand_many()19 fn expand_many() {
20     let di = parse_quote! {
21         #[hello(ipsum(dolor = "Hello", dolor = "World"))]
22         pub struct Baz;
23     };
24 
25     let lorem: Lorem = Lorem::from_derive_input(&di).unwrap();
26     assert_eq!(
27         lorem.ipsum.dolor,
28         vec!["Hello".to_string(), "World".to_string()]
29     );
30 }
31