1 19 20 package org.netbeans.modules.junit.output.antutils; 21 22 import java.io.File ; 23 import junit.framework.*; 24 import org.netbeans.modules.junit.output.antutils.FileSetScanner.AntPattern; 25 26 30 public class FileSetScannerTest extends TestCase { 31 32 private static final String SEP = File.separator; 33 34 35 public FileSetScannerTest(String testName) { 36 super(testName); 37 } 38 39 40 public void testConstructor() { 41 System.out.println("constructor"); 42 43 try { 44 new AntPattern(new String [] {"ij", "kl"}); 45 new AntPattern(new String [] {"ij"}); 46 new AntPattern(new String [] {}); 47 } catch (IllegalArgumentException ex) { 48 fail("The IllegalArgumentException should not be thrown"); 49 } 50 51 try { 52 new AntPattern(null); 53 fail("The constructor should throw an IllegalArgumentException"); 54 } catch (IllegalArgumentException ex) { 55 } 57 } 58 59 public void testEquals() { 60 System.out.println("equals"); 61 62 assertEquals(new AntPattern(new String [0]), 63 new AntPattern(new String [0])); 64 65 assertNotEqual(new AntPattern(new String [0]), 66 null); 67 68 assertEquals(new AntPattern(new String [] {"cat", "dog"}), 69 new AntPattern(new String [] {"cat", "dog"})); 70 assertEquals(new AntPattern(new String [] {"cat", "dog"}), 71 new AntPattern(new String [] {new String ("cat"), "dog"})); 72 assertEquals(new AntPattern(new String [] {"cat", "dog"}), 73 new AntPattern(new String [] {"cat", new String ("dog")})); 74 assertEquals(new AntPattern(new String [] {"cat", "dog"}), 75 new AntPattern(new String [] {new String ("cat"), 76 new String ("dog")})); 77 78 assertNotEqual(new AntPattern(new String [] {"cat", "dog"}), 79 new AntPattern(new String [] {"cat", "dog", "pig"})); 80 assertNotEqual(new AntPattern(new String [] {"cat", "dog"}), 81 new AntPattern(new String [] {"cat", "cow"})); 82 assertNotEqual(new AntPattern(new String [] {"cat", "dog"}), 83 new AntPattern(new String [] {"cat"})); 84 assertNotEqual(new AntPattern(new String [] {"cat", "dog"}), 85 new AntPattern(new String [] {})); 86 assertNotEqual(new AntPattern(new String [] {"cat"}), 87 new AntPattern(new String [] {"cow"})); 88 } 89 90 public void testParsePatternString() { 91 System.out.println("parsePatternString"); 92 93 String patternString; 94 AntPattern expResult; 95 AntPattern result; 96 97 FileSetScanner s = 98 new FileSetScanner(new FileSet(new AntProject())); 99 100 patternString = replaceSep("ab"); 101 expResult = new AntPattern(new String [] {"ab"}); 102 result = s.parsePatternString(patternString); 103 assertEquals(expResult, result); 104 105 patternString = replaceSep("**"); 106 expResult = new AntPattern(new String [] {"**"}); 107 result = s.parsePatternString(patternString); 108 assertEquals(expResult, result); 109 110 patternString = replaceSep("ab/cd"); 111 expResult = new AntPattern(new String [] {"ab", "cd"}); 112 result = s.parsePatternString(patternString); 113 assertEquals(expResult, result); 114 115 patternString = replaceSep("ab/cd/"); 116 expResult = new AntPattern(new String [] {"ab", "cd", "**"}); 117 result = s.parsePatternString(patternString); 118 assertEquals(expResult, result); 119 120 patternString = replaceSep("ab/**"); 121 expResult = new AntPattern(new String [] {"ab", "**"}); 122 result = s.parsePatternString(patternString); 123 assertEquals(expResult, result); 124 125 patternString = replaceSep("ab/cd**"); 126 expResult = new AntPattern(new String [] {"ab", "cd**"}); 127 result = s.parsePatternString(patternString); 128 assertEquals(expResult, result); 129 130 patternString = replaceSep("ab/**cd"); 131 expResult = new AntPattern(new String [] {"ab", "**cd"}); 132 result = s.parsePatternString(patternString); 133 assertEquals(expResult, result); 134 135 patternString = replaceSep("ab/cd*"); 136 expResult = new AntPattern(new String [] {"ab", "cd*"}); 137 result = s.parsePatternString(patternString); 138 assertEquals(expResult, result); 139 140 patternString = replaceSep("ab/*cd"); 141 expResult = new AntPattern(new String [] {"ab", "*cd"}); 142 result = s.parsePatternString(patternString); 143 assertEquals(expResult, result); 144 145 patternString = replaceSep("ab/c*d"); 146 expResult = new AntPattern(new String [] {"ab", "c*d"}); 147 result = s.parsePatternString(patternString); 148 assertEquals(expResult, result); 149 150 patternString = replaceSep("ab/c*d*"); 151 expResult = new AntPattern(new String [] {"ab", "c*d*"}); 152 result = s.parsePatternString(patternString); 153 assertEquals(expResult, result); 154 155 patternString = replaceSep("**/cd"); 156 expResult = new AntPattern(new String [] {"**", "cd"}); 157 result = s.parsePatternString(patternString); 158 assertEquals(expResult, result); 159 160 patternString = replaceSep("ab/"); 161 expResult = new AntPattern(new String [] {"ab", "**"}); 162 result = s.parsePatternString(patternString); 163 assertEquals(expResult, result); 164 165 patternString = replaceSep("ab/*"); 166 expResult = new AntPattern(new String [] {"ab", "*"}); 167 result = s.parsePatternString(patternString); 168 assertEquals(expResult, result); 169 170 patternString = replaceSep("a?bc/def*g/*.java"); 171 expResult = new AntPattern(new String [] {"a?bc", "def*g", "*.java"}); 172 result = s.parsePatternString(patternString); 173 assertEquals(expResult, result); 174 175 patternString = replaceSep("abc/**/**/xyz"); 176 expResult = new AntPattern(new String [] {"abc", "**", "xyz"}); 177 result = s.parsePatternString(patternString); 178 assertEquals(expResult, result); 179 180 patternString = replaceSep("abc/**/**"); 181 expResult = new AntPattern(new String [] {"abc", "**"}); 182 result = s.parsePatternString(patternString); 183 assertEquals(expResult, result); 184 185 patternString = replaceSep("**"); 186 expResult = new AntPattern(new String [] {"**"}); 187 result = s.parsePatternString(patternString); 188 assertEquals(expResult, result); 189 190 patternString = replaceSep("**/**"); 191 expResult = new AntPattern(new String [] {"**"}); 192 result = s.parsePatternString(patternString); 193 assertEquals(expResult, result); 194 195 patternString = replaceSep("**/**/**"); 196 expResult = new AntPattern(new String [] {"**"}); 197 result = s.parsePatternString(patternString); 198 assertEquals(expResult, result); 199 200 patternString = replaceSep("**/xyz/*.java"); 201 expResult = new AntPattern(new String [] {"**", "xyz", "*.java"}); 202 result = s.parsePatternString(patternString); 203 assertEquals(expResult, result); 204 205 patternString = replaceSep("**/**/xyz/**"); 206 expResult = new AntPattern(new String [] {"**", "xyz", "**"}); 207 result = s.parsePatternString(patternString); 208 assertEquals(expResult, result); 209 210 patternString = replaceSep("ab/**/cd/**/**/ef/gh"); 211 expResult = new AntPattern(new String [] { 212 "ab", "**", "cd", "**", "ef", "gh"}); 213 result = s.parsePatternString(patternString); 214 assertEquals(expResult, result); 215 216 } 217 218 public void testQuote() { 219 assertEquals("", AntPattern.quote("")); 220 assertEquals("abcd", AntPattern.quote("abcd")); 221 assertEquals("ab\\*cd", AntPattern.quote("ab*cd")); 222 assertEquals("\\^abcd", AntPattern.quote("^abcd")); 223 assertEquals("abcd\\$", AntPattern.quote("abcd$")); 224 assertEquals("ab\\|cd", AntPattern.quote("ab|cd")); 225 assertEquals("a\\.bcd", AntPattern.quote("a.bcd")); 226 assertEquals("a\\.\\*bcd", AntPattern.quote("a.*bcd")); 227 assertEquals("ab\\[p-q\\]cd", AntPattern.quote("ab[p-q]cd")); 228 assertEquals("ab\\(cd\\)\\*", AntPattern.quote("ab(cd)*")); 229 assertEquals("a\\+bcd\\$", AntPattern.quote("a+bcd$")); 230 assertEquals("abcd\\{4,\\}", AntPattern.quote("abcd{4,}")); 231 } 232 233 private static String replaceSep(String pattern) { 234 return File.separatorChar == '/' 235 ? pattern 236 : pattern.replace('/', File.separatorChar); 237 } 238 239 private static void assertNotEqual(Object a, Object b) { 240 assertTrue((a == null) && (b != null) 241 || (a != null) && !a.equals(b)); 242 } 243 244 } 245 | Popular Tags |