mirror of
https://gitee.com/openharmony/third_party_rust_syn
synced 2025-03-02 12:26:09 +00:00
33 lines
672 B
Rust
33 lines
672 B
Rust
extern crate proc_macro2;
|
|
extern crate quote;
|
|
extern crate syn;
|
|
|
|
mod features;
|
|
|
|
#[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, @"`# [ 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());
|
|
}
|