use super::*;
use crate::command_test_support::os_arguments;
use crate::test_support::{fixture, remove};
#[test]
fn the_plan_names_one_directory_and_no_option() {
let root: PathBuf = fixture("remove-plan");
std::fs::create_dir(root.join("wt")).expect("directory");
let canonical: PathBuf = std::fs::canonicalize(root.join("wt")).expect("canonical");
for values in [vec!["worktree", "remove", "wt"], vec!["worktree", "remove", "--", "wt"], vec!["worktree", "remove", "./wt/"]] {
let plan = parse_remove_plan(os_arguments(values.as_slice()).as_slice(), 0, root.as_path());
assert_eq!(plan, Some(RemovePlan { target: canonical.clone() }), "{values:?}");
}
for values in [
vec!["worktree", "remove"],
vec!["worktree", "remove", "--force", "wt"],
vec!["worktree", "remove", "-f", "wt"],
vec!["worktree", "remove", "wt", "extra"],
vec!["worktree", "remove", "absent"],
vec!["worktree", "add", "wt"],
vec!["worktree", "prune"],
] {
assert_eq!(parse_remove_plan(os_arguments(values.as_slice()).as_slice(), 0, root.as_path()), None, "{values:?}");
}
remove(root.as_path());
}