1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

Merge pull request #4794 from shinhs0506/mv-target-dir

mv: check if --target is a directory
This commit is contained in:
Sylvestre Ledru 2023-04-29 10:40:44 +02:00 committed by GitHub
commit c5fb6eac9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 67 additions and 2 deletions

View file

@ -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!();