diff options
author | Benjamin Sago <ogham@bsago.me> | 2017-09-30 09:17:05 +0200 |
---|---|---|
committer | Benjamin Sago <ogham@bsago.me> | 2017-09-30 09:17:29 +0200 |
commit | 937b325e3a63161edc0c64f5dff8d0e28be7b589 (patch) | |
tree | 963f997755842868906363b61a12064d2731a930 | |
parent | 166d1f5e5a466bcd0366ec7b521a82aba662bad3 (diff) |
Add some ignored tests for sub-globbing
-rw-r--r-- | src/fs/feature/ignore.rs | 38 |
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"))); + } } |