Skip to content

Commit

Permalink
mv: add tests for --target
Browse files Browse the repository at this point in the history
  • Loading branch information
shinhs0506 committed Apr 28, 2023
1 parent aeeb3c9 commit a93bccb
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions tests/by-util/test_mv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,63 @@ fn test_mv_move_file_into_dir() {
assert!(at.file_exists(format!("{dir}/{file}")));
}

#[test]
fn test_mv_move_file_into_dir_with_target_arg() {
let (at, mut ucmd) = at_and_ucmd!();
let dir = "test_mv_move_file_into_dir_with_target_arg_dir";
let file = "test_mv_move_file_into_dir_with_target_arg_file";

at.mkdir(dir);
at.touch(file);

ucmd.arg("--target")
.arg(dir)
.arg(file)
.succeeds()
.no_stderr();

assert!(at.file_exists(format!("{dir}/{file}")))
}

#[test]
fn test_mv_move_file_into_file_with_target_arg() {
let (at, mut ucmd) = at_and_ucmd!();
let file1 = "test_mv_move_file_into_file_with_target_arg_file1";
let file2 = "test_mv_move_file_into_file_with_target_arg_file2";

at.touch(file1);
at.touch(file2);

ucmd.arg("--target")
.arg(file1)
.arg(file2)
.fails()
.stderr_is(format!("mv: target directory '{file1}': Not a directory\n"));

assert!(at.file_exists(file1))
}

#[test]
fn test_mv_move_multiple_files_into_file() {
let (at, mut ucmd) = at_and_ucmd!();
let file1 = "test_mv_move_multiple_files_into_file1";
let file2 = "test_mv_move_multiple_files_into_file2";
let file3 = "test_mv_move_multiple_files_into_file3";

at.touch(file1);
at.touch(file2);
at.touch(file3);

ucmd.arg(file1)
.arg(file2)
.arg(file3)
.fails()
.stderr_is(format!("mv: target '{file3}': Not a directory\n"));

assert!(at.file_exists(file1));
assert!(at.file_exists(file2));
}

#[test]
fn test_mv_move_file_between_dirs() {
let (at, mut ucmd) = at_and_ucmd!();
Expand Down

0 comments on commit a93bccb

Please sign in to comment.