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_unc;
fn normalize(path: impl AsRef<Path>) -> String {
let mut vec = to_vector(path);
normalize_unc(&mut vec);
to_pathbuf(vec).to_str().unwrap().to_owned()
}
#[test]
fn empty() {
let p = "";
assert_eq!(normalize(p), r"");
}
#[test]
fn not_unc() {
let p = r"\Directory\File";
assert_eq!(normalize(p), r"\Directory\File");
}
#[test]
fn normalize_server_name() {
let p = r"\\SERVER";
assert_eq!(normalize(p), r"\\server");
}
#[test]
fn normalize_server_name_slash() {
let p = r"\\SERVER\";
assert_eq!(normalize(p), r"\\server\");
}
#[test]
fn normalize_server_and_share_test() {
let p = r"\\SERVER\SHARE";
assert_eq!(normalize(p), r"\\server\share");
}
#[test]
fn normalize_server_share_slash_test() {
let p = r"\\SERVER\SHARE\";
assert_eq!(normalize(p), r"\\server\share\");
}
#[test]
fn normalize_server_share_rest_test() {
let p = r"\\SERVER\SHARE\Directory";
assert_eq!(normalize(p), r"\\server\share\Directory");
}