Skip to content

Commit 46245f3

Browse files
Add tests for diff FILE DIRECTORY
1 parent 7dacdb3 commit 46245f3

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

tests/integration.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,6 @@ fn read_from_stdin() -> Result<(), Box<dyn std::error::Error>> {
238238

239239
#[test]
240240
fn read_from_directory() -> Result<(), Box<dyn std::error::Error>> {
241-
let mut cmd = Command::cargo_bin("diffutils")?;
242-
243241
let target = "target/integration";
244242
let _ = std::fs::create_dir(target);
245243
let directory = &format!("{target}/d");
@@ -249,6 +247,7 @@ fn read_from_directory() -> Result<(), Box<dyn std::error::Error>> {
249247
let mut da = File::create(&format!("{directory}/a")).unwrap();
250248
da.write_all(b"da\n").unwrap();
251249

250+
let mut cmd = Command::cargo_bin("diffutils")?;
252251
cmd.arg("-u")
253252
.arg(&format!("{target}/d"))
254253
.arg(&format!("{target}/a"));
@@ -263,5 +262,20 @@ fn read_from_directory() -> Result<(), Box<dyn std::error::Error>> {
263262
)
264263
);
265264

265+
let mut cmd = Command::cargo_bin("diffutils")?;
266+
cmd.arg("-u")
267+
.arg(&format!("{target}/a"))
268+
.arg(&format!("{target}/d"));
269+
cmd.assert().code(predicate::eq(1)).failure();
270+
271+
let output = cmd.output().unwrap().stdout;
272+
assert_diff_eq!(
273+
output,
274+
format!(
275+
"--- {}/a\tTIMESTAMP\n+++ {}/d/a\tTIMESTAMP\n@@ -1 +1 @@\n-a\n+da\n",
276+
target, target
277+
)
278+
);
279+
266280
Ok(())
267281
}

0 commit comments

Comments
 (0)