Author: scolebourne
Date: Sun Feb 13 04:09:53 2005
New Revision: 153623
URL: http://svn.apache.org/viewcvs?view=rev&rev=153623
Log:
Fix bug in makeCVSAware that rendered the method useless
bug 33023, from Masato Tezuka
Modified:
jakarta/commons/proper/io/trunk/project.xml
jakarta/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/FileFilterUtils.java
jakarta/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
Modified: jakarta/commons/proper/io/trunk/project.xml
URL:
http://svn.apache.org/viewcvs/jakarta/commons/proper/io/trunk/project.xml?view=diff&r1=153622&r2=153623
==============================================================================
--- jakarta/commons/proper/io/trunk/project.xml (original)
+++ jakarta/commons/proper/io/trunk/project.xml Sun Feb 13 04:09:53 2005
@@ -156,11 +156,14 @@
<contributors>
<contributor>
+ <name>Jason Anderson</name>
+ </contributor>
+ <contributor>
<name>Alban Peignier</name>
<email>alban.peignier at free.fr</email>
</contributor>
<contributor>
- <name>Jason Anderson</name>
+ <name>Masato Tezuka</name>
</contributor>
</contributors>
Modified:
jakarta/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/FileFilterUtils.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/FileFilterUtils.java?view=diff&r1=153622&r2=153623
==============================================================================
---
jakarta/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/FileFilterUtils.java
(original)
+++
jakarta/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/FileFilterUtils.java
Sun Feb 13 04:09:53 2005
@@ -24,11 +24,12 @@
* every class you use.
*
* @since Commons IO 1.0
- * @version $Revision: 1.8 $ $Date: 2004/02/23 04:37:57 $
+ * @version $Id$
*
* @author Henri Yandell
* @author Stephen Colebourne
* @author Jeremias Maerki
+ * @author Masato Tezuka
*/
public class FileFilterUtils {
@@ -156,20 +157,21 @@
//-----------------------------------------------------------------------
/* Constructed on demand and then cached */
- private static IOFileFilter cvsFilter = null;
+ private static IOFileFilter cvsFilter;
/**
- * Resturns an IOFileFilter that ignores CVS directories. You may
optionally
+ * Returns an IOFileFilter that ignores CVS directories. You may optionally
* pass in an existing IOFileFilter in which case it is extended to exclude
* CVS directories.
- * @param filter IOFileFilter to modify, null if a new IOFileFilter
+ * @param filter IOFileFilter to wrap, null if a new IOFileFilter
* should be created
* @return the requested (combined) filter
+ * @since 1.1 (method existed but had bug in 1.0)
*/
public static IOFileFilter makeCVSAware(IOFileFilter filter) {
if (cvsFilter == null) {
- cvsFilter = andFileFilter(directoryFileFilter(),
- notFileFilter(nameFileFilter("CVS")));
+ cvsFilter = notFileFilter(
+ andFileFilter(directoryFileFilter(), nameFileFilter("CVS")));
}
if (filter == null) {
return cvsFilter;
Modified:
jakarta/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java?view=diff&r1=153622&r2=153623
==============================================================================
---
jakarta/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
(original)
+++
jakarta/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
Sun Feb 13 04:09:53 2005
@@ -17,14 +17,16 @@
import java.io.File;
-import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.testtools.FileBasedTestCase;
+
/**
- * Used to test an unknown FileFilter
+ * Used to test FileFilterUtils.
*/
-public class FileFilterTestCase extends TestCase {
+public class FileFilterTestCase extends FileBasedTestCase {
public FileFilterTestCase(String name) {
super(name);
@@ -39,9 +41,11 @@
}
public void setUp() {
+ getTestDirectory().mkdirs();
}
- public void tearDown() {
+ public void tearDown() throws Exception {
+ FileUtils.deleteDirectory(getTestDirectory());
}
public void assertFiltering(IOFileFilter filter, File file, boolean
expected) throws Exception {
@@ -226,6 +230,32 @@
}
}
-
+ public void testMakeCVSAware() throws Exception {
+ IOFileFilter filter1 = FileFilterUtils.makeCVSAware(null);
+ IOFileFilter filter2 = FileFilterUtils.makeCVSAware(FileFilterUtils
+ .nameFileFilter("test-file1.txt"));
+
+ File file = new File(getTestDirectory(), "CVS");
+ file.mkdirs();
+ assertFiltering(filter1, file, false);
+ assertFiltering(filter2, file, false);
+ FileUtils.deleteDirectory(file);
+
+ file = new File(getTestDirectory(), "test-file1.txt");
+ createFile(file, 0);
+ assertFiltering(filter1, file, true);
+ assertFiltering(filter2, file, true);
+
+ file = new File(getTestDirectory(), "test-file2.log");
+ createFile(file, 0);
+ assertFiltering(filter1, file, true);
+ assertFiltering(filter2, file, false);
+
+ file = new File(getTestDirectory(), "CVS");
+ createFile(file, 0);
+ assertFiltering(filter1, file, true);
+ assertFiltering(filter2, file, false);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]