File tree 2 files changed +27
-0
lines changed
src/test/ui/proc-macro/auxiliary/api
2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 9
9
extern crate proc_macro;
10
10
11
11
mod cmp;
12
+ mod parse;
12
13
13
14
use proc_macro:: TokenStream ;
14
15
15
16
#[ proc_macro]
16
17
pub fn run ( input : TokenStream ) -> TokenStream {
17
18
assert ! ( input. is_empty( ) ) ;
19
+
18
20
cmp:: test ( ) ;
21
+ parse:: test ( ) ;
22
+
19
23
TokenStream :: new ( )
20
24
}
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments