1 8 9 package org.mmbase.util.transformers; 10 import org.mmbase.util.*; 11 import junit.framework.TestCase; 12 13 14 18 public class XmlFieldTest extends TestCase { 19 20 private String result; 21 private String expectedResult; 22 private String expectedListResult; 23 private XmlField xmlField; 24 private String comment; 25 private String listData; 26 private boolean leaveExtraNewLines; 27 private boolean surroundingP; 28 private boolean placeListsInsideP; 29 30 31 public XmlFieldTest() { 32 xmlField = new XmlField(); 33 } 34 35 protected String ignoreNL(StringObject in) { 36 return in.toString().replaceAll("\r", "").replaceAll("\n", ""); 37 } 38 39 protected String 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 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 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 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 111 public void listTest() { 112 StringObject in = new StringObject(listData); 113 XmlField.handleList(in); 114 String 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 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 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 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 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 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 |