File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ mod ed_diff;
1818mod macros;
1919mod normal_diff;
2020mod params;
21+ mod sdiff;
2122mod side_diff;
2223mod unified_diff;
2324mod utils;
@@ -72,6 +73,7 @@ fn main() -> ExitCode {
7273 match util_name. to_str ( ) {
7374 Some ( "diff" ) => diff:: main ( args) ,
7475 Some ( "cmp" ) => cmp:: main ( args) ,
76+ Some ( "sdiff" ) => sdiff:: main ( args) ,
7577 Some ( name) => {
7678 eprintln ! ( "{name}: utility not supported" ) ;
7779 ExitCode :: from ( 2 )
Original file line number Diff line number Diff line change @@ -59,7 +59,7 @@ mod common {
5959 #[ cfg( windows) ]
6060 let error_message = "The system cannot find the file specified." ;
6161
62- for subcmd in [ "diff" , "cmp" ] {
62+ for subcmd in [ "diff" , "cmp" , "sdiff" ] {
6363 let mut cmd = cargo_bin_cmd ! ( "diffutils" ) ;
6464 cmd. arg ( subcmd) ;
6565 cmd. arg ( & nopath) . arg ( file. path ( ) ) ;
@@ -890,3 +890,27 @@ mod cmp {
890890 Ok ( ( ) )
891891 }
892892}
893+
894+ mod sdiff {
895+ use super :: * ;
896+
897+ #[ test]
898+ fn differences ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
899+ let mut file1 = NamedTempFile :: new ( ) ?;
900+ file1. write_all ( "foo\n " . as_bytes ( ) ) ?;
901+
902+ let mut file2 = NamedTempFile :: new ( ) ?;
903+ file2. write_all ( "bar\n " . as_bytes ( ) ) ?;
904+
905+ let mut cmd = cargo_bin_cmd ! ( "diffutils" ) ;
906+ cmd. arg ( "diff" ) ;
907+ cmd. arg ( file1. path ( ) ) . arg ( file2. path ( ) ) ;
908+
909+ cmd. assert ( )
910+ . code ( predicate:: eq ( 1 ) )
911+ . failure ( )
912+ . stdout ( predicate:: str:: is_empty ( ) . not ( ) ) ;
913+
914+ Ok ( ( ) )
915+ }
916+ }
You can’t perform that action at this time.
0 commit comments