blob: 587102fc84198fe56928f7cbb3fba661a2f80a37 [file] [log] [blame]
David Tolnayfa0edf22016-09-23 22:58:24 -07001#![cfg(feature = "full")]
2
3extern crate syn;
4use syn::*;
5
6#[test]
7fn test_box() {
8 let raw = "box 0";
9
10 let expected = Expr::Box(Box::new(
11 Expr::Lit(Lit::Int(0, IntTy::Unsuffixed))
12 ));
13
14 assert_eq!(expected, parse_expr(raw).unwrap());
15}
Gregory Katze5f35682016-09-27 14:20:55 -040016
17#[test]
18fn test_unnamed_loop() {
19 let block = match parse_expr("{ ( 1, 3, 8 ) }").unwrap() {
20 Expr::Block(b) => b,
21 _ => panic!("Could not run test_unnamed_loop: error in block parse."),
22 };
23
24 let raw = "loop {(1, 3, 8 )}";
25
26 let expected = Expr::Loop(block, None);
27
28 assert_eq!(expected, parse_expr(raw).unwrap());
29}
30
31#[test]
32fn test_named_loop() {
33 let block = match parse_expr("{ ( 1, 5, 9, 11) }").unwrap() {
34 Expr::Block(b) => b,
35 _ => panic!("Could not run named_loop: error in block parse."),
36 };
37
38 let raw = "' test : loop{(1, 5, 9, 11)}";
39
Gregory Katz1b69f682016-09-27 21:06:09 -040040 let expected = Expr::Loop(block, Some("'test".into()));
Gregory Katze5f35682016-09-27 14:20:55 -040041
42 assert_eq!(expected, parse_expr(raw).unwrap());
43}