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 @@ -57,7 +57,7 @@ mod common {
5757 #[ cfg( windows) ]
5858 let error_message = "The system cannot find the file specified." ;
5959
60- for subcmd in [ "diff" , "cmp" ] {
60+ for subcmd in [ "diff" , "cmp" , "sdiff" ] {
6161 let mut cmd = cargo_bin_cmd ! ( "diffutils" ) ;
6262 cmd. arg ( subcmd) ;
6363 cmd. arg ( & nopath) . arg ( file. path ( ) ) ;
@@ -888,3 +888,27 @@ mod cmp {
888888 Ok ( ( ) )
889889 }
890890}
891+
892+ mod sdiff {
893+ use super :: * ;
894+
895+ #[ test]
896+ fn differences ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
897+ let mut file1 = NamedTempFile :: new ( ) ?;
898+ file1. write_all ( "foo\n " . as_bytes ( ) ) ?;
899+
900+ let mut file2 = NamedTempFile :: new ( ) ?;
901+ file2. write_all ( "bar\n " . as_bytes ( ) ) ?;
902+
903+ let mut cmd = cargo_bin_cmd ! ( "diffutils" ) ;
904+ cmd. arg ( "diff" ) ;
905+ cmd. arg ( file1. path ( ) ) . arg ( file2. path ( ) ) ;
906+
907+ cmd. assert ( )
908+ . code ( predicate:: eq ( 1 ) )
909+ . failure ( )
910+ . stdout ( predicate:: str:: is_empty ( ) . not ( ) ) ;
911+
912+ Ok ( ( ) )
913+ }
914+ }
You can’t perform that action at this time.
0 commit comments