X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Ftest%2FConversionTest.java;h=d932782e29756657ab29117fb0427c693267d145;hb=c2f96f372ee98b3745ad0c7f1dbb1a81ad7c4a7d;hp=07ec7478006a1ea1c4487d11c4f0e99cd01ff074;hpb=e4fa48a0b617e0a5368e8e8589909ae93c340447;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/test/ConversionTest.java b/src/be/nikiroo/fanfix/test/ConversionTest.java index 07ec747..d932782 100644 --- a/src/be/nikiroo/fanfix/test/ConversionTest.java +++ b/src/be/nikiroo/fanfix/test/ConversionTest.java @@ -6,7 +6,10 @@ import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -24,10 +27,20 @@ class ConversionTest extends TestLauncher { private File testFile; private File expectedDir; private File resultDir; + private List realTypes; + private Map> skipCompare; public ConversionTest(String[] args) { super("Conversion", args); + // Special mode SYSOUT is not a file type (System.out) + realTypes = new ArrayList(); + for (BasicOutput.OutputType type : BasicOutput.OutputType.values()) { + if (!BasicOutput.OutputType.SYSOUT.equals(type)) { + realTypes.add(type); + } + } + addTest(new TestCase("Read the test file") { @Override public void test() throws Exception { @@ -48,11 +61,8 @@ class ConversionTest extends TestLauncher { } }); - for (BasicOutput.OutputType type : BasicOutput.OutputType.values()) { - // NOT for special mode SYSOUT - if (!BasicOutput.OutputType.SYSOUT.equals(type)) { - addTest(getTestFor(type)); - } + for (BasicOutput.OutputType type : realTypes) { + addTest(getTestFor(type)); } } @@ -63,6 +73,15 @@ class ConversionTest extends TestLauncher { resultDir = new File("test/result/"); tempFiles = new TempFiles("Fanfix-ConversionTest"); + + skipCompare = new HashMap>(); + skipCompare.put("epb.ncx", + Arrays.asList(" ", + " ")); + skipCompare.put(".info", + Arrays.asList("CREATION_DATE=", "SUBJECT=", "URL=", "UUID=")); + skipCompare.put("URL", Arrays.asList("file:/")); } @Override @@ -81,21 +100,17 @@ class ConversionTest extends TestLauncher { // Check conversion: compareFiles(this, expectedDir, resultDir, type, null); - // Cross-checks: - // LATEX not supported as input - if (!BasicOutput.OutputType.LATEX.equals(type)) { - for (BasicOutput.OutputType crossType : BasicOutput.OutputType - .values()) { - // NOT for special mode SYSOUT - if (!BasicOutput.OutputType.SYSOUT.equals(crossType)) { - File crossDir = tempFiles - .createTempDir("cross-result"); - generate(this, target, crossDir, crossType); - compareFiles(this, crossDir, resultDir, crossType, - crossType); - } - } + if (BasicOutput.OutputType.LATEX.equals(type)) { + return; + } + + // Cross-checks: + for (BasicOutput.OutputType crossType : realTypes) { + File crossDir = tempFiles.createTempDir("cross-result"); + generate(this, target, crossDir, crossType); + compareFiles(this, resultDir, crossDir, crossType, + crossType); } } }; @@ -213,13 +228,14 @@ class ConversionTest extends TestLauncher { String resultLine = resultLines.get(j); boolean skip = false; - for (String skipStart : new String[] { "CREATION_DATE=", - "SUBJECT=", "URL=", "UUID=" }) { - if (name.endsWith(".info") - && expectedLine.startsWith(skipStart) - && resultLine.startsWith(skipStart)) { - // TODO: check the format? - skip = true; + for (Entry> skipThose : skipCompare + .entrySet()) { + for (String skipStart : skipThose.getValue()) { + if (name.endsWith(skipThose.getKey()) + && expectedLine.startsWith(skipStart) + && resultLine.startsWith(skipStart)) { + skip = true; + } } }