Author: jglick Date: Wed Jul 26 15:15:12 2006 New Revision: 425875 URL: http://svn.apache.org/viewvc?rev=425875&view=rev Log: Expressing a <dirset> as a string should show matching dirs, not files!
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/DirSet.java ant/core/trunk/src/testcases/org/apache/tools/ant/types/DirSetTest.java Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/DirSet.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/DirSet.java?rev=425875&r1=425874&r2=425875&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/types/DirSet.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/types/DirSet.java Wed Jul 26 15:15:12 2006 @@ -18,7 +18,7 @@ package org.apache.tools.ant.types; import java.util.Iterator; - +import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.types.resources.FileResourceIterator; /** @@ -89,6 +89,25 @@ */ public boolean isFilesystemOnly() { return true; + } + + /** + * Returns included directories as a list of semicolon-separated paths. + * + * @return a <code>String</code> of included directories. + */ + public String toString() { + DirectoryScanner ds = getDirectoryScanner(getProject()); + String[] dirs = ds.getIncludedDirectories(); + StringBuffer sb = new StringBuffer(); + + for (int i = 0; i < dirs.length; i++) { + if (i > 0) { + sb.append(';'); + } + sb.append(dirs[i]); + } + return sb.toString(); } } Modified: ant/core/trunk/src/testcases/org/apache/tools/ant/types/DirSetTest.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/testcases/org/apache/tools/ant/types/DirSetTest.java?rev=425875&r1=425874&r2=425875&view=diff ============================================================================== --- ant/core/trunk/src/testcases/org/apache/tools/ant/types/DirSetTest.java (original) +++ ant/core/trunk/src/testcases/org/apache/tools/ant/types/DirSetTest.java Wed Jul 26 15:15:12 2006 @@ -17,6 +17,8 @@ package org.apache.tools.ant.types; +import java.io.File; +import java.io.FileOutputStream; import org.apache.tools.ant.BuildException; /** @@ -39,7 +41,7 @@ FileSet fs = new FileSet(); fs.setProject(getProject()); getProject().addReference("dummy", fs); - ds.setRefid(new Reference("dummy")); + ds.setRefid(new Reference(getProject(), "dummy")); try { ds.getDir(getProject()); fail("DirSet created from FileSet reference"); @@ -50,13 +52,31 @@ ds = (DirSet) getInstance(); ds.setProject(getProject()); getProject().addReference("dummy2", ds); - fs.setRefid(new Reference("dummy2")); + fs.setRefid(new Reference(getProject(), "dummy2")); try { fs.getDir(getProject()); fail("FileSet created from DirSet reference"); } catch (BuildException e) { assertEquals("dummy2 doesn\'t denote a FileSet", e.getMessage()); } + } + + public void testToString() throws Exception { + File tmp = File.createTempFile("DirSetTest", ""); + tmp.delete(); + File a = new File(tmp, "a"); + a.mkdirs(); + File b = new File(tmp, "b"); + File bc = new File(b, "c"); + bc.mkdirs(); + new FileOutputStream(new File(a, "x")).close(); + new FileOutputStream(new File(b, "x")).close(); + new FileOutputStream(new File(bc, "x")).close(); + DirSet ds = new DirSet(); + ds.setProject(getProject()); + ds.setDir(tmp); + ds.setIncludes("b/"); + assertEquals("b;b" + File.separator + "c", ds.toString()); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]