use crate::brain::tools::error::expand_tilde;
#[test]
fn expand_tilde_forward_slash_form() {
let home = dirs::home_dir().expect("home dir");
assert_eq!(expand_tilde("~"), home);
assert_eq!(expand_tilde("~/projects/app"), home.join("projects/app"));
}
#[test]
fn expand_tilde_backslash_form_windows() {
let home = dirs::home_dir().expect("home dir");
assert_eq!(
expand_tilde(r"~\.opencrabs\logs"),
home.join(r".opencrabs\logs")
);
assert_eq!(expand_tilde(r"~\"), home.join(""));
}
#[test]
fn expand_tilde_leaves_non_tilde_paths_alone() {
assert_eq!(
expand_tilde("plain.txt"),
std::path::PathBuf::from("plain.txt")
);
assert_eq!(
expand_tilde(r"C:\Users\someone\file.rs"),
std::path::PathBuf::from(r"C:\Users\someone\file.rs")
);
assert_eq!(expand_tilde("a~b/c"), std::path::PathBuf::from("a~b/c"));
}