X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FFileUtilsTest.java;h=e977efaa32175e4e003a039b5dc2539bb3763869;hb=871535152992c147f2175c3006b6bec4615fead4;hp=35853b0945e55c1c8ad257011fd9585ac84d3b65;hpb=73e4b463a2257168a1155a96deb0a18a0e4ce162;p=jalview.git diff --git a/test/jalview/util/FileUtilsTest.java b/test/jalview/util/FileUtilsTest.java index 35853b0..e977efa 100644 --- a/test/jalview/util/FileUtilsTest.java +++ b/test/jalview/util/FileUtilsTest.java @@ -119,4 +119,54 @@ public class FileUtilsTest { "examples/uniref50.fa", 1, "/examples", "uniref50", ".fa" }, // }; } + + @Test(groups = "Functional", dataProvider = "convertWildcardsToPathData") + public void convertWildcardsToPathTest(String value, String wildcard, + String dirname, String basename, String path) + { + + Assert.assertEquals( + FileUtils.convertWildcardsToPath(value, wildcard, dirname, + basename), + path, "Conversion of wildcard output path is not right."); + + } + + @DataProvider(name = "convertWildcardsToPathData") + public Object[][] convertWildcardsToPathData() + { + return new Object[][] { + /* + * cmdline args + * Arg (null if only testing headless) + * String value if there is one (null otherwise) + * boolean value if String value is null + * expected value of isHeadless() + */ + /* + */ + { "*/*", "*", "{dirname}", "{basename}", "{dirname}/{basename}" }, + { "*/", "*", "{dirname}", "{basename}", "{dirname}/" }, + { "/*", "*", "{dirname}", "{basename}", "/{basename}" }, + { "*", "*", "{dirname}", "{basename}", "{basename}" }, + { "tmp/output/*/file-*.stk", "*", "{dirname}", "{basename}", + "tmp/output/{dirname}/file-{basename}.stk" }, + { "/*.file", "*", "{dirname}", "{basename}", "/{basename}.file" }, + { "*/file.stk", "*", "{dirname}", "{basename}", + "{dirname}/file.stk" }, + { "tmp/abc*def/file.stk", "*", "{dirname}", "{basename}", + "tmp/abc{dirname}def/file.stk" }, + { "a*b/c*d", "*", "{dirname}", "{basename}", + "a{dirname}b/c{basename}d" }, + { "a*b/c", "*", "{dirname}", "{basename}", "a{dirname}b/c" }, + { "a/b*c", "*", "{dirname}", "{basename}", "a/b{basename}c" }, + { "a*b", "*", "{dirname}", "{basename}", "a{basename}b" }, + { "aSTARb/cSTARd", "STAR", "BEFORE", "AFTER", "aBEFOREb/cAFTERd" }, + { "aSTARb/c", "STAR", "BEFORE", "AFTER", "aBEFOREb/c" }, + { "a/bSTARc", "STAR", "BEFORE", "AFTER", "a/bAFTERc" }, + { "aSTARb", "STAR", "BEFORE", "AFTER", "aAFTERb" }, + // + }; + } + }