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]

Reply via email to