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

cp: print verbose msg after prompt (#7287)

* cp: fix verbose output order after prompt

Fixes: #7285

* cp: add test for verbose message order

* cp: fix test for interactive prompt ordering

* cp: update test for verbose output order

* cp: fix test cases to use update option
This commit is contained in:
aimerlief 2025-02-11 17:19:08 +09:00 committed by GitHub
parent 64156516f8
commit dd7b45465c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 43 additions and 4 deletions

View file

@ -6041,3 +6041,37 @@ fn test_cp_from_stdin() {
assert!(at.file_exists(target));
assert_eq!(at.read(target), test_string);
}
#[test]
fn test_cp_update_older_interactive_prompt_yes() {
let (at, mut ucmd) = at_and_ucmd!();
let old_file = "old";
let new_file = "new";
let f = at.make_file(old_file);
f.set_modified(std::time::UNIX_EPOCH).unwrap();
at.touch(new_file);
ucmd.args(&["-i", "-v", "--update=older", new_file, old_file])
.pipe_in("Y\n")
.stderr_to_stdout()
.succeeds()
.stdout_is("cp: overwrite 'old'? 'new' -> 'old'\n");
}
#[test]
fn test_cp_update_older_interactive_prompt_no() {
let (at, mut ucmd) = at_and_ucmd!();
let old_file = "old";
let new_file = "new";
let f = at.make_file(old_file);
f.set_modified(std::time::UNIX_EPOCH).unwrap();
at.touch(new_file);
ucmd.args(&["-i", "-v", "--update=older", new_file, old_file])
.pipe_in("N\n")
.stderr_to_stdout()
.fails()
.stdout_is("cp: overwrite 'old'? ");
}