1
2
3
4
5
6
7
8
9
10
11 package org.mule.routing.filters;
12
13 import org.mule.tck.junit4.AbstractMuleTestCase;
14
15 import org.junit.Test;
16
17 import static org.junit.Assert.assertFalse;
18 import static org.junit.Assert.assertNotNull;
19 import static org.junit.Assert.assertTrue;
20
21 public class WildcardFilterTestCase extends AbstractMuleTestCase
22 {
23
24 @Test
25 public void testWildcardFilterNoPattern()
26 {
27
28 WildcardFilter filter = new WildcardFilter();
29 assertFalse(filter.accept("No tengo dinero"));
30
31
32 filter.setPattern("* brown fox");
33 assertTrue(filter.accept("The quick brown fox"));
34
35
36 filter.setPattern(null);
37 assertFalse(filter.accept("oh-oh"));
38 }
39
40 @Test
41 public void testWildcardFilterPostfix()
42 {
43 WildcardFilter filter = new WildcardFilter("The quick *");
44 assertNotNull(filter.getPattern());
45 assertTrue(filter.accept("The quick brown fox"));
46 assertTrue(filter.accept("The quick *"));
47
48 assertTrue(!filter.accept("The quickbrown fox"));
49 assertTrue(!filter.accept("he quick brown fox"));
50 }
51
52 @Test
53 public void testWildcardFilterPrefix()
54 {
55 WildcardFilter filter = new WildcardFilter();
56 filter.setPattern("* brown fox");
57 assertTrue(filter.accept("The quick brown fox"));
58 assertTrue(filter.accept("* brown fox"));
59
60 assertTrue(!filter.accept("The quickbrown fox"));
61 assertTrue(!filter.accept("The quick brown fo"));
62
63 }
64
65 @Test
66 public void testWildcardFilterExactMatch()
67 {
68 WildcardFilter filter = new WildcardFilter();
69 filter.setPattern("fox");
70 assertTrue(filter.accept("fox"));
71
72 filter.setPattern("");
73 assertTrue(filter.accept(""));
74 }
75
76 @Test
77 public void testWildcardFilterPrePost()
78 {
79 WildcardFilter filter = new WildcardFilter();
80 filter.setPattern("* brown *");
81 assertTrue(filter.accept("The quick brown fox"));
82 assertTrue(filter.accept("* brown fox"));
83
84 assertTrue(!filter.accept("The quickbrown fox"));
85 assertTrue(filter.accept("The quick brown fo"));
86
87 filter.setPattern("**");
88 assertTrue(filter.accept("The quick brown fox"));
89
90 filter.setPattern("*w*");
91 assertTrue(filter.accept("The quick brown fox"));
92
93 filter.setPattern("*");
94 assertTrue(filter.accept("The quick brown fox"));
95
96 filter.setPattern("*.*");
97 assertTrue(filter.accept("test.xml"));
98
99 filter.setPattern("*.txt");
100 assertTrue(filter.accept("test.txt"));
101 }
102
103 @Test
104 public void testWildcardFilterMultiplePatterns()
105 {
106 WildcardFilter filter = new WildcardFilter();
107 filter.setPattern("* brown*, The*");
108 assertTrue(filter.accept("The quick brown fox"));
109 assertTrue(filter.accept(" brown fox"));
110
111 assertTrue(filter.accept("The quickbrown fox"));
112
113 filter.setPattern("* if, The*");
114 assertTrue(!filter.accept("What The!"));
115 assertTrue(!filter.accept("simplify"));
116
117 }
118
119 @Test
120 public void testWildcardFilterCasesensitive()
121 {
122 WildcardFilter filter = new WildcardFilter();
123 filter.setPattern("* brown fox");
124 assertFalse(filter.accept("The quick Brown fox"));
125 assertTrue(filter.accept("* brown fox"));
126 filter.setCaseSensitive(false);
127 assertTrue(filter.accept("The quick Brown fox"));
128 }
129
130 @Test
131 public void testClassAndSubclass()
132 {
133 WildcardFilter filter = new WildcardFilter();
134
135 filter.setPattern("java.lang.Throwable+");
136 assertTrue(filter.accept(new Exception()));
137 assertTrue(filter.accept(new Throwable()));
138 assertFalse(filter.accept(new Object()));
139
140 filter.setPattern("java.lang.Throwable");
141 assertFalse(filter.accept(new Exception()));
142 assertTrue(filter.accept(new Throwable()));
143 assertFalse(filter.accept(new Object()));
144 }
145 }