1 17 18 package org.apache.tools.ant.types.selectors; 19 20 import org.apache.tools.ant.BuildException; 21 import org.apache.tools.ant.Project; 22 import org.apache.tools.ant.util.*; 23 import org.apache.tools.ant.BuildFileTest; 24 import org.apache.tools.ant.types.Parameter; 25 26 import junit.framework.TestCase; 27 import junit.framework.AssertionFailedError; 28 29 33 public class FilenameSelectorTest extends BaseSelectorTest { 34 35 private Project project; 36 37 public FilenameSelectorTest(String name) { 38 super(name); 39 } 40 41 45 public BaseSelector getInstance() { 46 return new FilenameSelector(); 47 } 48 49 52 public void testValidate() { 53 FilenameSelector s = (FilenameSelector)getInstance(); 54 try { 55 s.isSelected(basedir,filenames[0],files[0]); 56 fail("FilenameSelector did not check for required fields"); 57 } catch (BuildException be1) { 58 assertEquals("The name attribute is required", be1.getMessage()); 59 } 60 61 s = (FilenameSelector)getInstance(); 62 Parameter param = new Parameter(); 63 param.setName("garbage in"); 64 param.setValue("garbage out"); 65 Parameter[] params = {param}; 66 s.setParameters(params); 67 try { 68 s.isSelected(basedir,filenames[0],files[0]); 69 fail("FilenameSelector did not check for valid parameter element"); 70 } catch (BuildException be2) { 71 assertEquals("Invalid parameter garbage in", be2.getMessage()); 72 } 73 74 } 75 76 79 public void testSelectionBehaviour() { 80 FilenameSelector s; 81 String results; 82 83 try { 84 makeBed(); 85 86 s = (FilenameSelector)getInstance(); 87 s.setName("no match possible"); 88 results = selectionString(s); 89 assertEquals("FFFFFFFFFFFF", results); 90 91 s = (FilenameSelector)getInstance(); 92 s.setName("*.gz"); 93 results = selectionString(s); 94 101 s = (FilenameSelector)getInstance(); 102 s.setName("**/*.gz"); 103 s.setNegate(true); 104 results = selectionString(s); 105 assertEquals("TTTFTTTFFTTT", results); 106 107 s = (FilenameSelector)getInstance(); 108 s.setName("**/*.GZ"); 109 s.setCasesensitive(false); 110 results = selectionString(s); 111 assertEquals("FFFTFFFTTFFF", results); 112 113 s = (FilenameSelector)getInstance(); 114 Parameter param1 = new Parameter(); 115 param1.setName("name"); 116 param1.setValue("**/*.bz2"); 117 Parameter[] params = {param1}; 118 s.setParameters(params); 119 results = selectionString(s); 120 assertEquals("FFTFFFFFFTTF", results); 121 122 } 123 finally { 124 cleanupBed(); 125 } 126 127 } 128 129 } 130 | Popular Tags |