@@ -3,7 +3,79 @@ use rustell::encode;
33use rustell:: * ;
44
55#[ test]
6- fn test_parser ( ) {
6+ fn module ( ) {
7+ let lhs = "mod hello;" ;
8+ let rhs = vec ! [ Expr :: Mod ( "hello" ) ] ;
9+ assert_eq ! ( decode( lhs) , rhs) ;
10+ assert_eq ! ( decode( & sloppy( lhs) ) , rhs) ;
11+ assert_eq ! ( decode( & encode( & rhs) ) , rhs)
12+ }
13+
14+ #[ test]
15+ fn module_then_use ( ) {
16+ let lhs = "mod hello; use std::io;" ;
17+ let rhs = vec ! [
18+ Expr :: Mod ( "hello" ) ,
19+ Expr :: Raw ( " " ) ,
20+ Expr :: Use ( ExprUse :: Item {
21+ module: "std" ,
22+ rename: None ,
23+ nested: Some ( Box :: new( ExprUse :: Item {
24+ module: "io" ,
25+ rename: None ,
26+ nested: None ,
27+ } ) ) ,
28+ } ) ,
29+ ] ;
30+ assert_eq ! ( decode( lhs) , rhs) ;
31+ assert_eq ! ( decode( & sloppy( lhs) ) , rhs) ;
32+ assert_eq ! ( decode( & encode( & rhs) ) , rhs)
33+ }
34+
35+ #[ test]
36+ fn raw_then_module ( ) {
37+ let lhs = r#"
38+ fn test() {
39+ println!("Hello")
40+ }
41+ mod hello;"# ;
42+ let rhs = vec ! [
43+ Expr :: Raw (
44+ r#"
45+ fn test() {
46+ println!("Hello")
47+ }
48+ "# ,
49+ ) ,
50+ Expr :: Mod ( "hello" ) ,
51+ ] ;
52+ assert_eq ! ( decode( lhs) , rhs) ;
53+ assert_eq ! ( decode( & sloppy( lhs) ) , rhs) ;
54+ assert_eq ! ( decode( & encode( & rhs) ) , rhs)
55+ }
56+
57+ #[ test]
58+ fn module_then_raw ( ) {
59+ let lhs = "mod hello;
60+ fn test() {
61+ println!(\" Hello\" )
62+ }" ;
63+ let rhs = vec ! [
64+ Expr :: Mod ( "hello" ) ,
65+ Expr :: Raw (
66+ "
67+ fn test() {
68+ println!(\" Hello\" )
69+ }" ,
70+ ) ,
71+ ] ;
72+ assert_eq ! ( decode( lhs) , rhs) ;
73+ assert_eq ! ( decode( & sloppy( lhs) ) , rhs) ;
74+ assert_eq ! ( decode( & encode( & rhs) ) , rhs)
75+ }
76+
77+ #[ test]
78+ fn simple ( ) {
779 let lhs = "use std::io::Read;" ;
880 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
981 module: "std" ,
@@ -24,7 +96,7 @@ fn test_parser() {
2496}
2597
2698#[ test]
27- fn test_parser_many ( ) {
99+ fn many ( ) {
28100 let lhs = "use std::{io::Read, fs::File};" ;
29101 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
30102 module: "std" ,
@@ -56,7 +128,7 @@ fn test_parser_many() {
56128}
57129
58130#[ test]
59- fn test_parser_glob ( ) {
131+ fn glob ( ) {
60132 let lhs = "use std::io::*;" ;
61133 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
62134 module: "std" ,
@@ -73,7 +145,7 @@ fn test_parser_glob() {
73145}
74146
75147#[ test]
76- fn test_parser_rename ( ) {
148+ fn rename ( ) {
77149 let lhs = "use std::io::Read as Readable;" ;
78150 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
79151 module: "std" ,
@@ -94,7 +166,7 @@ fn test_parser_rename() {
94166}
95167
96168#[ test]
97- fn test_parser_complex ( ) {
169+ fn complex ( ) {
98170 let lhs = "use std::{io::Read as Readable, fs::*};" ;
99171 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
100172 module: "std" ,
@@ -122,7 +194,7 @@ fn test_parser_complex() {
122194}
123195
124196#[ test]
125- fn test_parser_crate ( ) {
197+ fn use_crate ( ) {
126198 let lhs = "use crate::module::Type;" ;
127199 let rhs = vec ! [ Expr :: Use ( ExprUse :: Item {
128200 module: "crate" ,
@@ -143,7 +215,7 @@ fn test_parser_crate() {
143215}
144216
145217#[ test]
146- fn test_parser_raw_then_use ( ) {
218+ fn raw_then_use ( ) {
147219 let lhs = r#"
148220 fn test() {
149221 println!("Hello")
@@ -177,7 +249,7 @@ fn test_parser_raw_then_use() {
177249}
178250
179251#[ test]
180- fn test_parser_multiple ( ) {
252+ fn multiple ( ) {
181253 let lhs = r#"
182254 use std::io;
183255 use std::fs;
@@ -211,7 +283,7 @@ fn test_parser_multiple() {
211283}
212284
213285#[ test]
214- fn test_parser_multiple_with_raw ( ) {
286+ fn multiple_with_raw ( ) {
215287 let lhs = r#"
216288 use std::io;
217289 fn test() {
@@ -254,7 +326,7 @@ fn test_parser_multiple_with_raw() {
254326}
255327
256328#[ test]
257- fn test_parser_mixed_all_cases ( ) {
329+ fn mixed_all_cases ( ) {
258330 let lhs = r#"
259331 use std::{
260332 io::{self, Read as R},
@@ -326,7 +398,7 @@ fn test_parser_mixed_all_cases() {
326398}
327399
328400#[ test]
329- fn test_roundtrip_own_sources ( ) {
401+ fn roundtrip_own_sources ( ) {
330402 get_rust_files ( "./" ) . into_iter ( ) . for_each ( |path| {
331403 let lhs = std:: fs:: read_to_string ( & path) . unwrap ( ) ;
332404 let rhs = decode ( & lhs) ;
0 commit comments