Make sure `CurDir` is filtered out in absolutize.
* Make sure `CurDir` is filtered out in absolutize.
Closes
* Add test
* Make sure test works on windows
@@ -29,7 +29,10 @@ where
(absolute, relative)
} else {
- (relative_to.as_ref().to_path_buf(), path)
+ (
+ relative_to.as_ref().to_path_buf(),
+ components.iter().collect::<PathBuf>(),
+ )
}
};
@@ -91,6 +94,17 @@ mod tests {
);
}
+ #[test]
+ fn absolutize_with_curdir() {
+ let relative_to = Path::new("/foo");
+ let path = Path::new("./bar/./baz");
+
+ assert!(!absolutize(relative_to, path)
+ .to_str()
+ .unwrap()
+ .contains("."));
+ }
+
#[test]
fn canonicalize_should_succeed() -> io::Result<()> {
let relative_to = Path::new("/foo/bar");
