mirror of
https://github.com/ouch-org/ouch.git
synced 2025-06-07 03:55:28 +00:00
test: create test for autoincrement new renamed files
This commit is contained in:
parent
0ef7a8daac
commit
d5fd7745e7
@ -195,7 +195,7 @@ fn multiple_files(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[proptest(cases = 25)]
|
#[proptest(cases = 25)]
|
||||||
fn multiple_files_with_conflict_and_choce_to_overwrite(
|
fn multiple_files_with_conflict_and_choice_to_overwrite(
|
||||||
ext: DirectoryExtension,
|
ext: DirectoryExtension,
|
||||||
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
||||||
#[strategy(0u8..3)] depth: u8,
|
#[strategy(0u8..3)] depth: u8,
|
||||||
@ -222,7 +222,6 @@ fn multiple_files_with_conflict_and_choce_to_overwrite(
|
|||||||
.arg("-d")
|
.arg("-d")
|
||||||
.arg(after)
|
.arg(after)
|
||||||
.arg("--yes")
|
.arg("--yes")
|
||||||
//.write_stdin("y")
|
|
||||||
.assert()
|
.assert()
|
||||||
.success();
|
.success();
|
||||||
|
|
||||||
@ -230,7 +229,7 @@ fn multiple_files_with_conflict_and_choce_to_overwrite(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[proptest(cases = 25)]
|
#[proptest(cases = 25)]
|
||||||
fn multiple_files_with_conflict_and_choce_to_not_overwrite(
|
fn multiple_files_with_conflict_and_choice_to_not_overwrite(
|
||||||
ext: DirectoryExtension,
|
ext: DirectoryExtension,
|
||||||
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
||||||
#[strategy(0u8..3)] depth: u8,
|
#[strategy(0u8..3)] depth: u8,
|
||||||
@ -272,7 +271,7 @@ fn multiple_files_with_conflict_and_choce_to_not_overwrite(
|
|||||||
|
|
||||||
#[cfg(feature = "allow_piped_choice")]
|
#[cfg(feature = "allow_piped_choice")]
|
||||||
#[proptest(cases = 25)]
|
#[proptest(cases = 25)]
|
||||||
fn multiple_files_with_conflict_and_choce_to_rename(
|
fn multiple_files_with_conflict_and_choice_to_rename(
|
||||||
ext: DirectoryExtension,
|
ext: DirectoryExtension,
|
||||||
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
||||||
#[strategy(0u8..3)] depth: u8,
|
#[strategy(0u8..3)] depth: u8,
|
||||||
@ -308,6 +307,62 @@ fn multiple_files_with_conflict_and_choce_to_rename(
|
|||||||
assert_same_directory(before_dir, after_renamed_dir, false);
|
assert_same_directory(before_dir, after_renamed_dir, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "allow_piped_choice")]
|
||||||
|
#[proptest(cases = 25)]
|
||||||
|
fn multiple_files_with_conflict_and_choice_to_rename_with_already_a_renamed(
|
||||||
|
ext: DirectoryExtension,
|
||||||
|
#[any(size_range(0..1).lift())] extra_extensions: Vec<FileExtension>,
|
||||||
|
#[strategy(0u8..3)] depth: u8,
|
||||||
|
) {
|
||||||
|
let dir = tempdir().unwrap();
|
||||||
|
let dir = dir.path();
|
||||||
|
|
||||||
|
let before = &dir.join("before");
|
||||||
|
let before_dir = &before.join("dir");
|
||||||
|
fs::create_dir_all(before_dir).unwrap();
|
||||||
|
create_random_files(before_dir, depth, &mut SmallRng::from_entropy());
|
||||||
|
|
||||||
|
let after = &dir.join("after");
|
||||||
|
let after_dir = &after.join("dir");
|
||||||
|
fs::create_dir_all(after_dir).unwrap();
|
||||||
|
create_random_files(after_dir, depth, &mut SmallRng::from_entropy());
|
||||||
|
|
||||||
|
let archive = &dir.join(format!("archive.{}", merge_extensions(&ext, extra_extensions)));
|
||||||
|
ouch!("-A", "c", before_dir, archive);
|
||||||
|
|
||||||
|
let already_renamed_dir = &after.join("dir_1");
|
||||||
|
fs::create_dir_all(already_renamed_dir).unwrap();
|
||||||
|
create_random_files(already_renamed_dir, depth, &mut SmallRng::from_entropy());
|
||||||
|
|
||||||
|
let after_real_renamed_dir = &after.join("dir_2");
|
||||||
|
assert_eq!(false, after_real_renamed_dir.exists());
|
||||||
|
|
||||||
|
crate::utils::cargo_bin()
|
||||||
|
.arg("decompress")
|
||||||
|
.arg(archive)
|
||||||
|
.arg("-d")
|
||||||
|
.arg(after)
|
||||||
|
.write_stdin("r")
|
||||||
|
.assert()
|
||||||
|
.success();
|
||||||
|
|
||||||
|
assert_same_directory(before_dir, after_real_renamed_dir, false);
|
||||||
|
|
||||||
|
let after_another_real_renamed_dir = &after.join("dir_3");
|
||||||
|
assert_eq!(false, after_another_real_renamed_dir.exists());
|
||||||
|
|
||||||
|
crate::utils::cargo_bin()
|
||||||
|
.arg("decompress")
|
||||||
|
.arg(archive)
|
||||||
|
.arg("-d")
|
||||||
|
.arg(after)
|
||||||
|
.write_stdin("r")
|
||||||
|
.assert()
|
||||||
|
.success();
|
||||||
|
|
||||||
|
assert_same_directory(before_dir, after_another_real_renamed_dir, false);
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(feature = "unrar")]
|
#[cfg(feature = "unrar")]
|
||||||
#[test]
|
#[test]
|
||||||
fn unpack_rar() -> Result<(), Box<dyn std::error::Error>> {
|
fn unpack_rar() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user