1 package be
.nikiroo
.fanfix
.test
;
3 import java
.io
.IOException
;
4 import java
.io
.InputStream
;
6 import java
.util
.ArrayList
;
8 import java
.util
.Map
.Entry
;
10 import be
.nikiroo
.fanfix
.data
.MetaData
;
11 import be
.nikiroo
.fanfix
.data
.Paragraph
;
12 import be
.nikiroo
.fanfix
.data
.Paragraph
.ParagraphType
;
13 import be
.nikiroo
.fanfix
.supported
.BasicSupport
;
14 import be
.nikiroo
.utils
.test
.TestCase
;
15 import be
.nikiroo
.utils
.test
.TestLauncher
;
17 public class BasicSupportTest
extends TestLauncher
{
19 public BasicSupportTest(String
[] args
) {
20 super("BasicSupport", args
);
22 addSeries(new TestLauncher("General", args
) {
24 addTest(new TestCase("BasicSupport.makeParagraphs()") {
26 public void test() throws Exception
{
27 BasicSupportEmpty support
= new BasicSupportEmpty() {
29 protected boolean isHtml() {
34 public void fixBlanksBreaks(List
<Paragraph
> paras
) {
38 protected List
<Paragraph
> requotify(Paragraph para
) {
39 List
<Paragraph
> paras
= new ArrayList
<Paragraph
>(
46 List
<Paragraph
> paras
= null;
48 paras
= support
.makeParagraphs(null, "");
50 "An empty content should not generate paragraphs",
53 paras
= support
.makeParagraphs(null,
54 "Line 1</p><p>Line 2</p><p>Line 3</p>");
55 assertEquals(5, paras
.size());
56 assertEquals("Line 1", paras
.get(0).getContent());
57 assertEquals(ParagraphType
.BLANK
, paras
.get(1)
59 assertEquals("Line 2", paras
.get(2).getContent());
60 assertEquals(ParagraphType
.BLANK
, paras
.get(3)
62 assertEquals("Line 3", paras
.get(4).getContent());
64 paras
= support
.makeParagraphs(null,
65 "<p>Line1</p><p>Line2</p><p>Line3</p>");
66 assertEquals(6, paras
.size());
70 addTest(new TestCase("BasicSupport.removeDoubleBlanks()") {
72 public void test() throws Exception
{
73 BasicSupportEmpty support
= new BasicSupportEmpty() {
75 protected boolean isHtml() {
80 List
<Paragraph
> paras
= null;
84 "<p>Line1</p><p>Line2</p><p>Line3<br/><br><p></p>");
85 assertEquals(5, paras
.size());
89 "<p>Line1</p><p>Line2</p><p>Line3<br/><br><p></p>* * *");
90 assertEquals(5, paras
.size());
92 paras
= support
.makeParagraphs(null, "1<p>* * *<p>2");
93 assertEquals(3, paras
.size());
94 assertEquals(ParagraphType
.BREAK
, paras
.get(1)
97 paras
= support
.makeParagraphs(null,
98 "1<p><br/><p>* * *<p>2");
99 assertEquals(3, paras
.size());
100 assertEquals(ParagraphType
.BREAK
, paras
.get(1)
103 paras
= support
.makeParagraphs(null,
104 "1<p>* * *<br/><p><br><p>2");
105 assertEquals(3, paras
.size());
106 assertEquals(ParagraphType
.BREAK
, paras
.get(1)
109 paras
= support
.makeParagraphs(null,
110 "1<p><br/><br>* * *<br/><p><br><p>2");
111 assertEquals(3, paras
.size());
112 assertEquals(ParagraphType
.BREAK
, paras
.get(1)
120 private class BasicSupportEmpty
extends BasicSupport
{
122 protected String
getSourceName() {
127 protected boolean supports(URL url
) {
132 protected boolean isHtml() {
137 protected MetaData
getMeta(URL source
, InputStream in
)
143 protected String
getDesc(URL source
, InputStream in
) throws IOException
{
148 protected List
<Entry
<String
, URL
>> getChapters(URL source
,
149 InputStream in
) throws IOException
{
154 protected String
getChapterContent(URL source
, InputStream in
,
155 int number
) throws IOException
{
160 // and make it public!
161 public List
<Paragraph
> makeParagraphs(URL source
, String content
)
163 return super.makeParagraphs(source
, content
);
167 // and make it public!
168 public void fixBlanksBreaks(List
<Paragraph
> paras
) {
169 super.fixBlanksBreaks(paras
);