Make sure CurDir is filtered out in absolutize. (#3084)

* Make sure `CurDir` is filtered out in absolutize.

Closes #3083

* Add test

* Make sure test works on windows
This commit is contained in:
Kenneth Cochran 2021-02-23 03:22:17 -06:00 committed by GitHub
parent e834e617f3
commit 7f303a856e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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");