From 937b325e3a63161edc0c64f5dff8d0e28be7b589 Mon Sep 17 00:00:00 2001 From: Benjamin Sago Date: Sat, 30 Sep 2017 09:17:05 +0200 Subject: [PATCH] Add some ignored tests for sub-globbing --- src/fs/feature/ignore.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) 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"))); + } }