@Test public void testHidden() throws Exception { final 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); }
@Test public void testCanWrite() throws Exception { final File readOnlyFile = new File(getTestDirectory(), "read-only-file2.txt"); if (!readOnlyFile.getParentFile().exists()) { throw new IOException("Cannot create file " + readOnlyFile + " as the parent directory does not exist"); } try (final BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(readOnlyFile))){ TestUtils.generateTestData(output, 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(); }
@Test public void testFilterSet() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final Set<File> fileList = new HashSet<>(Arrays.asList(fileA, fileB)); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final Set<File> filteredSet = FileFilterUtils.filterSet(filter, fileList); assertTrue(filteredSet.contains(fileA)); assertFalse(filteredSet.contains(fileB)); }
@Test public void testFilterList_fromArray() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final List<File> filteredList = FileFilterUtils.filterList(filter, fileA, fileB); assertTrue(filteredList.contains(fileA)); assertFalse(filteredList.contains(fileB)); }
@Test public void testFilterList() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final List<File> fileList = Arrays.asList(fileA, fileB); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final List<File> filteredList = FileFilterUtils.filterList(filter, fileList); assertTrue(filteredList.contains(fileA)); assertFalse(filteredList.contains(fileB)); }
@Test public void testCanRead() throws Exception { final File readOnlyFile = new File(getTestDirectory(), "read-only-file1.txt"); if (!readOnlyFile.getParentFile().exists()) { throw new IOException("Cannot create file " + readOnlyFile + " as the parent directory does not exist"); } try (final BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(readOnlyFile))){ TestUtils.generateTestData(output, 32); } readOnlyFile.setReadOnly(); assertFiltering(CanReadFileFilter.CAN_READ, readOnlyFile, true); assertFiltering(CanReadFileFilter.CANNOT_READ, readOnlyFile, false); assertFiltering(CanReadFileFilter.READ_ONLY, readOnlyFile, true); readOnlyFile.delete(); }
@Test public void testFilterSet_fromArray() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final Set<File> filteredSet = FileFilterUtils.filterSet(filter, fileA, fileB); assertTrue(filteredSet.contains(fileA)); assertFalse(filteredSet.contains(fileB)); }
@Test public void testFilterArray_fromList() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final List<File> fileList = Arrays.asList(fileA, fileB); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final File[] filtered = FileFilterUtils.filter(filter, fileList); assertEquals(1, filtered.length); assertEquals(fileA, filtered[0]); }
FileFilterUtils.nameFileFilter("B")); final File fileA = new File(getTestDirectory(), "A"); final File fileB = new File(getTestDirectory(), "B");
FileFilterUtils.nameFileFilter("B")); final File fileA = new File(getTestDirectory(), "A"); final File fileB = new File(getTestDirectory(), "B");
@Test public void testFilterArray() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); final IOFileFilter filter = FileFilterUtils.nameFileFilter("A"); final File[] filtered = FileFilterUtils.filter(filter, fileA, fileB); assertEquals(1, filtered.length); assertEquals(fileA, filtered[0]); }
.nameFileFilter("test-file1.txt")); File file = new File(getTestDirectory(), SVN_DIR_NAME); file.mkdirs(); assertFiltering(filter1, file, false); FileUtils.deleteDirectory(file); file = new File(getTestDirectory(), "test-file1.txt"); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file assertFiltering(filter2, file, true); file = new File(getTestDirectory(), "test-file2.log"); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file assertFiltering(filter2, file, false); file = new File(getTestDirectory(), SVN_DIR_NAME); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file
final long tarMagicNumberOffset = 257; final File tarFileA = new File(getTestDirectory(), "A.tar"); final File randomFileB = new File(getTestDirectory(), "B.txt"); final File dir = new File(getTestDirectory(), "D"); dir.mkdirs();
.nameFileFilter("test-file1.txt")); File file = new File(getTestDirectory(), "CVS"); file.mkdirs(); assertFiltering(filter1, file, false); FileUtils.deleteDirectory(file); file = new File(getTestDirectory(), "test-file1.txt"); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file assertFiltering(filter2, file, true); file = new File(getTestDirectory(), "test-file2.log"); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file assertFiltering(filter2, file, false); file = new File(getTestDirectory(), "CVS"); if (!file.getParentFile().exists()) { throw new IOException("Cannot create file " + file
final long tarMagicNumberOffset = 257; final File tarFileA = new File(getTestDirectory(), "A.tar"); final File randomFileB = new File(getTestDirectory(), "B.txt"); final File dir = new File(getTestDirectory(), "D"); dir.mkdirs();
@Test public void testMagicNumberFileFilterString() throws Exception { final byte[] classFileMagicNumber = new byte[] {(byte) 0xCA, (byte) 0xFE, (byte) 0xBA, (byte) 0xBE}; final String xmlFileContent = "<?xml version=\"1.0\" encoding=\"UTF-8\">\n" + "<element>text</element>"; final String xmlMagicNumber = "<?xml version=\"1.0\""; final File classFileA = new File(getTestDirectory(), "A.class"); final File xmlFileB = new File(getTestDirectory(), "B.xml"); final File dir = new File(getTestDirectory(), "D"); dir.mkdirs(); final OutputStream classFileAStream = FileUtils.openOutputStream(classFileA); IOUtils.write(classFileMagicNumber, classFileAStream); TestUtils.generateTestData(classFileAStream, 32); classFileAStream.close(); FileUtils.write(xmlFileB, xmlFileContent, StandardCharsets.UTF_8); IOFileFilter filter = new MagicNumberFileFilter(xmlMagicNumber); assertFiltering(filter, classFileA, false); assertFiltering(filter, xmlFileB, true); assertFiltering(filter, dir, false); filter = FileFilterUtils.magicNumberFileFilter(xmlMagicNumber); assertFiltering(filter, classFileA, false); assertFiltering(filter, xmlFileB, true); assertFiltering(filter, dir, false); }
@Test public void testMagicNumberFileFilterBytes() throws Exception { final byte[] classFileMagicNumber = new byte[] {(byte) 0xCA, (byte) 0xFE, (byte) 0xBA, (byte) 0xBE}; final String xmlFileContent = "<?xml version=\"1.0\" encoding=\"UTF-8\">\n" + "<element>text</element>"; final File classFileA = new File(getTestDirectory(), "A.class"); final File xmlFileB = new File(getTestDirectory(), "B.xml"); final File emptyFile = new File(getTestDirectory(), "C.xml"); final File dir = new File(getTestDirectory(), "D"); dir.mkdirs(); final OutputStream classFileAStream = FileUtils.openOutputStream(classFileA); IOUtils.write(classFileMagicNumber, classFileAStream); TestUtils.generateTestData(classFileAStream, 32); classFileAStream.close(); FileUtils.write(xmlFileB, xmlFileContent, StandardCharsets.UTF_8); FileUtils.touch(emptyFile); IOFileFilter filter = new MagicNumberFileFilter(classFileMagicNumber); assertFiltering(filter, classFileA, true); assertFiltering(filter, xmlFileB, false); assertFiltering(filter, emptyFile, false); assertFiltering(filter, dir, false); filter = FileFilterUtils.magicNumberFileFilter(classFileMagicNumber); assertFiltering(filter, classFileA, true); assertFiltering(filter, xmlFileB, false); assertFiltering(filter, emptyFile, false); assertFiltering(filter, dir, false); }
final File emptyDir = new File(getTestDirectory(), "empty-dir"); emptyDir.mkdirs(); assertFiltering(EmptyFileFilter.EMPTY, emptyDir, true);
@Test public void testFilterArrayNullParameters() throws Exception { final File fileA = TestUtils.newFile(getTestDirectory(), "A"); final File fileB = TestUtils.newFile(getTestDirectory(), "B"); try { FileFilterUtils.filter(null, fileA, fileB); fail(); } catch (final IllegalArgumentException iae) { // Test passes, exception thrown for null filter } final IOFileFilter filter = FileFilterUtils.trueFileFilter(); try { FileFilterUtils.filter(filter, fileA, null); fail(); } catch (final IllegalArgumentException iae) { // Test passes, exception thrown for list containing null } final File[] filtered = FileFilterUtils.filter(filter, (File[])null); assertEquals(0, filtered.length); }
@Test public void testSizeFilter() throws Exception { final File smallFile = new File(getTestDirectory(), "small.txt"); if (!smallFile.getParentFile().exists()) { throw new IOException("Cannot create file " + smallFile TestUtils.generateTestData(output1, 32); final File largeFile = new File(getTestDirectory(), "large.txt"); if (!largeFile.getParentFile().exists()) { throw new IOException("Cannot create file " + largeFile