@@ -156,10 +156,14 @@ mod tests {
156
156
env:: set_var ( "LANGUAGE" , "en" ) ;
157
157
158
158
let result = mock_run_ok ( ) ;
159
- let translate_result = mock_translate_success ( "en" , "main_logger_msg" ) ;
159
+ let translate_result =
160
+ mock_translate_success ( "en" , "main_logger_msg" ) ;
160
161
161
162
assert_eq ! ( result, Ok ( ( ) ) ) ;
162
- assert_eq ! ( translate_result, Ok ( "Success message in en" . to_string( ) ) ) ;
163
+ assert_eq ! (
164
+ translate_result,
165
+ Ok ( "Success message in en" . to_string( ) )
166
+ ) ;
163
167
164
168
cleanup_env ( ) ;
165
169
}
@@ -171,10 +175,14 @@ mod tests {
171
175
env:: set_var ( "LANGUAGE" , "en" ) ;
172
176
173
177
let result = mock_run_ok ( ) ;
174
- let translate_result = mock_translate_failure ( "en" , "main_logger_msg" ) ;
178
+ let translate_result =
179
+ mock_translate_failure ( "en" , "main_logger_msg" ) ;
175
180
176
181
assert_eq ! ( result, Ok ( ( ) ) ) ;
177
- assert_eq ! ( translate_result, Err ( "Translation error" . to_string( ) ) ) ;
182
+ assert_eq ! (
183
+ translate_result,
184
+ Err ( "Translation error" . to_string( ) )
185
+ ) ;
178
186
179
187
cleanup_env ( ) ;
180
188
}
@@ -195,7 +203,8 @@ mod tests {
195
203
initialize ( ) ;
196
204
cleanup_env ( ) ;
197
205
198
- let lang = env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "en" . to_string ( ) ) ;
206
+ let lang =
207
+ env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "en" . to_string ( ) ) ;
199
208
assert_eq ! ( lang, "en" ) ;
200
209
201
210
cleanup_env ( ) ;
@@ -228,10 +237,12 @@ mod tests {
228
237
cleanup_env ( ) ;
229
238
let rt = Runtime :: new ( ) . unwrap ( ) ;
230
239
231
- let futures: Vec < _ > = ( 0 ..3 ) . map ( |i| async move {
232
- let lang = format ! ( "lang{}" , i) ;
233
- mock_translate_success ( & lang, "main_logger_msg" )
234
- } ) . collect ( ) ;
240
+ let futures: Vec < _ > = ( 0 ..3 )
241
+ . map ( |i| async move {
242
+ let lang = format ! ( "lang{}" , i) ;
243
+ mock_translate_success ( & lang, "main_logger_msg" )
244
+ } )
245
+ . collect ( ) ;
235
246
236
247
let results = rt. block_on ( async {
237
248
let mut results = vec ! [ ] ;
@@ -243,7 +254,10 @@ mod tests {
243
254
244
255
for ( i, result) in results. iter ( ) . enumerate ( ) {
245
256
assert ! ( result. is_ok( ) ) ;
246
- assert_eq ! ( result. as_ref( ) . unwrap( ) , & format!( "Success message in lang{}" , i) ) ;
257
+ assert_eq ! (
258
+ result. as_ref( ) . unwrap( ) ,
259
+ & format!( "Success message in lang{}" , i)
260
+ ) ;
247
261
}
248
262
249
263
cleanup_env ( ) ;
@@ -263,7 +277,10 @@ mod tests {
263
277
} ) ;
264
278
265
279
assert ! ( result. is_ok( ) ) ;
266
- assert_eq ! ( result. unwrap( ) , format!( "Success message in {}" , lang) ) ;
280
+ assert_eq ! (
281
+ result. unwrap( ) ,
282
+ format!( "Success message in {}" , lang)
283
+ ) ;
267
284
}
268
285
269
286
cleanup_env ( ) ;
@@ -284,7 +301,8 @@ mod tests {
284
301
// Test removal and default
285
302
cleanup_env ( ) ;
286
303
assert ! ( env:: var( "LANGUAGE" ) . is_err( ) ) ;
287
- let default_lang = env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "en" . to_string ( ) ) ;
304
+ let default_lang =
305
+ env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "en" . to_string ( ) ) ;
288
306
assert_eq ! ( default_lang, "en" ) ;
289
307
290
308
cleanup_env ( ) ;
@@ -297,21 +315,19 @@ mod tests {
297
315
298
316
// Test empty string
299
317
env:: set_var ( "LANGUAGE" , "" ) ;
300
- assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap ( ) , "" ) ;
318
+ assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap_or_default ( ) , "" ) ;
301
319
302
320
// Test overwriting
303
321
env:: set_var ( "LANGUAGE" , "es" ) ;
304
- assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap ( ) , "es" ) ;
322
+ assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap_or_default ( ) , "es" ) ;
305
323
env:: set_var ( "LANGUAGE" , "fr" ) ;
306
- assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap ( ) , "fr" ) ;
324
+ assert_eq ! ( env:: var( "LANGUAGE" ) . unwrap_or_default ( ) , "fr" ) ;
307
325
308
326
// Test removal and fallback
309
327
cleanup_env ( ) ;
310
- assert ! ( env:: var( "LANGUAGE" ) . is_err( ) ) ;
311
- assert_eq ! (
312
- env:: var( "LANGUAGE" ) . unwrap_or_else( |_| "en" . to_string( ) ) ,
313
- "en"
314
- ) ;
328
+ let default_lang =
329
+ env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "en" . to_string ( ) ) ;
330
+ assert_eq ! ( default_lang, "en" ) ;
315
331
}
316
332
317
333
#[ test]
@@ -340,104 +356,111 @@ mod tests {
340
356
cleanup_env ( ) ;
341
357
}
342
358
343
- #[ test]
344
- fn test_execute_main_logic_rapid_language_changes ( ) {
345
- initialize ( ) ;
346
- cleanup_env ( ) ;
359
+ #[ test]
360
+ fn test_execute_main_logic_rapid_language_changes ( ) {
361
+ initialize ( ) ;
362
+ cleanup_env ( ) ;
347
363
348
- let rt = Runtime :: new ( ) . unwrap ( ) ;
349
- let languages = vec ! [ "en" , "fr" , "es" , "de" , "it" ] ;
364
+ let rt = Runtime :: new ( ) . unwrap ( ) ;
365
+ let languages = vec ! [ "en" , "fr" , "es" , "de" , "it" ] ;
350
366
351
- for lang in languages {
352
- env:: set_var ( "LANGUAGE" , lang) ;
353
- let result = rt. block_on ( async {
354
- mock_translate_success ( lang, "main_logger_msg" )
355
- } ) ;
356
- assert ! ( result. is_ok( ) ) ;
367
+ for lang in languages {
368
+ env:: set_var ( "LANGUAGE" , lang) ;
369
+ let result = rt. block_on ( async {
370
+ mock_translate_success ( lang, "main_logger_msg" )
371
+ } ) ;
372
+ assert ! ( result. is_ok( ) ) ;
373
+ }
374
+
375
+ cleanup_env ( ) ;
357
376
}
358
377
359
- cleanup_env ( ) ;
360
- }
378
+ #[ test]
379
+ fn test_environment_variable_case_sensitivity ( ) {
380
+ initialize ( ) ;
381
+ cleanup_env ( ) ;
361
382
362
- #[ test]
363
- fn test_environment_variable_case_sensitivity ( ) {
364
- initialize ( ) ;
365
- cleanup_env ( ) ;
366
-
367
- // Test different cases of the LANGUAGE variable
368
- let variants = vec ! [ "LANGUAGE" , "language" , "Language" ] ;
369
-
370
- for var_name in variants {
371
- env:: set_var ( var_name, "en" ) ;
372
- let value = env:: var ( "LANGUAGE" ) . unwrap_or_else ( |_| "default" . to_string ( ) ) ;
373
- if var_name == "LANGUAGE" {
374
- assert_eq ! ( value, "en" ) ;
375
- } else {
376
- // On most systems, environment variables are case-sensitive
377
- assert_eq ! ( value, "default" ) ;
383
+ // Test different cases of the LANGUAGE variable
384
+ let variants = vec ! [ "LANGUAGE" , "language" , "Language" ] ;
385
+
386
+ for var_name in variants {
387
+ env:: set_var ( var_name, "en" ) ;
388
+ let value = env:: var ( "LANGUAGE" )
389
+ . unwrap_or_else ( |_| "default" . to_string ( ) ) ;
390
+ if var_name == "LANGUAGE" {
391
+ assert_eq ! ( value, "en" ) ;
392
+ } else {
393
+ // On most systems, environment variables are case-sensitive
394
+ assert_eq ! ( value, "default" ) ;
395
+ }
396
+ env:: remove_var ( var_name) ;
378
397
}
379
- env:: remove_var ( var_name) ;
398
+
399
+ cleanup_env ( ) ;
380
400
}
381
401
382
- cleanup_env ( ) ;
383
- }
402
+ #[ test]
403
+ fn test_execute_main_logic_concurrent_with_same_language ( ) {
404
+ initialize ( ) ;
405
+ cleanup_env ( ) ;
384
406
385
- #[ test]
386
- fn test_execute_main_logic_concurrent_with_same_language ( ) {
387
- initialize ( ) ;
388
- cleanup_env ( ) ;
407
+ let rt = Runtime :: new ( ) . unwrap ( ) ;
408
+ env:: set_var ( "LANGUAGE" , "en" ) ;
389
409
390
- let rt = Runtime :: new ( ) . unwrap ( ) ;
391
- env:: set_var ( "LANGUAGE" , "en" ) ;
410
+ let futures: Vec < _ > = ( 0 ..10 )
411
+ . map ( |_| async {
412
+ mock_translate_success ( "en" , "main_logger_msg" )
413
+ } )
414
+ . collect ( ) ;
392
415
393
- let futures: Vec < _ > = ( 0 ..10 ) . map ( |_| async {
394
- mock_translate_success ( "en" , "main_logger_msg" )
395
- } ) . collect ( ) ;
416
+ let results = rt. block_on ( async {
417
+ let mut results = vec ! [ ] ;
418
+ for future in futures {
419
+ results. push ( future. await ) ;
420
+ }
421
+ results
422
+ } ) ;
396
423
397
- let results = rt. block_on ( async {
398
- let mut results = vec ! [ ] ;
399
- for future in futures {
400
- results. push ( future. await ) ;
424
+ for result in results {
425
+ assert ! ( result. is_ok( ) ) ;
426
+ assert_eq ! ( result. unwrap( ) , "Success message in en" ) ;
401
427
}
402
- results
403
- } ) ;
404
428
405
- for result in results {
406
- assert ! ( result. is_ok( ) ) ;
407
- assert_eq ! ( result. unwrap( ) , "Success message in en" ) ;
429
+ cleanup_env ( ) ;
408
430
}
409
431
410
- cleanup_env ( ) ;
411
- }
412
-
413
- /// Tests error propagation with multiple failure points
414
- #[ test]
415
- fn test_execute_main_logic_cascading_errors ( ) {
416
- initialize ( ) ;
417
- cleanup_env ( ) ;
432
+ /// Tests error propagation with multiple failure points
433
+ #[ test]
434
+ fn test_execute_main_logic_cascading_errors ( ) {
435
+ initialize ( ) ;
436
+ cleanup_env ( ) ;
418
437
419
- let rt = Runtime :: new ( ) . unwrap ( ) ;
438
+ let rt = Runtime :: new ( ) . unwrap ( ) ;
420
439
421
- // Test error from run
422
- let run_error = rt. block_on ( async {
423
- match mock_run_err ( ) {
424
- Ok ( _) => mock_translate_success ( "en" , "main_logger_msg" ) ,
425
- Err ( e) => Err ( e) ,
426
- }
427
- } ) ;
428
- assert ! ( run_error. is_err( ) ) ;
429
- assert_eq ! ( run_error. unwrap_err( ) , "Site generation failed" ) ;
430
-
431
- // Test error from translation
432
- let translate_error = rt. block_on ( async {
433
- match mock_run_ok ( ) {
434
- Ok ( _) => mock_translate_failure ( "en" , "main_logger_msg" ) ,
435
- Err ( e) => Err ( e) ,
436
- }
437
- } ) ;
438
- assert ! ( translate_error. is_err( ) ) ;
439
- assert_eq ! ( translate_error. unwrap_err( ) , "Translation error" ) ;
440
+ // Test error from run
441
+ let run_error = rt. block_on ( async {
442
+ match mock_run_err ( ) {
443
+ Ok ( _) => {
444
+ mock_translate_success ( "en" , "main_logger_msg" )
445
+ }
446
+ Err ( e) => Err ( e) ,
447
+ }
448
+ } ) ;
449
+ assert ! ( run_error. is_err( ) ) ;
450
+ assert_eq ! ( run_error. unwrap_err( ) , "Site generation failed" ) ;
451
+
452
+ // Test error from translation
453
+ let translate_error = rt. block_on ( async {
454
+ match mock_run_ok ( ) {
455
+ Ok ( _) => {
456
+ mock_translate_failure ( "en" , "main_logger_msg" )
457
+ }
458
+ Err ( e) => Err ( e) ,
459
+ }
460
+ } ) ;
461
+ assert ! ( translate_error. is_err( ) ) ;
462
+ assert_eq ! ( translate_error. unwrap_err( ) , "Translation error" ) ;
440
463
441
- cleanup_env ( ) ;
442
- }
464
+ cleanup_env ( ) ;
465
+ }
443
466
}
0 commit comments