@@ -4,14 +4,14 @@ use rustell::*;
4
4
fn test_parser ( ) {
5
5
let src = "use std::io::Read;" ;
6
6
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
7
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
8
- ident : "std" ,
7
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
8
+ module : "std" ,
9
9
rename: None ,
10
- nested: Some ( Box :: new( UseExpr :: Path {
11
- ident : "io" ,
10
+ nested: Some ( Box :: new( UseExpr :: Item {
11
+ module : "io" ,
12
12
rename: None ,
13
- nested: Some ( Box :: new( UseExpr :: Path {
14
- ident : "Read" ,
13
+ nested: Some ( Box :: new( UseExpr :: Item {
14
+ module : "Read" ,
15
15
rename: None ,
16
16
nested: None ,
17
17
} ) ) ,
@@ -21,27 +21,27 @@ fn test_parser() {
21
21
}
22
22
23
23
#[ test]
24
- fn test_parser_group ( ) {
24
+ fn test_parser_many ( ) {
25
25
let src = "use std::{io::Read, fs::File};" ;
26
26
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
27
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
28
- ident : "std" ,
27
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
28
+ module : "std" ,
29
29
rename: None ,
30
- nested: Some ( Box :: new( UseExpr :: Group ( vec![
31
- UseExpr :: Path {
32
- ident : "io" ,
30
+ nested: Some ( Box :: new( UseExpr :: Many ( vec![
31
+ UseExpr :: Item {
32
+ module : "io" ,
33
33
rename: None ,
34
- nested: Some ( Box :: new( UseExpr :: Path {
35
- ident : "Read" ,
34
+ nested: Some ( Box :: new( UseExpr :: Item {
35
+ module : "Read" ,
36
36
rename: None ,
37
37
nested: None ,
38
38
} ) ) ,
39
39
} ,
40
- UseExpr :: Path {
41
- ident : "fs" ,
40
+ UseExpr :: Item {
41
+ module : "fs" ,
42
42
rename: None ,
43
- nested: Some ( Box :: new( UseExpr :: Path {
44
- ident : "File" ,
43
+ nested: Some ( Box :: new( UseExpr :: Item {
44
+ module : "File" ,
45
45
rename: None ,
46
46
nested: None ,
47
47
} ) ) ,
@@ -55,11 +55,11 @@ fn test_parser_group() {
55
55
fn test_parser_glob ( ) {
56
56
let src = "use std::io::*;" ;
57
57
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
58
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
59
- ident : "std" ,
58
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
59
+ module : "std" ,
60
60
rename: None ,
61
- nested: Some ( Box :: new( UseExpr :: Path {
62
- ident : "io" ,
61
+ nested: Some ( Box :: new( UseExpr :: Item {
62
+ module : "io" ,
63
63
rename: None ,
64
64
nested: Some ( Box :: new( UseExpr :: Glob ) ) ,
65
65
} ) ) ,
@@ -71,14 +71,14 @@ fn test_parser_glob() {
71
71
fn test_parser_rename ( ) {
72
72
let src = "use std::io::Read as Readable;" ;
73
73
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
74
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
75
- ident : "std" ,
74
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
75
+ module : "std" ,
76
76
rename: None ,
77
- nested: Some ( Box :: new( UseExpr :: Path {
78
- ident : "io" ,
77
+ nested: Some ( Box :: new( UseExpr :: Item {
78
+ module : "io" ,
79
79
rename: None ,
80
- nested: Some ( Box :: new( UseExpr :: Path {
81
- ident : "Read" ,
80
+ nested: Some ( Box :: new( UseExpr :: Item {
81
+ module : "Read" ,
82
82
rename: Some ( "Readable" ) ,
83
83
nested: None ,
84
84
} ) ) ,
@@ -91,21 +91,21 @@ fn test_parser_rename() {
91
91
fn test_parser_complex ( ) {
92
92
let src = "use std::{io::Read as Readable, fs::*};" ;
93
93
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
94
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
95
- ident : "std" ,
94
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
95
+ module : "std" ,
96
96
rename: None ,
97
- nested: Some ( Box :: new( UseExpr :: Group ( vec![
98
- UseExpr :: Path {
99
- ident : "io" ,
97
+ nested: Some ( Box :: new( UseExpr :: Many ( vec![
98
+ UseExpr :: Item {
99
+ module : "io" ,
100
100
rename: None ,
101
- nested: Some ( Box :: new( UseExpr :: Path {
102
- ident : "Read" ,
101
+ nested: Some ( Box :: new( UseExpr :: Item {
102
+ module : "Read" ,
103
103
rename: Some ( "Readable" ) ,
104
104
nested: None ,
105
105
} ) ) ,
106
106
} ,
107
- UseExpr :: Path {
108
- ident : "fs" ,
107
+ UseExpr :: Item {
108
+ module : "fs" ,
109
109
rename: None ,
110
110
nested: Some ( Box :: new( UseExpr :: Glob ) ) ,
111
111
} ,
@@ -118,14 +118,14 @@ fn test_parser_complex() {
118
118
fn test_parser_crate ( ) {
119
119
let src = "use crate::module::Type;" ;
120
120
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
121
- let rhs = vec ! [ Expr :: Use ( UseExpr :: Path {
122
- ident : "crate" ,
121
+ let rhs = vec ! [ Expr :: Use ( UseExpr :: Item {
122
+ module : "crate" ,
123
123
rename: None ,
124
- nested: Some ( Box :: new( UseExpr :: Path {
125
- ident : "module" ,
124
+ nested: Some ( Box :: new( UseExpr :: Item {
125
+ module : "module" ,
126
126
rename: None ,
127
- nested: Some ( Box :: new( UseExpr :: Path {
128
- ident : "Type" ,
127
+ nested: Some ( Box :: new( UseExpr :: Item {
128
+ module : "Type" ,
129
129
rename: None ,
130
130
nested: None ,
131
131
} ) ) ,
@@ -149,14 +149,14 @@ fn test_parser_other_then_use() {
149
149
println!("Hello");
150
150
}"# ,
151
151
) ,
152
- Expr :: Use ( UseExpr :: Path {
153
- ident : "crate" ,
152
+ Expr :: Use ( UseExpr :: Item {
153
+ module : "crate" ,
154
154
rename: None ,
155
- nested: Some ( Box :: new( UseExpr :: Path {
156
- ident : "module" ,
155
+ nested: Some ( Box :: new( UseExpr :: Item {
156
+ module : "module" ,
157
157
rename: None ,
158
- nested: Some ( Box :: new( UseExpr :: Path {
159
- ident : "Type" ,
158
+ nested: Some ( Box :: new( UseExpr :: Item {
159
+ module : "Type" ,
160
160
rename: None ,
161
161
nested: None ,
162
162
} ) ) ,
@@ -174,20 +174,20 @@ fn test_parser_multiple() {
174
174
"# ;
175
175
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
176
176
let rhs = vec ! [
177
- Expr :: Use ( UseExpr :: Path {
178
- ident : "std" ,
177
+ Expr :: Use ( UseExpr :: Item {
178
+ module : "std" ,
179
179
rename: None ,
180
- nested: Some ( Box :: new( UseExpr :: Path {
181
- ident : "io" ,
180
+ nested: Some ( Box :: new( UseExpr :: Item {
181
+ module : "io" ,
182
182
rename: None ,
183
183
nested: None ,
184
184
} ) ) ,
185
185
} ) ,
186
- Expr :: Use ( UseExpr :: Path {
187
- ident : "std" ,
186
+ Expr :: Use ( UseExpr :: Item {
187
+ module : "std" ,
188
188
rename: None ,
189
- nested: Some ( Box :: new( UseExpr :: Path {
190
- ident : "fs" ,
189
+ nested: Some ( Box :: new( UseExpr :: Item {
190
+ module : "fs" ,
191
191
rename: None ,
192
192
nested: None ,
193
193
} ) ) ,
@@ -207,11 +207,11 @@ fn test_parser_multiple_with_other() {
207
207
"# ;
208
208
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
209
209
let rhs = vec ! [
210
- Expr :: Use ( UseExpr :: Path {
211
- ident : "std" ,
210
+ Expr :: Use ( UseExpr :: Item {
211
+ module : "std" ,
212
212
rename: None ,
213
- nested: Some ( Box :: new( UseExpr :: Path {
214
- ident : "io" ,
213
+ nested: Some ( Box :: new( UseExpr :: Item {
214
+ module : "io" ,
215
215
rename: None ,
216
216
nested: None ,
217
217
} ) ) ,
@@ -221,11 +221,11 @@ fn test_parser_multiple_with_other() {
221
221
println!("Hello");
222
222
}"# ,
223
223
) ,
224
- Expr :: Use ( UseExpr :: Path {
225
- ident : "std" ,
224
+ Expr :: Use ( UseExpr :: Item {
225
+ module : "std" ,
226
226
rename: None ,
227
- nested: Some ( Box :: new( UseExpr :: Path {
228
- ident : "fs" ,
227
+ nested: Some ( Box :: new( UseExpr :: Item {
228
+ module : "fs" ,
229
229
rename: None ,
230
230
nested: None ,
231
231
} ) ) ,
@@ -249,41 +249,43 @@ fn test_parser_mixed_all_cases() {
249
249
"# ;
250
250
let lhs = parser ( ) . parse ( src) . into_result ( ) . unwrap ( ) ;
251
251
let rhs = vec ! [
252
- Expr :: Use ( UseExpr :: Path {
253
- ident : "std" ,
252
+ Expr :: Use ( UseExpr :: Item {
253
+ module : "std" ,
254
254
rename: None ,
255
- nested: Some ( Box :: new( UseExpr :: Group ( vec![
256
- UseExpr :: Path {
257
- ident : "io" ,
255
+ nested: Some ( Box :: new( UseExpr :: Many ( vec![
256
+ UseExpr :: Item {
257
+ module : "io" ,
258
258
rename: None ,
259
- nested: Some ( Box :: new( UseExpr :: Group ( vec![
260
- UseExpr :: Path {
261
- ident: "self" ,
262
- rename: None ,
263
- nested: None ,
264
- } ,
265
- UseExpr :: Path {
266
- ident: "Read" ,
267
- rename: Some ( "R" ) ,
268
- nested: None ,
269
- } ,
270
- ] ) ) ) ,
259
+ nested: Some ( Box :: new( UseExpr :: Many (
260
+ vec![
261
+ UseExpr :: Item {
262
+ module: "self" ,
263
+ rename: None ,
264
+ nested: None ,
265
+ } ,
266
+ UseExpr :: Item {
267
+ module: "Read" ,
268
+ rename: Some ( "R" ) ,
269
+ nested: None ,
270
+ } ,
271
+ ] ,
272
+ ) ) ) ,
271
273
} ,
272
- UseExpr :: Path {
273
- ident : "fs" ,
274
+ UseExpr :: Item {
275
+ module : "fs" ,
274
276
rename: None ,
275
277
nested: Some ( Box :: new( UseExpr :: Glob ) ) ,
276
278
} ,
277
279
] ) ) ) ,
278
280
} ) ,
279
- Expr :: Use ( UseExpr :: Path {
280
- ident : "crate" ,
281
+ Expr :: Use ( UseExpr :: Item {
282
+ module : "crate" ,
281
283
rename: None ,
282
- nested: Some ( Box :: new( UseExpr :: Path {
283
- ident : "module" ,
284
+ nested: Some ( Box :: new( UseExpr :: Item {
285
+ module : "module" ,
284
286
rename: None ,
285
- nested: Some ( Box :: new( UseExpr :: Path {
286
- ident : "Type" ,
287
+ nested: Some ( Box :: new( UseExpr :: Item {
288
+ module : "Type" ,
287
289
rename: Some ( "T" ) ,
288
290
nested: None ,
289
291
} ) ) ,
0 commit comments