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.mockito.Mockito.mock;
23 import static org.mockito.Mockito.when;
24
25 import java.util.Collections;
26
27 import junit.framework.TestCase;
28 import org.apache.maven.plugins.shade.mojo.ArchiveFilter;
29
30
31
32
33 public class SimpleFilterTest
34 extends TestCase
35 {
36
37 public void testIsFiltered()
38 {
39 SimpleFilter filter;
40
41 filter = new SimpleFilter( null, null, null );
42 assertFalse( filter.isFiltered( "a.properties" ) );
43 assertFalse( filter.isFiltered( "org/Test.class" ) );
44
45 filter = new SimpleFilter( null, Collections.<String> emptySet(), Collections.<String> emptySet() );
46 assertFalse( filter.isFiltered( "a.properties" ) );
47 assertFalse( filter.isFiltered( "org/Test.class" ) );
48
49 filter = new SimpleFilter( null, Collections.singleton( "org/Test.class" ), Collections.<String> emptySet() );
50 assertTrue( filter.isFiltered( "a.properties" ) );
51 assertFalse( filter.isFiltered( "org/Test.class" ) );
52 assertTrue( filter.isFiltered( "org/Test.properties" ) );
53
54 filter = new SimpleFilter( null, Collections.<String> emptySet(), Collections.singleton( "org/Test.class" ) );
55 assertFalse( filter.isFiltered( "a.properties" ) );
56 assertTrue( filter.isFiltered( "org/Test.class" ) );
57 assertFalse( filter.isFiltered( "org/Test.properties" ) );
58
59 filter = new SimpleFilter( null, Collections.singleton( "**/a.properties" ), Collections.<String> emptySet() );
60 assertFalse( filter.isFiltered( "a.properties" ) );
61 assertFalse( filter.isFiltered( "org/a.properties" ) );
62 assertFalse( filter.isFiltered( "org/maven/a.properties" ) );
63 assertTrue( filter.isFiltered( "org/maven/a.class" ) );
64
65 filter = new SimpleFilter( null, Collections.<String> emptySet(), Collections.singleton( "org/*" ) );
66 assertFalse( filter.isFiltered( "Test.class" ) );
67 assertTrue( filter.isFiltered( "org/Test.class" ) );
68 assertFalse( filter.isFiltered( "org/apache/Test.class" ) );
69
70 filter = new SimpleFilter( null, Collections.<String> emptySet(), Collections.singleton( "org/**" ) );
71 assertFalse( filter.isFiltered( "Test.class" ) );
72 assertTrue( filter.isFiltered( "org/Test.class" ) );
73 assertTrue( filter.isFiltered( "org/apache/Test.class" ) );
74
75 filter = new SimpleFilter( null, Collections.<String> emptySet(), Collections.singleton( "org/" ) );
76 assertFalse( filter.isFiltered( "Test.class" ) );
77 assertTrue( filter.isFiltered( "org/Test.class" ) );
78 assertTrue( filter.isFiltered( "org/apache/Test.class" ) );
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 when( archiveFilter.getExcludeDefaults() ).thenReturn( false );
91 filter = new SimpleFilter( null, archiveFilter );
92 assertFalse( filter.isFiltered( "specific include" ) );
93 assertFalse( filter.isFiltered( "some other file matched by default include" ) );
94 }
95
96 }