bstrie | 7b4f52d | 2019-04-30 18:44:21 -0400 | [diff] [blame] | 1 | extern crate proc_macro2; |
| 2 | extern crate syn; |
| 3 | |
| 4 | use std::str::FromStr; |
| 5 | |
| 6 | use proc_macro2::TokenStream; |
David Tolnay | 35c8653 | 2019-05-07 21:54:43 -0700 | [diff] [blame] | 7 | use syn::{Expr, ExprRange}; |
bstrie | 7b4f52d | 2019-04-30 18:44:21 -0400 | [diff] [blame] | 8 | |
| 9 | #[test] |
| 10 | fn test_expr_parse() { |
bstrie | 7b4f52d | 2019-04-30 18:44:21 -0400 | [diff] [blame] | 11 | let code = "..100u32"; |
bstrie | b7f8aaf | 2019-04-30 20:20:25 -0400 | [diff] [blame] | 12 | let tt = TokenStream::from_str(code).unwrap(); |
David Tolnay | c4a5b54 | 2019-05-07 21:57:05 -0700 | [diff] [blame] | 13 | let expr: Expr = syn::parse2(tt.clone()).unwrap(); |
| 14 | let expr_range: ExprRange = syn::parse2(tt).unwrap(); |
| 15 | assert_eq!(expr, Expr::Range(expr_range)); |
bstrie | 7b4f52d | 2019-04-30 18:44:21 -0400 | [diff] [blame] | 16 | } |