@@ -265,8 +265,8 @@ mod test {
265
265
let args = & [ "fixtures/linter" ] ;
266
266
let result = test ( args) ;
267
267
assert ! ( result. number_of_rules > 0 ) ;
268
- assert_eq ! ( result. number_of_files, 2 ) ;
269
- assert_eq ! ( result. number_of_warnings, 2 ) ;
268
+ assert_eq ! ( result. number_of_files, 3 ) ;
269
+ assert_eq ! ( result. number_of_warnings, 3 ) ;
270
270
assert_eq ! ( result. number_of_errors, 0 ) ;
271
271
}
272
272
@@ -564,4 +564,26 @@ mod test {
564
564
assert_eq ! ( result. number_of_warnings, 0 ) ;
565
565
assert_eq ! ( result. number_of_errors, 1 ) ;
566
566
}
567
+
568
+ #[ test]
569
+ fn test_fix ( ) {
570
+ use std:: fs;
571
+ let file = "fixtures/linter/fix.js" ;
572
+ let args = & [ "--fix" , file] ;
573
+ let content = fs:: read_to_string ( file) . unwrap ( ) ;
574
+ assert_eq ! ( & content, "debugger\n " ) ;
575
+
576
+ // Apply fix to the file.
577
+ let _ = test ( args) ;
578
+ assert_eq ! ( fs:: read_to_string( file) . unwrap( ) , "\n " ) ;
579
+
580
+ // File should not be modified if no fix is applied.
581
+ let modified_before = fs:: metadata ( file) . unwrap ( ) . modified ( ) . unwrap ( ) ;
582
+ let _ = test ( args) ;
583
+ let modified_after = fs:: metadata ( file) . unwrap ( ) . modified ( ) . unwrap ( ) ;
584
+ assert_eq ! ( modified_before, modified_after) ;
585
+
586
+ // Write the file back.
587
+ fs:: write ( file, content) . unwrap ( ) ;
588
+ }
567
589
}
0 commit comments