📄 filefiltertestcase.java
字号:
OrFileFilter orFilter = new OrFileFilter();
File testFile = new File( "test.txt" );
IOFileFilter filter = new DelegateFileFilter((FileFilter) orFilter);
assertFiltering( filter, testFile, false );
filter = new DelegateFileFilter((FilenameFilter) orFilter);
assertFiltering( filter, testFile, false );
try {
new DelegateFileFilter((FileFilter) null);
fail();
} catch( IllegalArgumentException iae ) {
}
try {
new DelegateFileFilter((FilenameFilter) null);
fail();
} catch( IllegalArgumentException iae ) {
}
}
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);
}
public void testMakeSVNAware() throws Exception {
IOFileFilter filter1 = FileFilterUtils.makeSVNAware(null);
IOFileFilter filter2 = FileFilterUtils.makeSVNAware(FileFilterUtils
.nameFileFilter("test-file1.txt"));
File file = new File(getTestDirectory(), SVN_DIR_NAME);
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(), SVN_DIR_NAME);
createFile(file, 0);
assertFiltering(filter1, file, true);
assertFiltering(filter2, file, false);
}
public void testAgeFilter() throws Exception {
File oldFile = new File(getTestDirectory(), "old.txt");
File reference = new File(getTestDirectory(), "reference.txt");
File newFile = new File(getTestDirectory(), "new.txt");
createFile(oldFile, 0);
do {
try {
Thread.sleep(1000);
} catch(InterruptedException ie) {
// ignore
}
createFile(reference, 0);
} while( oldFile.lastModified() == reference.lastModified() );
Date date = new Date();
long now = date.getTime();
do {
try {
Thread.sleep(1000);
} catch(InterruptedException ie) {
// ignore
}
createFile(newFile, 0);
} while( reference.lastModified() == newFile.lastModified() );
IOFileFilter filter1 = FileFilterUtils.ageFileFilter(now);
IOFileFilter filter2 = FileFilterUtils.ageFileFilter(now, true);
IOFileFilter filter3 = FileFilterUtils.ageFileFilter(now, false);
IOFileFilter filter4 = FileFilterUtils.ageFileFilter(date);
IOFileFilter filter5 = FileFilterUtils.ageFileFilter(date, true);
IOFileFilter filter6 = FileFilterUtils.ageFileFilter(date, false);
IOFileFilter filter7 = FileFilterUtils.ageFileFilter(reference);
IOFileFilter filter8 = FileFilterUtils.ageFileFilter(reference, true);
IOFileFilter filter9 = FileFilterUtils.ageFileFilter(reference, false);
assertFiltering(filter1, oldFile, true);
assertFiltering(filter2, oldFile, true);
assertFiltering(filter3, oldFile, false);
assertFiltering(filter4, oldFile, true);
assertFiltering(filter5, oldFile, true);
assertFiltering(filter6, oldFile, false);
assertFiltering(filter7, oldFile, true);
assertFiltering(filter8, oldFile, true);
assertFiltering(filter9, oldFile, false);
assertFiltering(filter1, newFile, false);
assertFiltering(filter2, newFile, false);
assertFiltering(filter3, newFile, true);
assertFiltering(filter4, newFile, false);
assertFiltering(filter5, newFile, false);
assertFiltering(filter6, newFile, true);
assertFiltering(filter7, newFile, false);
assertFiltering(filter8, newFile, false);
assertFiltering(filter9, newFile, true);
}
public void testSizeFilter() throws Exception {
File smallFile = new File(getTestDirectory(), "small.txt");
createFile(smallFile, 32);
File largeFile = new File(getTestDirectory(), "large.txt");
createFile(largeFile, 128);
IOFileFilter filter1 = FileFilterUtils.sizeFileFilter(64);
IOFileFilter filter2 = FileFilterUtils.sizeFileFilter(64, true);
IOFileFilter filter3 = FileFilterUtils.sizeFileFilter(64, false);
assertFiltering(filter1, smallFile, false);
assertFiltering(filter2, smallFile, false);
assertFiltering(filter3, smallFile, true);
assertFiltering(filter1, largeFile, true);
assertFiltering(filter2, largeFile, true);
assertFiltering(filter3, largeFile, false);
// size range tests
IOFileFilter filter4 = FileFilterUtils.sizeRangeFileFilter(33, 127);
IOFileFilter filter5 = FileFilterUtils.sizeRangeFileFilter(32, 127);
IOFileFilter filter6 = FileFilterUtils.sizeRangeFileFilter(33, 128);
IOFileFilter filter7 = FileFilterUtils.sizeRangeFileFilter(31, 129);
IOFileFilter filter8 = FileFilterUtils.sizeRangeFileFilter(128, 128);
assertFiltering(filter4, smallFile, false);
assertFiltering(filter4, largeFile, false);
assertFiltering(filter5, smallFile, true);
assertFiltering(filter5, largeFile, false);
assertFiltering(filter6, smallFile, false);
assertFiltering(filter6, largeFile, true);
assertFiltering(filter7, smallFile, true);
assertFiltering(filter7, largeFile, true);
assertFiltering(filter8, largeFile, true);
try {
FileFilterUtils.sizeFileFilter(-1);
fail();
} catch (IllegalArgumentException ex) {
// expected
}
}
public void testHidden() throws Exception {
File hiddenDir = new File(SVN_DIR_NAME);
if (hiddenDir.exists()) {
assertFiltering(HiddenFileFilter.HIDDEN, hiddenDir, hiddenDir.isHidden());
assertFiltering(HiddenFileFilter.VISIBLE, hiddenDir, !hiddenDir.isHidden());
}
assertFiltering(HiddenFileFilter.HIDDEN, getTestDirectory(), false);
assertFiltering(HiddenFileFilter.VISIBLE, getTestDirectory(), true);
}
public void testCanRead() throws Exception {
File readOnlyFile = new File(getTestDirectory(), "read-only-file1.txt");
createFile(readOnlyFile, 32);
readOnlyFile.setReadOnly();
assertFiltering(CanReadFileFilter.CAN_READ, readOnlyFile, true);
assertFiltering(CanReadFileFilter.CANNOT_READ, readOnlyFile, false);
assertFiltering(CanReadFileFilter.READ_ONLY, readOnlyFile, true);
readOnlyFile.delete();
}
public void testCanWrite() throws Exception {
File readOnlyFile = new File(getTestDirectory(), "read-only-file2.txt");
createFile(readOnlyFile, 32);
readOnlyFile.setReadOnly();
assertFiltering(CanWriteFileFilter.CAN_WRITE, getTestDirectory(), true);
assertFiltering(CanWriteFileFilter.CANNOT_WRITE, getTestDirectory(), false);
assertFiltering(CanWriteFileFilter.CAN_WRITE, readOnlyFile, false);
assertFiltering(CanWriteFileFilter.CANNOT_WRITE, readOnlyFile, true);
readOnlyFile.delete();
}
public void testEmpty() throws Exception {
// Empty Dir
File emptyDir = new File(getTestDirectory(), "empty-dir");
emptyDir.mkdirs();
assertFiltering(EmptyFileFilter.EMPTY, emptyDir, true);
assertFiltering(EmptyFileFilter.NOT_EMPTY, emptyDir, false);
// Empty File
File emptyFile = new File(emptyDir, "empty-file.txt");
createFile(emptyFile, 0);
assertFiltering(EmptyFileFilter.EMPTY, emptyFile, true);
assertFiltering(EmptyFileFilter.NOT_EMPTY, emptyFile, false);
// Not Empty Dir
assertFiltering(EmptyFileFilter.EMPTY, emptyDir, false);
assertFiltering(EmptyFileFilter.NOT_EMPTY, emptyDir, true);
// Not Empty File
File notEmptyFile = new File(emptyDir, "not-empty-file.txt");
createFile(notEmptyFile, 32);
assertFiltering(EmptyFileFilter.EMPTY, notEmptyFile, false);
assertFiltering(EmptyFileFilter.NOT_EMPTY, notEmptyFile, true);
FileUtils.forceDelete(emptyDir);
}
//-----------------------------------------------------------------------
public void testMakeDirectoryOnly() throws Exception {
assertSame(DirectoryFileFilter.DIRECTORY, FileFilterUtils.makeDirectoryOnly(null));
IOFileFilter filter = FileFilterUtils.makeDirectoryOnly(
FileFilterUtils.nameFileFilter("B"));
File fileA = new File(getTestDirectory(), "A");
File fileB = new File(getTestDirectory(), "B");
fileA.mkdirs();
fileB.mkdirs();
assertFiltering(filter, fileA, false);
assertFiltering(filter, fileB, true);
FileUtils.deleteDirectory(fileA);
FileUtils.deleteDirectory(fileB);
createFile(fileA, 32);
createFile(fileB, 32);
assertFiltering(filter, fileA, false);
assertFiltering(filter, fileB, false);
fileA.delete();
fileB.delete();
}
//-----------------------------------------------------------------------
public void testMakeFileOnly() throws Exception {
assertSame(FileFileFilter.FILE, FileFilterUtils.makeFileOnly(null));
IOFileFilter filter = FileFilterUtils.makeFileOnly(
FileFilterUtils.nameFileFilter("B"));
File fileA = new File(getTestDirectory(), "A");
File fileB = new File(getTestDirectory(), "B");
fileA.mkdirs();
fileB.mkdirs();
assertFiltering(filter, fileA, false);
assertFiltering(filter, fileB, false);
FileUtils.deleteDirectory(fileA);
FileUtils.deleteDirectory(fileB);
createFile(fileA, 32);
createFile(fileB, 32);
assertFiltering(filter, fileA, false);
assertFiltering(filter, fileB, true);
fileA.delete();
fileB.delete();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -