Skip to content

Commit e1981f2

Browse files
committed
Add symlink test
1 parent 4054779 commit e1981f2

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/glob-std.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,19 @@ fn main() {
4444
}
4545
}
4646

47+
fn mk_symlink_dir(original: &str, link: &str) {
48+
#[cfg(unix)]
49+
{
50+
use std::os::unix::fs::symlink;
51+
symlink(original, link).unwrap();
52+
}
53+
#[cfg(windows)]
54+
{
55+
use std::os::windows::fs::symlink_dir;
56+
symlink_dir(original, link).unwrap();
57+
}
58+
}
59+
4760
fn glob_vec(pattern: &str) -> Vec<PathBuf> {
4861
glob(pattern).unwrap().map(|r| r.unwrap()).collect()
4962
}
@@ -99,6 +112,22 @@ fn main() {
99112
mk_file("r/three", true);
100113
mk_file("r/three/c.md", false);
101114

115+
mk_file("dirsym", true);
116+
mk_symlink_dir(root.path().join("r").to_str().unwrap(), "dirsym/link");
117+
118+
assert_eq!(
119+
glob_vec("dirsym/**/*.md"),
120+
vec!(
121+
PathBuf::from("dirsym/link/another/a.md"),
122+
PathBuf::from("dirsym/link/current_dir.md"),
123+
PathBuf::from("dirsym/link/one/a.md"),
124+
PathBuf::from("dirsym/link/one/another/a.md"),
125+
PathBuf::from("dirsym/link/one/another/deep/spelunking.md"),
126+
PathBuf::from("dirsym/link/three/c.md"),
127+
PathBuf::from("dirsym/link/two/b.md")
128+
)
129+
);
130+
102131
// all recursive entities
103132
assert_eq!(
104133
glob_vec("r/**"),

0 commit comments

Comments
 (0)