use super::pathconv::path_to_vector as to_vector;
use super::resolve_updirs;
#[test]
fn remove_nothing() {
let mut p = to_vector("nothing/here");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("nothing/here"));
}
#[test]
fn remove_end_subdir_test() {
let mut p = to_vector("nothing/here/../");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("nothing/"));
}
#[test]
fn remove_mid_subdir_test() {
let mut p = to_vector("nothing/here/../man");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("nothing/man"));
}
#[test]
fn remove_two_mid_subdir_test() {
let mut p = to_vector("nothing/here/../../man");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("man"));
}
#[test]
fn too_short() {
let mut p = to_vector("/");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("/"));
}
#[test]
fn slash_dot_dot_slash() {
let mut p = to_vector("/../");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("/"));
}
#[test]
fn only_one_dir() {
let mut p = to_vector("dir2/../");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector(""));
}
#[test]
fn only_one_dir_w_tail() {
let mut p = to_vector("dir2/../tail");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("tail"));
}
#[test]
fn normalize_front_updir_w_one_file() {
let mut p = to_vector("/../file");
resolve_updirs(&mut p, '/');
assert_eq!(p, to_vector("/file"));
}