View Javadoc

1   /*
2    * $Id: WildcardFilterTestCase.java 20321 2010-11-24 15:21:24Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.routing.filters;
12  
13  import org.mule.tck.AbstractMuleTestCase;
14  
15  public class WildcardFilterTestCase extends AbstractMuleTestCase
16  {
17  
18      public void testWildcardFilterNoPattern()
19      {
20          // start with default
21          WildcardFilter filter = new WildcardFilter();
22          assertFalse(filter.accept("No tengo dinero"));
23  
24          // activate a pattern
25          filter.setPattern("* brown fox");
26          assertTrue(filter.accept("The quick brown fox"));
27  
28          // remove pattern again, i.e. block all
29          filter.setPattern(null);
30          assertFalse(filter.accept("oh-oh"));
31      }
32  
33      public void testWildcardFilterPostfix()
34      {
35          WildcardFilter filter = new WildcardFilter("The quick *");
36          assertNotNull(filter.getPattern());
37          assertTrue(filter.accept("The quick brown fox"));
38          assertTrue(filter.accept("The quick *"));
39  
40          assertTrue(!filter.accept("The quickbrown fox"));
41          assertTrue(!filter.accept("he quick brown fox"));
42      }
43  
44      public void testWildcardFilterPrefix()
45      {
46          WildcardFilter filter = new WildcardFilter();
47          filter.setPattern("* brown fox");
48          assertTrue(filter.accept("The quick brown fox"));
49          assertTrue(filter.accept("* brown fox"));
50  
51          assertTrue(!filter.accept("The quickbrown fox"));
52          assertTrue(!filter.accept("The quick brown fo"));
53  
54      }
55  
56      public void testWildcardFilterExactMatch()
57      {
58          WildcardFilter filter = new WildcardFilter();
59          filter.setPattern("fox");
60          assertTrue(filter.accept("fox"));
61  
62          filter.setPattern("");
63          assertTrue(filter.accept(""));
64      }
65  
66      public void testWildcardFilterPrePost()
67      {
68          WildcardFilter filter = new WildcardFilter();
69          filter.setPattern("* brown *");
70          assertTrue(filter.accept("The quick brown fox"));
71          assertTrue(filter.accept("* brown fox"));
72  
73          assertTrue(!filter.accept("The quickbrown fox"));
74          assertTrue(filter.accept("The quick brown fo"));
75  
76          filter.setPattern("**");
77          assertTrue(filter.accept("The quick brown fox"));
78  
79          filter.setPattern("*w*");
80          assertTrue(filter.accept("The quick brown fox"));
81  
82          filter.setPattern("*");
83          assertTrue(filter.accept("The quick brown fox"));
84  
85          filter.setPattern("*.*");
86          assertTrue(filter.accept("test.xml"));
87  
88          filter.setPattern("*.txt");
89          assertTrue(filter.accept("test.txt"));
90      }
91  
92      public void testWildcardFilterMultiplePatterns()
93      {
94          WildcardFilter filter = new WildcardFilter();
95          filter.setPattern("* brown*, The*");
96          assertTrue(filter.accept("The quick brown fox"));
97          assertTrue(filter.accept(" brown fox"));
98  
99          assertTrue(filter.accept("The quickbrown fox"));
100 
101         filter.setPattern("* if, The*");
102         assertTrue(!filter.accept("What The!"));
103         assertTrue(!filter.accept("simplify"));
104 
105     }
106 
107     public void testWildcardFilterCasesensitive()
108     {
109         WildcardFilter filter = new WildcardFilter();
110         filter.setPattern("* brown fox");
111         assertFalse(filter.accept("The quick Brown fox"));
112         assertTrue(filter.accept("* brown fox"));
113         filter.setCaseSensitive(false);
114         assertTrue(filter.accept("The quick Brown fox"));
115     }
116 
117 }