use std::path::Path;
use super::pathconv::path_to_vector as to_vector;
use super::pathconv::vector_to_pathbuf as to_pathbuf;
use super::normalize_drive;
fn normalize(path: impl AsRef<Path>) -> String {
let mut vec = to_vector(path);
normalize_drive(&mut vec);
to_pathbuf(vec).to_str().unwrap().to_owned()
}
#[test]
fn empty() {
let p = "";
assert_eq!(normalize(p), r"");
}
#[test]
fn not_drive() {
let p = r"\Directory\File";
assert_eq!(normalize(p), r"\Directory\File");
}
#[test]
fn normalize_drive_root() {
let p = r"c:\";
assert_eq!(normalize(p), r"C:\");
}
#[test]
fn normalize_drive_name_only() {
let p = r"c:";
assert_eq!(normalize(p), r"C:");
}
#[test]
fn normalize_drive_name_no_case_change() {
let p = r"C:";
assert_eq!(normalize(p), r"C:");
}
#[test]
fn normalize_only_drive_test() {
let p = r"c:\SeRVER\";
assert_eq!(normalize(p), r"C:\SeRVER\");
}