From 46245f3289369fa5913b17fd70645b1d222aae15 Mon Sep 17 00:00:00 2001 From: Tanmay Patil Date: Sat, 20 Apr 2024 22:44:17 +0530 Subject: [PATCH] Add tests for `diff FILE DIRECTORY` --- tests/integration.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/integration.rs b/tests/integration.rs index 3f49af3..c73e18e 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -238,8 +238,6 @@ fn read_from_stdin() -> Result<(), Box> { #[test] fn read_from_directory() -> Result<(), Box> { - let mut cmd = Command::cargo_bin("diffutils")?; - let target = "target/integration"; let _ = std::fs::create_dir(target); let directory = &format!("{target}/d"); @@ -249,6 +247,7 @@ fn read_from_directory() -> Result<(), Box> { let mut da = File::create(&format!("{directory}/a")).unwrap(); da.write_all(b"da\n").unwrap(); + let mut cmd = Command::cargo_bin("diffutils")?; cmd.arg("-u") .arg(&format!("{target}/d")) .arg(&format!("{target}/a")); @@ -263,5 +262,20 @@ fn read_from_directory() -> Result<(), Box> { ) ); + let mut cmd = Command::cargo_bin("diffutils")?; + cmd.arg("-u") + .arg(&format!("{target}/a")) + .arg(&format!("{target}/d")); + cmd.assert().code(predicate::eq(1)).failure(); + + let output = cmd.output().unwrap().stdout; + assert_diff_eq!( + output, + format!( + "--- {}/a\tTIMESTAMP\n+++ {}/d/a\tTIMESTAMP\n@@ -1 +1 @@\n-a\n+da\n", + target, target + ) + ); + Ok(()) }