1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-09-15 11:36:16 +00:00

Merge pull request #4890 from shinhs0506/rm-i

fix rm/interactive-always.sh
This commit is contained in:
Sylvestre Ledru 2023-05-23 18:59:37 +02:00 committed by GitHub
commit 9a6d47759b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 85 additions and 5 deletions

View file

@ -361,6 +361,74 @@ fn test_rm_interactive_never() {
assert!(!at.file_exists(file_2));
}
#[test]
fn test_rm_interactive_missing_value() {
// `--interactive` is equivalent to `--interactive=always` or `-i`
let (at, mut ucmd) = at_and_ucmd!();
let file1 = "test_rm_interactive_missing_value_file1";
let file2 = "test_rm_interactive_missing_value_file2";
at.touch(file1);
at.touch(file2);
ucmd.arg("--interactive")
.arg(file1)
.arg(file2)
.pipe_in("y\ny")
.succeeds();
assert!(!at.file_exists(file1));
assert!(!at.file_exists(file2));
}
#[test]
fn test_rm_interactive_once_prompt() {
let (at, mut ucmd) = at_and_ucmd!();
let file1 = "test_rm_interactive_once_recursive_prompt_file1";
let file2 = "test_rm_interactive_once_recursive_prompt_file2";
let file3 = "test_rm_interactive_once_recursive_prompt_file3";
let file4 = "test_rm_interactive_once_recursive_prompt_file4";
at.touch(file1);
at.touch(file2);
at.touch(file3);
at.touch(file4);
ucmd.arg("--interactive=once")
.arg(file1)
.arg(file2)
.arg(file3)
.arg(file4)
.pipe_in("y")
.succeeds()
.stderr_contains("remove 4 arguments?");
assert!(!at.file_exists(file1));
assert!(!at.file_exists(file2));
assert!(!at.file_exists(file3));
assert!(!at.file_exists(file4));
}
#[test]
fn test_rm_interactive_once_recursive_prompt() {
let (at, mut ucmd) = at_and_ucmd!();
let file1 = "test_rm_interactive_once_recursive_prompt_file1";
at.touch(file1);
ucmd.arg("--interactive=once")
.arg("-r")
.arg(file1)
.pipe_in("y")
.succeeds()
.stderr_contains("remove 1 argument recursively?");
assert!(!at.file_exists(file1));
}
#[test]
fn test_rm_descend_directory() {
// This test descends into each directory and deletes the files and folders inside of them