test_token_trees.rs 633 B

123456789101112131415161718192021222324252627282930
  1. #[macro_use]
  2. mod macros;
  3. use proc_macro2::TokenStream;
  4. use quote::quote;
  5. use syn::Lit;
  6. #[test]
  7. fn test_struct() {
  8. let input = "
  9. #[derive(Debug, Clone)]
  10. pub struct Item {
  11. pub ident: Ident,
  12. pub attrs: Vec<Attribute>,
  13. }
  14. ";
  15. snapshot!(input as TokenStream, @r###"
  16. TokenStream(
  17. `# [derive (Debug , Clone)] pub struct Item { pub ident : Ident , pub attrs : Vec < Attribute >, }`,
  18. )
  19. "###);
  20. }
  21. #[test]
  22. fn test_literal_mangling() {
  23. let code = "0_4";
  24. let parsed: Lit = syn::parse_str(code).unwrap();
  25. assert_eq!(code, quote!(#parsed).to_string());
  26. }