diff options
Diffstat (limited to 'tests/test_pat.rs')
-rw-r--r-- | tests/test_pat.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/test_pat.rs b/tests/test_pat.rs index 73388dd7..399de028 100644 --- a/tests/test_pat.rs +++ b/tests/test_pat.rs @@ -1,4 +1,9 @@ +#[macro_use] +mod macros; + +use proc_macro2::{Delimiter, Group, TokenStream, TokenTree}; use quote::quote; +use std::iter::FromIterator; use syn::{Item, Pat, Stmt}; #[test] @@ -36,3 +41,27 @@ fn test_leading_vert() { syn::parse_str::<Stmt>("let NS { f: | A }: NS;").unwrap_err(); syn::parse_str::<Stmt>("let NS { f: || A }: NS;").unwrap_err(); } + +#[test] +fn test_group() { + let group = Group::new(Delimiter::None, quote!(Some(_))); + let tokens = TokenStream::from_iter(vec![TokenTree::Group(group)]); + + snapshot!(tokens as Pat, @r###" + Pat::TupleStruct { + path: Path { + segments: [ + PathSegment { + ident: "Some", + arguments: None, + }, + ], + }, + pat: PatTuple { + elems: [ + Pat::Wild, + ], + }, + } + "###); +} |