@@ -155,4 +155,42 @@ mod test {
155
155
assert_eq ! ( false , ignores. is_ignored( Path :: new( "/srcode/exa.ipr" ) ) ) ;
156
156
assert_eq ! ( false , ignores. is_ignored( Path :: new( "/srcode/exa.iws" ) ) ) ;
157
157
}
158
+
159
+ #[ test] #[ ignore]
160
+ fn ignore_relatively ( ) {
161
+ let ignores = test_cache ( "." , vec ! [ "target" ] ) ;
162
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./target" ) ) ) ;
163
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/target" ) ) ) ;
164
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/target" ) ) ) ;
165
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/project/target" ) ) ) ;
166
+
167
+ assert_eq ! ( false , ignores. is_ignored( Path :: new( "./.target" ) ) ) ;
168
+ }
169
+
170
+ #[ test] #[ ignore]
171
+ fn ignore_relatively_sometimes ( ) {
172
+ let ignores = test_cache ( "." , vec ! [ "project/target" ] ) ;
173
+ assert_eq ! ( false , ignores. is_ignored( Path :: new( "./target" ) ) ) ;
174
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/target" ) ) ) ;
175
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/target" ) ) ) ;
176
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/project/target" ) ) ) ;
177
+ }
178
+
179
+ #[ test] #[ ignore]
180
+ fn ignore_relatively_absolutely ( ) {
181
+ let ignores = test_cache ( "." , vec ! [ "/project/target" ] ) ;
182
+ assert_eq ! ( false , ignores. is_ignored( Path :: new( "./target" ) ) ) ;
183
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/target" ) ) ) ;
184
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/target" ) ) ) ;
185
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/project/target" ) ) ) ;
186
+ }
187
+
188
+ #[ test] #[ ignore] // not 100% sure if dot works this way...
189
+ fn ignore_relatively_absolutely_dot ( ) {
190
+ let ignores = test_cache ( "." , vec ! [ "./project/target" ] ) ;
191
+ assert_eq ! ( false , ignores. is_ignored( Path :: new( "./target" ) ) ) ;
192
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/target" ) ) ) ;
193
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/target" ) ) ) ;
194
+ assert_eq ! ( true , ignores. is_ignored( Path :: new( "./project/project/project/target" ) ) ) ;
195
+ }
158
196
}
0 commit comments