1 17 18 package org.apache.tools.ant.types.optional.depend; 19 20 import java.io.File ; 21 import java.io.FileReader ; 22 import java.io.IOException ; 23 import java.util.Date ; 24 import java.util.Vector ; 25 import java.util.Enumeration ; 26 import java.util.Hashtable ; 27 import org.apache.tools.ant.BuildFileTest; 28 import org.apache.tools.ant.Project; 29 import org.apache.tools.ant.types.FileSet; 30 import org.apache.tools.ant.DirectoryScanner; 31 32 36 public class ClassFileSetTest extends BuildFileTest { 37 public static final String RESULT_FILESET = "result"; 38 39 public ClassFileSetTest(String name) { 40 super(name); 41 } 42 43 public void setUp() { 44 configureProject("src/etc/testcases/taskdefs/optional/depend/depend.xml"); 46 } 47 48 public void tearDown() { 49 executeTarget("clean"); 50 } 51 52 55 public void testBasicSet() { 56 Project p = getProject(); 57 executeTarget("testbasicset"); 58 FileSet resultFileSet = (FileSet)p.getReference(RESULT_FILESET); 59 DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); 60 String [] scannedFiles = scanner.getIncludedFiles(); 61 Hashtable files = new Hashtable (); 62 for (int i = 0; i < scannedFiles.length; ++i) { 63 files.put(scannedFiles[i], scannedFiles[i]); 64 } 65 assertEquals("Classfileset did not pick up expected number of " 66 + "class files", 4, files.size()); 67 assertTrue("Result did not contain A.class", 68 files.containsKey("A.class")); 69 assertTrue("Result did not contain B.class", 70 files.containsKey("B.class")); 71 assertTrue("Result did not contain C.class", 72 files.containsKey("C.class")); 73 assertTrue("Result did not contain D.class", 74 files.containsKey("D.class")); 75 } 76 77 80 public void testSmallSet() { 81 Project p = getProject(); 82 executeTarget("testsmallset"); 83 FileSet resultFileSet = (FileSet)p.getReference(RESULT_FILESET); 84 DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); 85 String [] scannedFiles = scanner.getIncludedFiles(); 86 Hashtable files = new Hashtable (); 87 for (int i = 0; i < scannedFiles.length; ++i) { 88 files.put(scannedFiles[i], scannedFiles[i]); 89 } 90 assertEquals("Classfileset did not pick up expected number of " 91 + "class files", 2, files.size()); 92 assertTrue("Result did not contain B.class", 93 files.containsKey("B.class")); 94 assertTrue("Result did not contain C.class", 95 files.containsKey("C.class")); 96 } 97 98 101 public void testComboSet() { 102 Project p = getProject(); 103 executeTarget("testcomboset"); 104 FileSet resultFileSet = (FileSet)p.getReference(RESULT_FILESET); 105 DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); 106 String [] scannedFiles = scanner.getIncludedFiles(); 107 Hashtable files = new Hashtable (); 108 for (int i = 0; i < scannedFiles.length; ++i) { 109 files.put(scannedFiles[i], scannedFiles[i]); 110 } 111 assertEquals("Classfileset did not pick up expected number of " 112 + "class files", 1, files.size()); 113 assertTrue("Result did not contain C.class", 114 files.containsKey("C.class")); 115 } 116 117 120 public void testByReference() { 121 executeTarget("testbyreference"); 122 } 123 124 127 public void testMethodParam() { 128 Project p = getProject(); 129 executeTarget("testmethodparam"); 130 FileSet resultFileSet = (FileSet)p.getReference(RESULT_FILESET); 131 DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); 132 String [] scannedFiles = scanner.getIncludedFiles(); 133 Hashtable files = new Hashtable (); 134 for (int i = 0; i < scannedFiles.length; ++i) { 135 files.put(scannedFiles[i], scannedFiles[i]); 136 } 137 assertEquals("Classfileset did not pick up expected number of " 138 + "class files", 5, files.size()); 139 assertTrue("Result did not contain A.class", 140 files.containsKey("A.class")); 141 assertTrue("Result did not contain B.class", 142 files.containsKey("B.class")); 143 assertTrue("Result did not contain C.class", 144 files.containsKey("C.class")); 145 assertTrue("Result did not contain D.class", 146 files.containsKey("D.class")); 147 assertTrue("Result did not contain E.class", 148 files.containsKey("E.class")); 149 } 150 151 154 public void testMethodParamInner() { 155 Project p = getProject(); 156 executeTarget("testmethodparaminner"); 157 FileSet resultFileSet = (FileSet)p.getReference(RESULT_FILESET); 158 DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); 159 String [] scannedFiles = scanner.getIncludedFiles(); 160 Hashtable files = new Hashtable (); 161 for (int i = 0; i < scannedFiles.length; ++i) { 162 files.put(scannedFiles[i], scannedFiles[i]); 163 } 164 assertEquals("Classfileset did not pick up expected number of " 165 + "class files", 4, files.size()); 166 assertTrue("Result did not contain test" + File.separator + "Outer$Inner.class", 167 files.containsKey("test" + File.separator + "Outer$Inner.class")); 168 assertTrue("Result did not contain test" + File.separator + "Outer.class", 169 files.containsKey("test" + File.separator + "Outer.class")); 170 assertTrue("Result did not contain test" + File.separator + "ContainsOnlyInner.class", 171 files.containsKey("test" + File.separator + "ContainsOnlyInner.class")); 172 assertTrue("Result did not contain test" + File.separator + "ContainsOnlyInner.class", 173 files.containsKey("test" + File.separator + "MethodParam.class")); 174 } 175 } 176 | Popular Tags |