X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fgofetch%2Ftest%2FTestBase.java;h=dbc6952a6e03c1a2db2a244175b83655cf9c1a75;hb=6e234797ebb6bf2ba83e6e36d95c84cd176091db;hp=e8bfde089785b1ce73408430aa5c4a850320f169;hpb=a71d4075a8591b0655277b1a0e606ee48d228869;p=gofetch.git diff --git a/src/be/nikiroo/gofetch/test/TestBase.java b/src/be/nikiroo/gofetch/test/TestBase.java index e8bfde0..dbc6952 100644 --- a/src/be/nikiroo/gofetch/test/TestBase.java +++ b/src/be/nikiroo/gofetch/test/TestBase.java @@ -13,57 +13,81 @@ import be.nikiroo.gofetch.output.Gopher; import be.nikiroo.gofetch.output.Html; import be.nikiroo.gofetch.output.Output; import be.nikiroo.gofetch.support.BasicSupport; +import be.nikiroo.utils.Cache; +import be.nikiroo.utils.Downloader; import be.nikiroo.utils.IOUtils; import be.nikiroo.utils.test.TestCase; -import be.nikiroo.utils.test.TestLauncher; /** * Base class for {@link BasicSupport}s testing. + *

+ * It will use the paths: + *

* * @author niki */ -abstract class TestBase extends TestLauncher { +abstract class TestBase extends TestCase { + private BasicSupport support; + private Cache cache; + private Downloader downloader; + public TestBase(BasicSupport support, String[] args) { - super(support.getType().toString(), args); - addTest(support); + super(support.getType().toString()); + this.support = support; + try { + cache = new Cache(new File("test/source/" + support.getType()), -1, + -1); + downloader = new Downloader("gofetch", cache); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + protected InputStream download(URL url) throws IOException { + return downloader.open(url); } - static protected InputStream doOpen(Map map, URL url) - throws IOException { + static protected InputStream doOpen(BasicSupport support, + Map map, URL url) throws IOException { File file = map.get(url); if (file == null) { throw new FileNotFoundException("Test file not found for URL: " + url); } - return new FileInputStream(file); + return new FileInputStream("test/source/" + support.getType() + "/" + + file); } - private void addTest(final BasicSupport support) { - addTest(new TestCase("Processing example data") { - @Override - public void test() throws Exception { - File expected = new File("test/expected/" + support.getType()); - File actual = new File("test/result/" + support.getType()); + @Override + public void test() throws Exception { + File expected = new File("test/expected/" + support.getType()); + File actual = new File("test/result/" + support.getType()); + + IOUtils.deltree(actual); + expected.mkdirs(); + actual.mkdirs(); - Output gopher = new Gopher(support.getType(), "", "", 70); - Output html = new Html(support.getType(), "", "", 80); + Output gopher = new Gopher(support.getType(), "", "", 70); + Output html = new Html(support.getType(), "", "", 80); - for (Story story : support.list()) { - IOUtils.writeSmallFile(new File(actual, story.getId() - + ".header"), gopher.exportHeader(story)); - IOUtils.writeSmallFile( - new File(actual, story.getId() + ""), - gopher.export(story)); - IOUtils.writeSmallFile(new File(actual, story.getId() - + ".header.html"), html.exportHeader(story)); - IOUtils.writeSmallFile(new File(actual, story.getId() - + ".html"), html.export(story)); - } + for (Story story : support.list()) { + support.fetch(story); + IOUtils.writeSmallFile(new File(actual, story.getId() + ".header"), + gopher.exportHeader(story)); + IOUtils.writeSmallFile(new File(actual, story.getId() + ""), + gopher.export(story)); + IOUtils.writeSmallFile(new File(actual, story.getId() + + ".header.html"), html.exportHeader(story)); + IOUtils.writeSmallFile(new File(actual, story.getId() + ".html"), + html.export(story)); + } - assertEquals(expected, actual); - } - }); + assertEquals(expected, actual); } }