public static WildcardFindFile create() { return new WildcardFindFile(); }
public static WildcardFindFile createWildcardFF() { return new WildcardFindFile(); } public static RegExpFindFile createRegExpFF() {
@Test void testFindAll() { List<File> foundedFiles = new WildcardFindFile() .include("**/*file/a*") .recursive(true) .includeDirs(true) .searchPath(dataRoot) .findAll(); assertEquals(2, foundedFiles.size()); List<String> names = foundedFiles.stream().map(File::getName).collect(Collectors.toList()); assertTrue(names.contains("a.png")); assertTrue(names.contains("a.txt")); }
/** * 13s */ @Test void testLiveHtmls() throws IOException { FindFile ff = new WildcardFindFile().include("**/*.html"); ff.searchPath(testLiveRoot); File file; boolean processed = false; while ((file = ff.nextFile()) != null) { processed = true; String name = file.getName(); System.out.println('+' + name); String content = FileUtil.readString(file); try { _parseEmpty(content); } catch (Exception ex) { ex.printStackTrace(); fail(ex.toString()); } } assertTrue(processed); }
@Test void testWildcardPath() { FindFile ff = new WildcardFindFile() .include("**/file/*") .recursive(true) .includeDirs(true) .searchPath(dataRoot); int countDirs = 0; int countFiles = 0; File f; while ((f = ff.nextFile()) != null) { if (f.isDirectory()) { countDirs++; } else { countFiles++; String path = f.getAbsolutePath(); path = FileNameUtil.separatorsToUnix(path); if (!path.startsWith("/")) { path = '/' + path; } boolean matched = path.equals(dataRoot + "/file/a.png") || path.equals(dataRoot + "/file/a.txt"); assertTrue(matched); } } assertEquals(0, countDirs); assertEquals(2, countFiles); }
private void _testHtmls(String root) throws IOException { FindFile ff = new WildcardFindFile().include("**/*.*ml"); long reps = 1;
@Test void testDecoraParser() throws IOException { DecoraParser decoraParser = new DecoraParser(); FindFile ff = new WildcardFindFile().include("*.*ml"); ff.matchType(FindFile.Match.NAME); ff.searchPath(testDataRoot); File file; while ((file = ff.nextFile()) != null) { System.out.println("+" + file.getName()); char[] page = FileUtil.readString(file).toCharArray(); String decoratorFileName = StringUtil.replace(file.getAbsolutePath(), ".html", "-decora.htm"); char[] decorator = FileUtil.readString(decoratorFileName).toCharArray(); FastCharArrayWriter writer = new FastCharArrayWriter(); decoraParser.decorate(writer, page, decorator); String out = writer.toString(); String outFileName = StringUtil.replace(file.getAbsolutePath(), ".html", "-out.htm"); String outExpected = FileUtil.readString(outFileName); assertEquals(trimLines(outExpected), trimLines(out)); } }
@Test void testTwoAccept() { FindFile ff = new WildcardFindFile() .include("**/*file/a.png") .include("**/*file/a.txt") .recursive(true) .includeDirs(true) .searchPath(dataRoot); final MutableInteger countFiles = new MutableInteger(); final MutableInteger countDirs = new MutableInteger(); ff.forEach(f -> { if (f.isDirectory()) { countDirs.value++; } else { countFiles.value++; String path = f.getAbsolutePath(); path = FileNameUtil.separatorsToUnix(path); if (!path.startsWith("/")) { path = '/' + path; } boolean matched = path.equals(dataRoot + "/file/a.png") || path.equals(dataRoot + "/file/a.txt"); assertTrue(matched); } }); assertEquals(0, countDirs.value); assertEquals(2, countFiles.value); }
@Test void testWildcardFile() { FindFile ff = new WildcardFindFile() .include("**/*file/a*") .recursive(true)
@Test void testNotFound() { WildcardFindFile wff = new WildcardFindFile(); wff.includeDirs(true); wff.includeFiles(true); wff.recursive(true); wff.walking(true); wff.searchPath(dataRoot + "/beta"); wff.searchPath(dataRoot + "/sumo"); wff.matchType(WildcardFindFile.Match.FULL_PATH); wff.include("**/xxxxxxx/*"); int count = 0; while (wff.nextFile() != null) { count++; } assertEquals(0, count); }
@Test void testTwoRoots() { FindFile ff = new WildcardFindFile() .includeDirs(true) .includeFiles(true) .recursive(true) .walking(true) .searchPath(dataRoot + "/beta") .searchPath(dataRoot + "/sumo") .include("**"); int count = 0; while (ff.nextFile() != null) { count++; } assertEquals(5, count); ff.reset(); ff.includeDirs(false); count = 0; while (ff.nextFile() != null) { count++; } assertEquals(3, count); }
@Test void testTwoRootsAndWildcardMatchTypes() { WildcardFindFile wff = new WildcardFindFile(); wff.includeDirs(true); wff.includeFiles(true);
public static WildcardFindFile createWildcardFF() { return new WildcardFindFile(); } public static RegExpFindFile createRegExpFF() {
public static WildcardFindFile create() { return new WildcardFindFile(); }
/** * Returns list of static files that matches to the specified glob that * does not match the excludes pattern. */ public static List<File> globFiles( File rootFolder, List<String> glob, List<String> excludes) { WildcardFindFile findFile = new WildcardFindFile() .setMatchType(FindFile.Match.RELATIVE_PATH) .setRecursive(true) .searchPath(rootFolder); glob.forEach(findFile::include); if (excludes != null) { excludes.forEach(findFile::exclude); } List<File> files = new ArrayList<>(); findFile.iterator().forEachRemaining(files::add); return files; }