1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.shade.filter;
20
21 import java.util.Collections;
22
23 import org.apache.maven.plugins.shade.mojo.ArchiveFilter;
24 import org.junit.Test;
25
26 import static org.junit.Assert.assertFalse;
27 import static org.junit.Assert.assertTrue;
28 import static org.mockito.Mockito.mock;
29 import static org.mockito.Mockito.when;
30
31
32
33
34 public class SimpleFilterTest {
35
36 @Test
37 public void testIsFiltered() {
38 SimpleFilter filter;
39
40 filter = new SimpleFilter(null, null, null);
41 assertFalse(filter.isFiltered("a.properties"));
42 assertFalse(filter.isFiltered("org/Test.class"));
43
44 filter = new SimpleFilter(null, Collections.<String>emptySet(), Collections.<String>emptySet());
45 assertFalse(filter.isFiltered("a.properties"));
46 assertFalse(filter.isFiltered("org/Test.class"));
47
48 filter = new SimpleFilter(null, Collections.singleton("org/Test.class"), Collections.<String>emptySet());
49 assertTrue(filter.isFiltered("a.properties"));
50 assertFalse(filter.isFiltered("org/Test.class"));
51 assertTrue(filter.isFiltered("org/Test.properties"));
52
53 filter = new SimpleFilter(null, Collections.<String>emptySet(), Collections.singleton("org/Test.class"));
54 assertFalse(filter.isFiltered("a.properties"));
55 assertTrue(filter.isFiltered("org/Test.class"));
56 assertFalse(filter.isFiltered("org/Test.properties"));
57
58 filter = new SimpleFilter(null, Collections.singleton("**/a.properties"), Collections.<String>emptySet());
59 assertFalse(filter.isFiltered("a.properties"));
60 assertFalse(filter.isFiltered("org/a.properties"));
61 assertFalse(filter.isFiltered("org/maven/a.properties"));
62 assertTrue(filter.isFiltered("org/maven/a.class"));
63
64 filter = new SimpleFilter(null, Collections.<String>emptySet(), Collections.singleton("org/*"));
65 assertFalse(filter.isFiltered("Test.class"));
66 assertTrue(filter.isFiltered("org/Test.class"));
67 assertFalse(filter.isFiltered("org/apache/Test.class"));
68
69 filter = new SimpleFilter(null, Collections.<String>emptySet(), Collections.singleton("org/**"));
70 assertFalse(filter.isFiltered("Test.class"));
71 assertTrue(filter.isFiltered("org/Test.class"));
72 assertTrue(filter.isFiltered("org/apache/Test.class"));
73
74 filter = new SimpleFilter(null, Collections.<String>emptySet(), Collections.singleton("org/"));
75 assertFalse(filter.isFiltered("Test.class"));
76 assertTrue(filter.isFiltered("org/Test.class"));
77 assertTrue(filter.isFiltered("org/apache/Test.class"));
78
79
80
81 final ArchiveFilter archiveFilter = mock(ArchiveFilter.class);
82 when(archiveFilter.getIncludes()).thenReturn(Collections.singleton("specific include"));
83 when(archiveFilter.getExcludes()).thenReturn(Collections.<String>emptySet());
84 when(archiveFilter.getExcludeDefaults()).thenReturn(true);
85 filter = new SimpleFilter(null, archiveFilter);
86 assertFalse(filter.isFiltered("specific include"));
87 assertTrue(filter.isFiltered("some other file matched by default include"));
88
89
90
91 when(archiveFilter.getExcludeDefaults()).thenReturn(false);
92 filter = new SimpleFilter(null, archiveFilter);
93 assertFalse(filter.isFiltered("specific include"));
94 assertFalse(filter.isFiltered("some other file matched by default include"));
95 }
96 }