KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > util > transformers > XmlFieldTest


1 /*
2  * Tests for org.mmbase.util.transformers.XmlField
3  * Currently only tests a small part of the XmlField functionality.
4  * TODO: implement complete test.
5  *
6  * @author Simon Groenewolt (simon@submarine.nl)
7  */

8
9 package org.mmbase.util.transformers;
10 import org.mmbase.util.*;
11 import junit.framework.TestCase;
12
13
14 /**
15  *
16  * @author Administrator
17  */

18 public class XmlFieldTest extends TestCase {
19
20     private String JavaDoc result;
21     private String JavaDoc expectedResult;
22     private String JavaDoc expectedListResult;
23     private XmlField xmlField;
24     private String JavaDoc comment;
25     private String JavaDoc listData;
26     private boolean leaveExtraNewLines;
27     private boolean surroundingP;
28     private boolean placeListsInsideP;
29
30     /** Creates a new instance of XmlFieldTest */
31     public XmlFieldTest() {
32         xmlField = new XmlField();
33     }
34
35     protected String JavaDoc ignoreNL(StringObject in) {
36         return in.toString().replaceAll("\r", "").replaceAll("\n", "");
37     }
38
39     protected String JavaDoc showNL(StringObject in) {
40         return in.toString().replaceAll("\r", "R").replaceAll("\n", "N");
41     }
42
43     public void testWikiToXML() {
44         XmlField xmlField = new XmlField();
45         result = xmlField.wikiToXML("hallo");
46         expectedResult = "<p>hallo</p>";
47         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
48     }
49
50     public void testRichToHTMLBlock1() {
51
52         result = xmlField.richToHTMLBlock("");
53         expectedResult = "<p></p>";
54         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
55     }
56
57     public void testRichToHTMLBlock1a() {
58
59         result = xmlField.richToHTMLBlock("hallo");
60         expectedResult = "<p>hallo</p>";
61         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
62     }
63
64     public void testRichToHTMLBlock2() {
65         result = xmlField.richToHTMLBlock("hallo\n\nhallo");
66         expectedResult = "<p>hallo</p><p>hallo</p>";
67         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
68     }
69
70     public void testRichToHTMLBlock3() {
71         // input:
72
// hallo
73
// -eending
74
// -nogeending
75
// hallo
76
// result = xmlField.richToHTMLBlock("hallo\n-eending\n-nogeending\nhallo");
77
StringObject in = new StringObject("hallo\n-eending\n-nogeending\nhallo");
78         xmlField.handleRich(in, false, false, true, true);
79         result = ignoreNL(in);
80         expectedResult = "<p>hallo<ul><li>eending</li><li>nogeending</li></ul>hallo</p>";
81         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
82     }
83
84     public void testRichToHTMLBlock4() {
85         // input:
86
// hallo
87
//
88
// -eending
89
// -nogeending
90
//
91
// hallo
92
result = xmlField.richToHTMLBlock("hallo\n\n-eending\n-nogeending\n\nhallo");
93         expectedResult = "<p>hallo</p><p><ul><li>eending</li><li>nogeending</li></ul></p><p>hallo</p>";
94         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
95     }
96
97     public void testRichToHTMLBlock5() {
98         // input:
99
// hallo
100
// *eending
101
// *nogeending
102
// hallo
103
result = xmlField.richToHTMLBlock("hallo\n*eending\n*nogeending\nhallo");
104         expectedResult = "<p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>";
105         assertTrue("\n" + expectedResult + "\n!=\n" + result, expectedResult.equals(result));
106     }
107
108     /**
109      * Tests handling lists only
110      */

111     public void listTest() {
112         StringObject in = new StringObject(listData);
113         XmlField.handleList(in);
114         String JavaDoc list = showNL(in);
115         result =ignoreNL(in);
116         assertTrue("\n"+ comment + listData + ":\n" + expectedListResult + "\nexpected, but found\n" + result, expectedListResult.equals(result));
117         XmlField.handleParagraphs(in, leaveExtraNewLines, surroundingP, placeListsInsideP);
118         result =ignoreNL(in);
119         assertTrue("\n"+ comment + ":\n"+ listData + " (" + list + "):\n" +
120            expectedResult + "\nexpected, but found\n" + result, expectedResult.equals(result));
121     }
122
123     /**
124      * Tests handling lists only
125      */

126     public void testHandleListTTF() {
127         comment = "HTML_BLOCK_LIST_BR";
128         leaveExtraNewLines = true;
129         surroundingP = true;
130         placeListsInsideP = false;
131
132         listData = "-a\n-b\n-c";
133         expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
134         expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
135         listTest();
136
137         listData = "Hallo\n-x\n-y\n-z\nhallo";
138         expectedListResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
139         expectedResult = "<p>Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo</p>";
140         listTest();
141
142         listData = "\n\n-x\n-y\n-z\n\n";
143         expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
144         expectedResult = "<p></p><ul><li>x</li><li>y</li><li>z</li></ul><p></p>";
145         listTest();
146     }
147
148     /**
149      * Tests handling lists only
150      */

151     public void testHandleListTFF() {
152         comment = "HTML_BLOCK_LIST_BR_NOSURROUNDINGP";
153         leaveExtraNewLines = true;
154         surroundingP = false;
155         placeListsInsideP = false;
156
157         listData = "-a\n-b\n-c";
158         expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
159         expectedResult = "</p><ul><li>a</li><li>b</li><li>c</li></ul><p>";
160         listTest();
161
162         listData = "Hallo\n-x\n-y\n-z\nhallo";
163         expectedListResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
164         expectedResult = "Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo";
165         listTest();
166
167         listData = "\n\n-x\n-y\n-z\n\n";
168         expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
169         expectedResult = "</p><ul><li>x</li><li>y</li><li>z</li></ul><p>";
170         listTest();
171     }
172
173     /**
174      * Tests handling lists only
175      */

176     public void testHandleListTTT() {
177         comment = "HTML_BLOCK_BR";
178         leaveExtraNewLines = true;
179         surroundingP = true;
180         placeListsInsideP = true;
181
182         listData = "-a\n-b\n-c";
183         expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
184         expectedResult = "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>";
185 // listTest();
186

187         listData = "Hallo\n-x\n-y\n-z\nhallo";
188         expectedListResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
189         expectedResult = "<p>Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo</p>";
190         listTest();
191
192         listData = "\n\n-x\n-y\n-z\n\n";
193         expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
194         expectedResult = "<p></p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p></p>";
195         listTest();
196     }
197
198     /**
199      * Tests handling lists only
200      */

201     public void testHandleListTFT() {
202         comment = "HTML_BLOCK_BR_NOSURROUNDINGP";
203         leaveExtraNewLines = true;
204         surroundingP = false;
205         placeListsInsideP = true;
206
207         listData = "-a\n-b\n-c";
208         expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
209         expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
210         listTest();
211
212         listData = "Hallo\n-x\n-y\n-z\nhallo";
213         expectedListResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
214         expectedResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
215         listTest();
216
217         listData = "\n\n-x\n-y\n-z\n\n";
218         expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
219         expectedResult = "</p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p>";
220         listTest();
221     }
222
223
224 }
225
Popular Tags