View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.vfs2.filter;
18  
19  import static org.junit.jupiter.api.Assertions.assertFalse;
20  import static org.junit.jupiter.api.Assertions.assertTrue;
21  
22  import java.io.File;
23  import java.util.ArrayList;
24  import java.util.List;
25  
26  import org.junit.jupiter.api.Test;
27  
28  /**
29   * Test for {@link WildcardFileFilter}.
30   */
31  // CHECKSTYLE:OFF Test code
32  public class WildcardFileFilterTest extends BaseFilterTest {
33  
34      @Test
35      public void testAcceptList() {
36  
37          // PREPARE
38          final List<String> list = new ArrayList<>();
39          list.add("*.txt");
40          list.add("*.a??");
41          final WildcardFileFilter filter = new WildcardFileFilter(list);
42  
43          // TEST
44          assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
45          assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
46          assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
47          assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
48          assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
49          assertFalse(filter.accept(createFileSelectInfo(new File("test.ABC"))));
50          assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
51          assertFalse(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
52          assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
53          assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
54          assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
55      }
56  
57      @Test
58      public void testAcceptListIOCaseInsensitive() {
59  
60          // PREPARE
61          final List<String> list = new ArrayList<>();
62          list.add("*.txt");
63          list.add("*.a??");
64          final WildcardFileFilter filter = new WildcardFileFilter(IOCase.INSENSITIVE, list);
65  
66          // TEST
67          assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
68          assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
69          assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
70          assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
71          assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
72          assertTrue(filter.accept(createFileSelectInfo(new File("test.ABC"))));
73          assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
74          assertTrue(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
75          assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
76          assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
77          assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
78      }
79  
80      @Test
81      public void testAcceptListIOCaseSensitive() {
82  
83          // PREPARE
84          final List<String> list = new ArrayList<>();
85          list.add("*.txt");
86          list.add("*.a??");
87          final WildcardFileFilter filter = new WildcardFileFilter(IOCase.SENSITIVE, list);
88  
89          // TEST
90          assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
91          assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
92          assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
93          assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
94          assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
95          assertFalse(filter.accept(createFileSelectInfo(new File("test.ABC"))));
96          assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
97          assertFalse(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
98          assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
99          assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
100         assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
101     }
102 
103     @Test
104     public void testAcceptString() {
105 
106         // PREPARE
107         final WildcardFileFilter filter = new WildcardFileFilter("*.txt", "*.a??");
108 
109         // TEST
110         assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
111         assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
112         assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
113         assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
114         assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
115         assertFalse(filter.accept(createFileSelectInfo(new File("test.ABC"))));
116         assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
117         assertFalse(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
118         assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
119         assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
120         assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
121     }
122 
123     @Test
124     public void testAcceptStringIOCaseInsensitive() {
125 
126         // PREPARE
127         final WildcardFileFilter filter = new WildcardFileFilter(IOCase.INSENSITIVE, "*.txt", "*.a??");
128 
129         // TEST
130         assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
131         assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
132         assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
133         assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
134         assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
135         assertTrue(filter.accept(createFileSelectInfo(new File("test.ABC"))));
136         assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
137         assertTrue(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
138         assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
139         assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
140         assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
141     }
142 
143     @Test
144     public void testAcceptStringIOCaseSensitive() {
145 
146         // PREPARE
147         final WildcardFileFilter filter = new WildcardFileFilter(IOCase.SENSITIVE, "*.txt", "*.a??");
148 
149         // TEST
150         assertTrue(filter.accept(createFileSelectInfo(new File("test1.txt"))));
151         assertTrue(filter.accept(createFileSelectInfo(new File("test2.txt"))));
152         assertFalse(filter.accept(createFileSelectInfo(new File("test.a"))));
153         assertFalse(filter.accept(createFileSelectInfo(new File("test.ab"))));
154         assertTrue(filter.accept(createFileSelectInfo(new File("test.abc"))));
155         assertFalse(filter.accept(createFileSelectInfo(new File("test.ABC"))));
156         assertTrue(filter.accept(createFileSelectInfo(new File("test.aaa"))));
157         assertFalse(filter.accept(createFileSelectInfo(new File("test.Aaa"))));
158         assertTrue(filter.accept(createFileSelectInfo(new File("test.aAA"))));
159         assertFalse(filter.accept(createFileSelectInfo(new File("test.abcd"))));
160         assertFalse(filter.accept(createFileSelectInfo(new File("test.xxx"))));
161     }
162 
163 }
164 // CHECKSTYLE:ON