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