Skip to content

Commit 965bce4

Browse files
committed
Add proc macro Literal parse test
1 parent faad7e2 commit 965bce4

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/test/ui/proc-macro/auxiliary/api/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99
extern crate proc_macro;
1010

1111
mod cmp;
12+
mod parse;
1213

1314
use proc_macro::TokenStream;
1415

1516
#[proc_macro]
1617
pub fn run(input: TokenStream) -> TokenStream {
1718
assert!(input.is_empty());
19+
1820
cmp::test();
21+
parse::test();
22+
1923
TokenStream::new()
2024
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use proc_macro::Literal;
2+
3+
pub fn test() {
4+
test_parse_literal();
5+
}
6+
7+
fn test_parse_literal() {
8+
assert_eq!("1".parse::<Literal>().unwrap().to_string(), "1");
9+
assert_eq!("1.0".parse::<Literal>().unwrap().to_string(), "1.0");
10+
assert_eq!("'a'".parse::<Literal>().unwrap().to_string(), "'a'");
11+
assert_eq!("\"\n\"".parse::<Literal>().unwrap().to_string(), "\"\n\"");
12+
assert_eq!("b\"\"".parse::<Literal>().unwrap().to_string(), "b\"\"");
13+
assert_eq!("r##\"\"##".parse::<Literal>().unwrap().to_string(), "r##\"\"##");
14+
assert_eq!("10ulong".parse::<Literal>().unwrap().to_string(), "10ulong");
15+
16+
assert!("0 1".parse::<Literal>().is_err());
17+
assert!("'a".parse::<Literal>().is_err());
18+
assert!(" 0".parse::<Literal>().is_err());
19+
assert!("0 ".parse::<Literal>().is_err());
20+
assert!("/* comment */0".parse::<Literal>().is_err());
21+
assert!("0/* comment */".parse::<Literal>().is_err());
22+
assert!("0// comment".parse::<Literal>().is_err());
23+
}

0 commit comments

Comments
 (0)