summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Sago <ogham@bsago.me>2017-09-30 09:17:05 +0200
committerBenjamin Sago <ogham@bsago.me>2017-09-30 09:17:29 +0200
commit937b325e3a63161edc0c64f5dff8d0e28be7b589 (patch)
tree963f997755842868906363b61a12064d2731a930
parent166d1f5e5a466bcd0366ec7b521a82aba662bad3 (diff)
Add some ignored tests for sub-globbing
-rw-r--r--src/fs/feature/ignore.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/fs/feature/ignore.rs b/src/fs/feature/ignore.rs
index 2961b4f..40eb71c 100644
--- a/src/fs/feature/ignore.rs
+++ b/src/fs/feature/ignore.rs
@@ -155,4 +155,42 @@ mod test {
assert_eq!(false, ignores.is_ignored(Path::new("/srcode/exa.ipr")));
assert_eq!(false, ignores.is_ignored(Path::new("/srcode/exa.iws")));
}
+
+ #[test] #[ignore]
+ fn ignore_relatively() {
+ let ignores = test_cache(".", vec![ "target" ]);
+ assert_eq!(true, ignores.is_ignored(Path::new("./target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/project/target")));
+
+ assert_eq!(false, ignores.is_ignored(Path::new("./.target")));
+ }
+
+ #[test] #[ignore]
+ fn ignore_relatively_sometimes() {
+ let ignores = test_cache(".", vec![ "project/target" ]);
+ assert_eq!(false, ignores.is_ignored(Path::new("./target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/project/target")));
+ }
+
+ #[test] #[ignore]
+ fn ignore_relatively_absolutely() {
+ let ignores = test_cache(".", vec![ "/project/target" ]);
+ assert_eq!(false, ignores.is_ignored(Path::new("./target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/project/target")));
+ }
+
+ #[test] #[ignore] // not 100% sure if dot works this way...
+ fn ignore_relatively_absolutely_dot() {
+ let ignores = test_cache(".", vec![ "./project/target" ]);
+ assert_eq!(false, ignores.is_ignored(Path::new("./target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/target")));
+ assert_eq!(true, ignores.is_ignored(Path::new("./project/project/project/target")));
+ }
}