@@ -64,7 +64,7 @@ pub struct Cli {
6464
6565impl Cli {
6666 pub fn from_str_args ( args : Vec < & str > ) -> Self {
67- Cli :: from_iter_safe ( args. into_iter ( ) ) . unwrap_or_else ( |e| e. exit ( ) )
67+ Cli :: from_iter_safe ( args) . unwrap_or_else ( |e| e. exit ( ) )
6868 }
6969}
7070
@@ -107,9 +107,10 @@ mod tests {
107107 #[ test]
108108 fn with_host ( ) {
109109 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--host" , "0.0.0.0" ] ) ;
110- let mut expect = Cli :: default ( ) ;
111-
112- expect. host = "0.0.0.0" . parse ( ) . unwrap ( ) ;
110+ let expect = Cli {
111+ host : "0.0.0.0" . parse ( ) . unwrap ( ) ,
112+ ..Default :: default ( )
113+ } ;
113114
114115 assert_eq ! ( from_args, expect) ;
115116 }
@@ -123,40 +124,44 @@ mod tests {
123124 "--port" ,
124125 "54200" ,
125126 ] ) ;
126- let mut expect = Cli :: default ( ) ;
127-
128- expect. host = "192.168.0.1" . parse ( ) . unwrap ( ) ;
129- expect. port = 54200_u16 ;
127+ let expect = Cli {
128+ host : "192.168.0.1" . parse ( ) . unwrap ( ) ,
129+ port : 54200_u16 ,
130+ ..Default :: default ( )
131+ } ;
130132
131133 assert_eq ! ( from_args, expect) ;
132134 }
133135
134136 #[ test]
135137 fn with_root_dir ( ) {
136138 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "~/User/sources/http-server" ] ) ;
137- let mut expect = Cli :: default ( ) ;
138-
139- expect. root_dir = PathBuf :: from_str ( "~/User/sources/http-server" ) . unwrap ( ) ;
139+ let expect = Cli {
140+ root_dir : PathBuf :: from_str ( "~/User/sources/http-server" ) . unwrap ( ) ,
141+ ..Default :: default ( )
142+ } ;
140143
141144 assert_eq ! ( from_args, expect) ;
142145 }
143146
144147 #[ test]
145148 fn with_quiet ( ) {
146149 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--quiet" ] ) ;
147- let mut expect = Cli :: default ( ) ;
148-
149- expect. quiet = true ;
150+ let expect = Cli {
151+ quiet : true ,
152+ ..Default :: default ( )
153+ } ;
150154
151155 assert_eq ! ( from_args, expect) ;
152156 }
153157
154158 #[ test]
155159 fn with_tls_no_config ( ) {
156160 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--tls" ] ) ;
157- let mut expect = Cli :: default ( ) ;
158-
159- expect. tls = true ;
161+ let expect = Cli {
162+ tls : true ,
163+ ..Default :: default ( )
164+ } ;
160165
161166 assert_eq ! ( from_args, expect) ;
162167 }
@@ -173,32 +178,35 @@ mod tests {
173178 "--tls-key-algorithm" ,
174179 "rsa" ,
175180 ] ) ;
176- let mut expect = Cli :: default ( ) ;
177-
178- expect. tls = true ;
179- expect. tls_cert = PathBuf :: from_str ( "~/secrets/cert" ) . unwrap ( ) ;
180- expect. tls_key = PathBuf :: from_str ( "~/secrets/key" ) . unwrap ( ) ;
181- expect. tls_key_algorithm = PrivateKeyAlgorithm :: Rsa ;
181+ let expect = Cli {
182+ tls : true ,
183+ tls_cert : PathBuf :: from_str ( "~/secrets/cert" ) . unwrap ( ) ,
184+ tls_key : PathBuf :: from_str ( "~/secrets/key" ) . unwrap ( ) ,
185+ tls_key_algorithm : PrivateKeyAlgorithm :: Rsa ,
186+ ..Default :: default ( )
187+ } ;
182188
183189 assert_eq ! ( from_args, expect) ;
184190 }
185191
186192 #[ test]
187193 fn with_cors ( ) {
188194 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--cors" ] ) ;
189- let mut expect = Cli :: default ( ) ;
190-
191- expect. cors = true ;
195+ let expect = Cli {
196+ cors : true ,
197+ ..Default :: default ( )
198+ } ;
192199
193200 assert_eq ! ( from_args, expect) ;
194201 }
195202
196203 #[ test]
197204 fn with_gzip ( ) {
198205 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--gzip" ] ) ;
199- let mut expect = Cli :: default ( ) ;
200-
201- expect. gzip = true ;
206+ let expect = Cli {
207+ gzip : true ,
208+ ..Default :: default ( )
209+ } ;
202210
203211 assert_eq ! ( from_args, expect) ;
204212 }
@@ -212,52 +220,57 @@ mod tests {
212220 "--password" ,
213221 "Appleseed" ,
214222 ] ) ;
215- let mut expect = Cli :: default ( ) ;
216-
217- expect. username = Some ( String :: from ( "John" ) ) ;
218- expect. password = Some ( String :: from ( "Appleseed" ) ) ;
223+ let expect = Cli {
224+ username : Some ( String :: from ( "John" ) ) ,
225+ password : Some ( String :: from ( "Appleseed" ) ) ,
226+ ..Default :: default ( )
227+ } ;
219228
220229 assert_eq ! ( from_args, expect) ;
221230 }
222231
223232 #[ test]
224233 fn with_username_but_not_password ( ) {
225234 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--username" , "John" ] ) ;
226- let mut expect = Cli :: default ( ) ;
227-
228- expect. username = Some ( String :: from ( "John" ) ) ;
229- expect. password = None ;
235+ let expect = Cli {
236+ username : Some ( String :: from ( "John" ) ) ,
237+ password : None ,
238+ ..Default :: default ( )
239+ } ;
230240
231241 assert_eq ! ( from_args, expect) ;
232242 }
233243
234244 #[ test]
235245 fn with_password_but_not_username ( ) {
236246 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--password" , "Appleseed" ] ) ;
237- let mut expect = Cli :: default ( ) ;
238-
239- expect. username = None ;
240- expect. password = Some ( String :: from ( "Appleseed" ) ) ;
247+ let expect = Cli {
248+ username : None ,
249+ password : Some ( String :: from ( "Appleseed" ) ) ,
250+ ..Default :: default ( )
251+ } ;
241252
242253 assert_eq ! ( from_args, expect) ;
243254 }
244255
245256 #[ test]
246257 fn with_logger ( ) {
247258 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--logger" ] ) ;
248- let mut expect = Cli :: default ( ) ;
249-
250- expect. logger = true ;
259+ let expect = Cli {
260+ logger : true ,
261+ ..Default :: default ( )
262+ } ;
251263
252264 assert_eq ! ( from_args, expect) ;
253265 }
254266
255267 #[ test]
256268 fn with_proxy ( ) {
257269 let from_args = Cli :: from_str_args ( vec ! [ "http-server" , "--proxy" , "https://example.com" ] ) ;
258- let mut expect = Cli :: default ( ) ;
259-
260- expect. proxy = Some ( String :: from ( "https://example.com" ) ) ;
270+ let expect = Cli {
271+ proxy : Some ( String :: from ( "https://example.com" ) ) ,
272+ ..Default :: default ( )
273+ } ;
261274
262275 assert_eq ! ( from_args, expect) ;
263276 }
0 commit comments