antoine 2003/07/11 05:59:30
Modified: src/testcases/org/apache/tools/ant DirectoryScannerTest.java
Added: src/etc/testcases/core directoryscanner.xml
Log:
added 3 new testcases for DirectoryScanner
Revision Changes Path
1.11 +61 -1
ant/src/testcases/org/apache/tools/ant/DirectoryScannerTest.java
Index: DirectoryScannerTest.java
===================================================================
RCS file:
/home/cvs/ant/src/testcases/org/apache/tools/ant/DirectoryScannerTest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DirectoryScannerTest.java 7 Mar 2003 11:23:10 -0000 1.10
+++ DirectoryScannerTest.java 11 Jul 2003 12:59:29 -0000 1.11
@@ -62,13 +62,15 @@
import junit.framework.AssertionFailedError;
import java.io.File;
import java.io.IOException;
+import java.util.TreeSet;
+import java.util.Iterator;
/**
* JUnit 3 testcases for org.apache.tools.ant.DirectoryScanner
*
* @author Stefan Bodewig
*/
-public class DirectoryScannerTest extends TestCase {
+public class DirectoryScannerTest extends BuildFileTest {
public DirectoryScannerTest(String name) {super(name);}
@@ -76,6 +78,64 @@
private boolean supportsSymlinks = Os.isFamily("unix")
&& !JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_1);
+ public void setUp() {
+ configureProject("src/etc/testcases/core/directoryscanner.xml");
+ getProject().executeTarget("setup");
+ }
+ private void compareFiles(DirectoryScanner ds, String[] expectedFiles,
String[] expectedDirectories) {
+ String includedFiles[] = ds.getIncludedFiles();
+ String includedDirectories[] = ds.getIncludedDirectories();
+ assertTrue("expecting : " + expectedFiles.length + " files, present
: " + includedFiles.length, includedFiles.length == expectedFiles.length);
+ assertTrue("expecting : " + expectedDirectories.length + "
directories, present : " + includedDirectories.length,
includedDirectories.length == expectedDirectories.length);
+ TreeSet files = new TreeSet();
+ for (int counter=0; counter < includedFiles.length; counter++) {
+
files.add(includedFiles[counter].replace(File.separatorChar,'/'));
+ }
+ TreeSet directories = new TreeSet();
+ for (int counter=0; counter < includedDirectories.length; counter++)
{
+
directories.add(includedDirectories[counter].replace(File.separatorChar,'/'));
+ }
+ String currentfile;
+ Iterator i = files.iterator();
+ int counter = 0;
+ while (i.hasNext()) {
+ currentfile = (String) i.next();
+ assertTrue("expecting file " + expectedFiles[counter],
currentfile.equals(expectedFiles[counter]));
+ counter++;
+ }
+ String currentdirectory;
+ Iterator dirit = directories.iterator();
+ counter = 0;
+ while (dirit.hasNext()) {
+ currentdirectory = (String) dirit.next();
+ assertTrue("expecting directory " +
expectedDirectories[counter],
currentdirectory.equals(expectedDirectories[counter]));
+ counter++;
+ }
+
+ }
+ public void test1() {
+ DirectoryScanner ds = new DirectoryScanner();
+ ds.setBasedir(new File(getProject().getBaseDir(), "tmp"));
+ ds.setIncludes(new String[] {"alpha"});
+ ds.scan();
+ compareFiles(ds, new String[] {} ,new String[] {"alpha"});
+ }
+ public void test2() {
+ DirectoryScanner ds = new DirectoryScanner();
+ ds.setBasedir(new File(getProject().getBaseDir(), "tmp"));
+ ds.setIncludes(new String[] {"alpha/"});
+ ds.scan();
+ compareFiles(ds, new String[] {"alpha/beta/beta.xml",
"alpha/beta/gamma/gamma.xml"} ,new String[] {"alpha", "alpha/beta",
"alpha/beta/gamma"});
+ }
+ public void test3() {
+ DirectoryScanner ds = new DirectoryScanner();
+ ds.setBasedir(new File(getProject().getBaseDir(), "tmp"));
+ ds.scan();
+ compareFiles(ds, new String[] {"alpha/beta/beta.xml",
"alpha/beta/gamma/gamma.xml"} ,new String[] {"", "alpha", "alpha/beta",
"alpha/beta/gamma"});
+ }
+ public void tearDown() {
+ getProject().executeTarget("cleanup");
+ }
/**
* Test case for setFollowLinks() and associated funtionality.
* Only supports test on linux, at the moment because Java has
1.1 ant/src/etc/testcases/core/directoryscanner.xml
Index: directoryscanner.xml
===================================================================
<project name="directoryscanner-test" basedir=".">
<property name="tmp.dir" location="tmp"/>
<target name="setup">
<mkdir dir="${tmp.dir}"/>
<mkdir dir="${tmp.dir}/alpha"/>
<mkdir dir="${tmp.dir}/alpha/beta"/>
<mkdir dir="${tmp.dir}/alpha/beta/gamma"/>
<touch file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/>
<touch file="${tmp.dir}/alpha/beta/beta.xml"/>
</target>
<target name="cleanup">
<delete dir="${tmp.dir}" quiet="true"/>
</target>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]