diff options
Diffstat (limited to 'third_party/rust/syn/tests/test_token_trees.rs')
-rw-r--r-- | third_party/rust/syn/tests/test_token_trees.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/third_party/rust/syn/tests/test_token_trees.rs b/third_party/rust/syn/tests/test_token_trees.rs new file mode 100644 index 0000000000..5b00448af8 --- /dev/null +++ b/third_party/rust/syn/tests/test_token_trees.rs @@ -0,0 +1,30 @@ +#[macro_use] +mod macros; + +use proc_macro2::TokenStream; +use quote::quote; +use syn::Lit; + +#[test] +fn test_struct() { + let input = " + #[derive(Debug, Clone)] + pub struct Item { + pub ident: Ident, + pub attrs: Vec<Attribute>, + } + "; + + snapshot!(input as TokenStream, @r###" + TokenStream( + `# [derive (Debug , Clone)] pub struct Item { pub ident : Ident , pub attrs : Vec < Attribute >, }`, + ) + "###); +} + +#[test] +fn test_literal_mangling() { + let code = "0_4"; + let parsed: Lit = syn::parse_str(code).unwrap(); + assert_eq!(code, quote!(#parsed).to_string()); +} |