*/
package org.wamblee.io;
-import junit.framework.TestCase;
-
-import org.apache.oro.io.AwkFilenameFilter;
import static org.mockito.Mockito.*;
+import junit.framework.TestCase;
public class DirectoryMonitorTest extends TestCase {
private static final String REGEX = "^.*\\.txt$";
data = new TestData(this);
data.clean();
listener = mock(DirectoryMonitor.Listener.class);
- monitor = new DirectoryMonitor(data.getRoot(), new AwkFilenameFilter(
+ monitor = new DirectoryMonitor(data.getRoot(), new RegexFilenameFilter(
REGEX), listener);
}
*/
package org.wamblee.io;
-import org.apache.oro.io.AwkFilenameFilter;
-
import java.io.File;
/**
public class DirectoryMonitorTestProgram {
public static void main(String[] aArgs) throws Exception {
DirectoryMonitor monitor = new DirectoryMonitor(new File("."),
- new AwkFilenameFilter(".*\\.txt"), new DirectoryMonitor.Listener() {
+ new RegexFilenameFilter(".*\\.txt"), new DirectoryMonitor.Listener() {
public void fileChanged(File aFile) {
System.out.println("changed " + aFile);
}
--- /dev/null
+/*
+ * Copyright 2005-2010 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.wamblee.io;
+
+import java.io.File;
+import java.io.FileFilter;
+
+import junit.framework.TestCase;
+
+public class RegexFilenameFilterTest extends TestCase {
+
+ public void testMatching() {
+ FileFilter filter1 = new RegexFilenameFilter(".*\\.txt");
+ FileFilter filter2 = new RegexFilenameFilter("^a.*\\.txt$");
+
+ File file1 = new File("x.txt").getAbsoluteFile();
+ File file2 = new File("a.txtx").getAbsoluteFile();
+ File file3 = new File("aatxt").getAbsoluteFile();
+ File file4 = new File("batxt").getAbsoluteFile();
+ File file5 = new File("adibladibla.txt").getAbsoluteFile();
+
+ assertTrue(filter1.accept(file1));
+ assertTrue(filter1.accept(file2));
+ assertFalse(filter1.accept(file3));
+ assertFalse(filter1.accept(file4));
+ assertTrue(filter1.accept(file5));
+
+ assertFalse(filter2.accept(file1));
+ assertFalse(filter2.accept(file2));
+ assertFalse(filter2.accept(file3));
+ assertFalse(filter2.accept(file4));
+ assertTrue(filter2.accept(file5));
+
+ }
+}