X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Ftest%2FBasicSupportTest.java;fp=src%2Fbe%2Fnikiroo%2Ffanfix%2Ftest%2FBasicSupportTest.java;h=ed585d983fb2512f3494f3871c0ee4740f4c5132;hb=68e370a441d8e6b10bfaa904ecacb29e7d6160d8;hp=0000000000000000000000000000000000000000;hpb=3b2b638f7e1395702f843b5b19d7959327f604b2;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/test/BasicSupportTest.java b/src/be/nikiroo/fanfix/test/BasicSupportTest.java new file mode 100644 index 0000000..ed585d9 --- /dev/null +++ b/src/be/nikiroo/fanfix/test/BasicSupportTest.java @@ -0,0 +1,172 @@ +package be.nikiroo.fanfix.test; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map.Entry; + +import be.nikiroo.fanfix.data.MetaData; +import be.nikiroo.fanfix.data.Paragraph; +import be.nikiroo.fanfix.data.Paragraph.ParagraphType; +import be.nikiroo.fanfix.supported.BasicSupport; +import be.nikiroo.utils.test.TestCase; +import be.nikiroo.utils.test.TestLauncher; + +public class BasicSupportTest extends TestLauncher { + + public BasicSupportTest(String[] args) { + super("BasicSupport", args); + + addSeries(new TestLauncher("General", args) { + { + addTest(new TestCase("BasicSupport.makeParagraphs()") { + @Override + public void test() throws Exception { + BasicSupportEmpty support = new BasicSupportEmpty() { + @Override + protected boolean isHtml() { + return true; + } + + @Override + public void fixBlanksBreaks(List paras) { + } + + @Override + protected List requotify(Paragraph para) { + List paras = new ArrayList( + 1); + paras.add(para); + return paras; + } + }; + + List paras = null; + + paras = support.makeParagraphs(null, ""); + assertEquals( + "An empty content should not generate paragraphs", + 0, paras.size()); + + paras = support.makeParagraphs(null, + "Line 1

Line 2

Line 3

"); + assertEquals(5, paras.size()); + assertEquals("Line 1", paras.get(0).getContent()); + assertEquals(ParagraphType.BLANK, paras.get(1) + .getType()); + assertEquals("Line 2", paras.get(2).getContent()); + assertEquals(ParagraphType.BLANK, paras.get(3) + .getType()); + assertEquals("Line 3", paras.get(4).getContent()); + + paras = support.makeParagraphs(null, + "

Line1

Line2

Line3

"); + assertEquals(6, paras.size()); + } + }); + + addTest(new TestCase("BasicSupport.removeDoubleBlanks()") { + @Override + public void test() throws Exception { + BasicSupportEmpty support = new BasicSupportEmpty() { + @Override + protected boolean isHtml() { + return true; + } + }; + + List paras = null; + + paras = support + .makeParagraphs(null, + "

Line1

Line2

Line3

"); + assertEquals(5, paras.size()); + + paras = support + .makeParagraphs(null, + "

Line1

Line2

Line3

* * *"); + assertEquals(5, paras.size()); + + paras = support.makeParagraphs(null, "1

* * *

2"); + assertEquals(3, paras.size()); + assertEquals(ParagraphType.BREAK, paras.get(1) + .getType()); + + paras = support.makeParagraphs(null, + "1


* * *

2"); + assertEquals(3, paras.size()); + assertEquals(ParagraphType.BREAK, paras.get(1) + .getType()); + + paras = support.makeParagraphs(null, + "1

* * *


2"); + assertEquals(3, paras.size()); + assertEquals(ParagraphType.BREAK, paras.get(1) + .getType()); + + paras = support.makeParagraphs(null, + "1



* * *


2"); + assertEquals(3, paras.size()); + assertEquals(ParagraphType.BREAK, paras.get(1) + .getType()); + } + }); + } + }); + } + + private class BasicSupportEmpty extends BasicSupport { + @Override + protected String getSourceName() { + return null; + } + + @Override + protected boolean supports(URL url) { + return false; + } + + @Override + protected boolean isHtml() { + return false; + } + + @Override + protected MetaData getMeta(URL source, InputStream in) + throws IOException { + return null; + } + + @Override + protected String getDesc(URL source, InputStream in) throws IOException { + return null; + } + + @Override + protected List> getChapters(URL source, + InputStream in) throws IOException { + return null; + } + + @Override + protected String getChapterContent(URL source, InputStream in, + int number) throws IOException { + return null; + } + + @Override + // and make it public! + public List makeParagraphs(URL source, String content) + throws IOException { + return super.makeParagraphs(source, content); + } + + @Override + // and make it public! + public void fixBlanksBreaks(List paras) { + super.fixBlanksBreaks(paras); + } + } +}