Author: michiel
Date: 2010-02-19 23:30:09 +0100 (Fri, 19 Feb 2010)
New Revision: 41146
Added:
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
Removed:
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
Log:
moved some test-cases
Copied:
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
(from rev 41145,
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/TagStripperTest.java)
===================================================================
---
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
(rev 0)
+++
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
2010-02-19 22:30:09 UTC (rev 41146)
@@ -0,0 +1,73 @@
+package org.mmbase.util.transformers;
+
+import java.util.*;
+import java.io.*;
+import org.mmbase.util.*;
+import org.mmbase.util.functions.*;
+import java.util.*;
+import org.junit.*;
+import static org.junit.Assert.*;
+
+/**
+ * @author Michiel Meeuwissen
+ * @version $Id$
+ */
+public class TagStripperTest {
+
+ private static final TagStripperFactory FACTORY = new TagStripperFactory();
+
+
+ protected CharTransformer getXSS() {
+ Parameters params = FACTORY.createParameters();
+ params.set(TagStripperFactory.TAGS, "XSS");
+ params.set(TagStripperFactory.ADD_BRS, false);
+ params.set(TagStripperFactory.ESCAPE_AMPS, true);
+ CharTransformer transformer = FACTORY.createTransformer(params);
+ return transformer;
+ }
+
+ @Test
+ public void simple() {
+ Parameters params = FACTORY.createParameters();
+ CharTransformer stripper = FACTORY.createTransformer(params);
+ assertEquals("aaa", stripper.transform("<p>aaa</p>"));
+ assertEquals("aaa", stripper.transform("<p>aaa\n</p>"));
+ assertEquals("aaa", stripper.transform("<p>aaa"));
+ assertEquals("aaa", stripper.transform("<p>aaa"));
+ assertEquals("aaa", stripper.transform("<p>aaa"));
+ assertEquals("aaa", stripper.transform("<p><a>aaa</a></p>"));
+ assertEquals("aaa <p />", stripper.transform("<p>aaa\n<p /></p>
"));
+
+
+ }
+
+ @Test
+ public void xss() {
+ CharTransformer xss = getXSS();
+ assertEquals("<p style=\"nanana\">allow this <b>and this</b></p>",
xss.transform("<p style=\"nanana\">allow this <b>and this</b></p>"));
+ assertEquals("<p>allow this <b>and this</b></p>", xss.transform("<p
onclick=\"nanana\">allow this <b>and this</b></p>"));
+ assertEquals("<p>allow this</p>", xss.transform("<p>allow this<script
language='text/javascript'>bj aja </script>\n</p>"));
+ assertEquals("<p>allow this<a>foobar</a></p>", xss.transform("<p>allow
this<a href=\"javascript:alert('hoi');\">foobar</a></p>"));
+
+ }
+
+
+ @Test
+ public void addBrs() {
+ Parameters params = FACTORY.createParameters();
+ params.set(TagStripperFactory.ADD_BRS, true);
+ CharTransformer stripper = FACTORY.createTransformer(params);
+ assertEquals("aaa<br class='auto' />bbb",
stripper.transform("<p>aaa\nbbb</p>"));
+ }
+
+ @Test
+ public void addNewlines() {
+ Parameters params = FACTORY.createParameters();
+ params.set(TagStripperFactory.ADD_NEWLINES, true);
+ CharTransformer stripper = FACTORY.createTransformer(params);
+ assertEquals("aaa\n\nbbb", stripper.transform("<p>aaa</p><p>bbb</p>"));
+ assertEquals("aaa\nbbb", stripper.transform("<p>aaa<br />bbb</p>"));
+ assertEquals("aaa\nbbb", stripper.transform("<p>aaa<br>bbb</p>"));
+ }
+
+}
Copied:
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
(from rev 41145,
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java)
===================================================================
---
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
(rev 0)
+++
mmbase/trunk/core/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
2010-02-19 22:30:09 UTC (rev 41146)
@@ -0,0 +1,435 @@
+package org.mmbase.util.transformers;
+import org.mmbase.util.*;
+import java.util.*;
+import junit.framework.TestCase;
+
+/**
+ * Tests for org.mmbase.util.transformers.XmlField
+ * Currently only tests a small part of the XmlField functionality.
+ *
+ * @author Simon Groenewolt ([email protected])
+ * @author Michiel Meeuwissen
+ * @version $Id$
+ */
+public class XmlFieldTest extends TestCase {
+
+ private String result;
+ private String expectedResult;
+ private String expectedListResult;
+ private String comment;
+ private String listData;
+ private boolean leaveExtraNewLines;
+ private boolean surroundingP;
+ private boolean placeListsInsideP;
+
+ /** Creates a new instance of XmlFieldTest */
+ public XmlFieldTest() {
+ }
+
+ protected String ignoreNL(StringObject in) {
+ return in.toString().replaceAll("\r", "").replaceAll("\n", "");
+ }
+
+ protected static UnicodeEscaper unicode = new UnicodeEscaper();
+ static {
+ unicode.setEscapeLow(true);
+ }
+
+ protected String showNL(StringObject in) {
+ return unicode.transform(in.toString());
+ }
+
+ public void testRichToHTMLBlock1() {
+
+ result = XmlField.richToHTMLBlock("");
+ expectedResult = "<p></p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+ }
+
+ public void testRichToHTMLBlock1a() {
+
+ result = XmlField.richToHTMLBlock("hallo");
+ expectedResult = "<p>hallo</p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+ }
+
+ public void testRichToHTMLBlock2() {
+ result = XmlField.richToHTMLBlock("hallo\n\nhallo");
+ expectedResult = "<p>hallo</p><p>hallo</p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+ }
+
+ public void testRichToHTMLBlock3() {
+ // input:
+ // hallo
+ // -eending
+ // -nogeending
+ // hallo
+// result =
xmlField.richToHTMLBlock("hallo\n-eending\n-nogeending\nhallo");
+ StringObject in = new StringObject("hallo\n- eending\n-
nogeending\nhallo");
+ XmlField.handleRich(in,
+ XmlField.NO_SECTIONS,
+ XmlField.REMOVE_NEWLINES,
+ XmlField.SURROUNDING_P,
+ XmlField.LISTS_INSIDE_P);
+ result = ignoreNL(in);
+ expectedResult =
"<p>hallo<ul><li>eending</li><li>nogeending</li></ul>hallo</p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+ }
+
+ public void testRichToHTMLBlock4() {
+ // input:
+ // hallo
+ //
+ // -eending
+ // -nogeending
+ //
+ // hallo
+ result = XmlField.richToHTMLBlock("hallo\n\n- eending\n-
nogeending\n\nhallo");
+ expectedResult =
"<p>hallo</p><p><ul><li>eending</li><li>nogeending</li></ul></p><p>hallo</p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+ }
+
+ public void testRichToHTMLBlock5() {
+ // input:
+ // hallo
+ // *eending
+ // *nogeending
+ // hallo
+ result = XmlField.richToHTMLBlock("hallo\n* eending\n*
nogeending\nhallo");
+ expectedResult =
"<p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>";
+ assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
+
+ }
+ public static int IN = 0;
+ public static int AFTER_PREHANDLE_HEADERS = 1;
+ public static int AFTER_HANDLE_LIST = 2;
+ public static int AFTER_HANDLE_TABLES = 3;
+ public static int AFTER_HANDLE_PARAGRAPHS = 4;
+ public static int AFTER_HANDLE_HEADERS = 5;
+ public static int AFTER_HANDLE_EM = 6;
+ public static int AFTER_NEWLINES = 7;
+
+ public static String[][] RICH_TO_XML_CASES = {
+ {"$TITEL\nhallo\n* eending\n* nogeending\nhallo",
//IN
+ "$TITEL\nhallo\n* eending\n* nogeending\nhallo",
// PREHANDLE_HEADERS
+ "$TITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// LIST
+ "$TITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// TABLES
+
"<p>$TITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>",
// PARAGRAGPS
+
"<section><h>TITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p></section>",
// HEADERS
+ null,
+ null
+ },
+
+ {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\nhallo",
+ "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\nhallo",
// PRE_HANDLE
+
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// LIST
+
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// TABLES
+
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>",
// PARAGRAPHS
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p></section></section>",
// HEADERS
+ null,
+ null
+ },
+ {"$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// IN
+ "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// PRE_HANDLE
+ "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// LIST
+ "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// TABLES
+
"<p>$TITEL</p><p>$$SUBTITEL</p><p>_test_\neenalinea</p><p>nogeenalinea</p><p>hallo</p>",
// PARAGRAPHS
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>_test_\neenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>",
// HEADERS
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><em>test</em>\neenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>",
+ "<section><h>TITEL</h><section><h>SUBTITEL</h><p><em>test</em><br
/>eenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>"
+ },
+ {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending",
+ "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending",
// PRE
+
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>",
//LIST
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol></p>",
// PARAGRAPHS
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p></section></section>",
// HEADERS
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p></section></section>",
+ null
+ },
+
+ {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\n\nbla bla",
+ "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\n\nbla bla",
+
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\n\nbla
bla", // LIST
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol></p><p>bla
bla</p>", // PARAGRAPH
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p><p>bla
bla</p></section></section>", // HEADERS
+ null,
+ null
+ },
+
+ {"$TITEL\n\n$$SUBTITEL\n*hallo* hoe gaat het",
+ "$TITEL\n\n$$SUBTITEL\n\n*hallo* hoe gaat het",
// EM starting the paragraph, is fixed by PRE
+ null,
+ null,
+ "<p>$TITEL</p><p>$$SUBTITEL</p><p>*hallo* hoe gaat het</p>",
// PARAGRAPH
+ "<section><h>TITEL</h><section><h>SUBTITEL</h><p>*hallo* hoe gaat
het</p></section></section>", // SECTION
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><strong>hallo</strong> hoe
gaat het</p></section></section>", // EM
+ null
+ },
+
+ {"$TITEL\n\n$$SUBTITEL\n* a\n* b\n* c",
+ "$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c",
//MMB-1654
+ "$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>",
//LIST
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p>",
//P
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
//H
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
+ null
+ }
+ ,
+ {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c",
+ null,
+ "$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>",
//L
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p>",
//P
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
//H
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
+ null
+ },
+ {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c\nbla",
+ null,
+
"$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>\nbla", // L
TODO, I think the \n before bla is incorrect
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p>",
// P
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p></section></section>",
// H
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p></section></section>",
+ null
+ },
+ {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c\n\nbloe",
+ null,
+
"$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>\n\nbloe", // L
+ null,
+
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p>",
// P
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p></section></section>",
// H
+
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p></section></section>",
+ null
+ },
+ {"* a\n* b\n* c\n*d",
+ null,
+ "<ol><li>a</li><li>b</li><li>c</li></ol>\n*d", // L
+ null, // T
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // P
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // H
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // EM
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>*d</p>", // NL
+ },
+ {// Starting input with new list
+ "* a\n* b\n* c\n*",
+ null,
+ "<ol><li>a</li><li>b</li><li>c</li></ol>\n*", // L
+ null, // T
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // P
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // H
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // EM
+ "<p><ol><li>a</li><li>b</li><li>c</li></ol>*</p>" // NL
+ },
+ {// List, starting with NL, UL-lists
+ "\n- a\n- b\n- c",
+ null,
+ "\n<ul><li>a</li><li>b</li><li>c</li></ul>", // L
+ null, // T
+ "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // P
+ "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // H
+ "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // EM
+ "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>" // NL
+ }
+ ,
+ {// Lists in lists
+ "* a\n* b\n** b1\n** b2\n* c",
+ null,
+
"<ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol>", // L
+ null,
// T
+
"<p><ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol></p>",
//P
+ null, // H
+ null, //EM
+
"<p><ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol></p>"
//NL
+ },
+ {// Lists in lists, two different ones
+ "* b\n* b\n*- b1\n*- b2\n* c",
+ null,
+
"<ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol>", // L
+ null,
// T
+
"<p><ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol></p>",
//P
+ null, // H
+ null, //EM
+
"<p><ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol></p>"
//NL
+ }
+
+ };
+
+
+
+ protected StringObject testRich(List<String> errors, StringObject in,
String expectedResult, String intro) {
+ if (expectedResult != null && in != null) {
+ String result = in.toString();
+ if (! expectedResult.equals(result)) {
+ errors.add("\n\n" + intro + "\nE:" +
unicode.transform(expectedResult) + "\n!=\nR:" + unicode.transform(result) +
"");
+ }
+ //return in;
+ }
+ return expectedResult != null ? new StringObject(expectedResult) : in;
+
+ }
+
+ public void testRichToXML() {
+ List<String> errors = new ArrayList<String>();
+ for (String[] testCase : RICH_TO_XML_CASES) {
+ StringObject in = XmlField.prepareData(testCase[IN]);
+ if (testCase.length == 8) {
+ XmlField.preHandleHeaders(in);
+ in = testRich(errors, in, testCase[AFTER_PREHANDLE_HEADERS],
"PRE");
+ XmlField.handleList(in);
+ in = testRich(errors, in, testCase[AFTER_HANDLE_LIST],
"LIST");
+ XmlField.handleTables(in);
+ in = testRich(errors, in, testCase[AFTER_HANDLE_TABLES],
"TABLES");
+ XmlField.handleParagraphs(in, XmlField.LEAVE_NEWLINES,
XmlField.SURROUNDING_P, XmlField.LISTS_INSIDE_P);
+ in = testRich(errors, in, testCase[AFTER_HANDLE_PARAGRAPHS],
"PARAGRAPHS");
+ XmlField.handleHeaders(in);
+ in = testRich(errors, in, testCase[AFTER_HANDLE_HEADERS],
"HEADERS");
+ XmlField.handleEmph(in, '_', "em");
+ XmlField.handleEmph(in, '*', "strong");
+ testRich(errors, in, testCase[AFTER_HANDLE_EM], "EM");
+ XmlField.handleNewlines(in);
+ testRich(errors, in, testCase[AFTER_NEWLINES], "NL");
+ } else {
+ XmlField.handleRich(in,
+ XmlField.SECTIONS,
+ XmlField.LEAVE_NEWLINES,
+ XmlField.SURROUNDING_P,
+ XmlField.LISTS_INSIDE_P);
+ result = ignoreNL(in);
+ expectedResult = testCase[1];
+ if (! expectedResult.equals(result)) {
+ errors.add("\n" + expectedResult + "\n!=\n" + result);
+ }
+ }
+ //XmlField.handleNewlines(in);
+
+ }
+ assertTrue("" + errors, errors.size() == 0);
+
+ }
+
+
+
+
+ /**
+ * Tests handling lists only
+ */
+
+ public void listTest() {
+ StringObject in = new StringObject(listData);
+ XmlField.handleList(in);
+ String list = showNL(in);
+ result = ignoreNL(in);
+ assertTrue("\n"+ comment + listData + ":\n" + expectedListResult +
"\nexpected, but found\n" + result, expectedListResult.equals(result));
+ XmlField.handleParagraphs(in, leaveExtraNewLines, surroundingP,
placeListsInsideP);
+ result =ignoreNL(in);
+ assertTrue("\n"+ comment + ":\n"+ listData + " (" + list + "):\n" +
+ expectedResult + "\nexpected, but found\n" + result,
expectedResult.equals(result));
+ }
+
+ /**
+ * Tests handling lists only
+ */
+ public void testHandleListTTF() {
+ comment = "HTML_BLOCK_LIST_BR";
+ leaveExtraNewLines = true;
+ surroundingP = true;
+ placeListsInsideP = false;
+
+ listData = "- a\n- b\n- c";
+ expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ listTest();
+
+ listData = "Hallo\n- x\n- y\n- z\nhallo";
+ expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
+ expectedResult =
"<p>Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo</p>";
+ listTest();
+
+ listData = "\n\n- x\n- y\n- z\n\n";
+ expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
+ expectedResult =
"<p></p><ul><li>x</li><li>y</li><li>z</li></ul><p></p>";
+ listTest();
+ }
+
+ /**
+ * Tests handling lists only
+ */
+ public void testHandleListTFF() {
+ comment = "HTML_BLOCK_LIST_BR_NOSURROUNDINGP";
+ leaveExtraNewLines = true;
+ surroundingP = false;
+ placeListsInsideP = false;
+
+ listData = "- a\n- b\n- c";
+ expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ expectedResult = "</p><ul><li>a</li><li>b</li><li>c</li></ul><p>";
+ listTest();
+
+ listData = "Hallo\n- x\n- y\n- z\nhallo";
+ expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
+ expectedResult =
"Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo";
+ listTest();
+
+ listData = "\n\n- x\n- y\n- z\n\n";
+ expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
+ expectedResult = "</p><ul><li>x</li><li>y</li><li>z</li></ul><p>";
+ listTest();
+ }
+
+ /**
+ * Tests handling lists only
+ */
+ public void testHandleListTTT() {
+ comment = "HTML_BLOCK_BR";
+ leaveExtraNewLines = true;
+ surroundingP = true;
+ placeListsInsideP = true;
+
+ listData = "- a\n- b\n- c";
+ expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ expectedResult = "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>";
+// listTest();
+
+ listData = "Hallo\n- x\n- y\n- z\nhallo";
+ expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
+ expectedResult =
"<p>Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo</p>";
+ listTest();
+
+ listData = "\n\n- x\n- y\n- z\n\n";
+ expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
+ expectedResult =
"<p></p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p></p>";
+ listTest();
+ }
+
+ /**
+ * Tests handling lists only
+ */
+ public void testHandleListTFT() {
+ comment = "HTML_BLOCK_BR_NOSURROUNDINGP";
+ leaveExtraNewLines = true;
+ surroundingP = false;
+ placeListsInsideP = true;
+
+ listData = "- a\n- b\n- c";
+ expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
+ listTest();
+
+ listData = "Hallo\n- x\n- y\n- z\nhallo";
+ expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
+ expectedResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
+ listTest();
+
+ listData = "\n\n- x\n- y\n- z\n\n";
+ expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
+ expectedResult =
"</p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p>";
+ listTest();
+ }
+
+
+}
Deleted:
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
===================================================================
---
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
2010-02-19 22:26:35 UTC (rev 41145)
+++
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/TagStripperTest.java
2010-02-19 22:30:09 UTC (rev 41146)
@@ -1,73 +0,0 @@
-package org.mmbase.util.transformers;
-
-import java.util.*;
-import java.io.*;
-import org.mmbase.util.*;
-import org.mmbase.util.functions.*;
-import java.util.*;
-import org.junit.*;
-import static org.junit.Assert.*;
-
-/**
- * @author Michiel Meeuwissen
- * @version $Id$
- */
-public class TagStripperTest {
-
- private static final TagStripperFactory FACTORY = new TagStripperFactory();
-
-
- protected CharTransformer getXSS() {
- Parameters params = FACTORY.createParameters();
- params.set(TagStripperFactory.TAGS, "XSS");
- params.set(TagStripperFactory.ADD_BRS, false);
- params.set(TagStripperFactory.ESCAPE_AMPS, true);
- CharTransformer transformer = FACTORY.createTransformer(params);
- return transformer;
- }
-
- @Test
- public void simple() {
- Parameters params = FACTORY.createParameters();
- CharTransformer stripper = FACTORY.createTransformer(params);
- assertEquals("aaa", stripper.transform("<p>aaa</p>"));
- assertEquals("aaa", stripper.transform("<p>aaa\n</p>"));
- assertEquals("aaa", stripper.transform("<p>aaa"));
- assertEquals("aaa", stripper.transform("<p>aaa"));
- assertEquals("aaa", stripper.transform("<p>aaa"));
- assertEquals("aaa", stripper.transform("<p><a>aaa</a></p>"));
- assertEquals("aaa <p />", stripper.transform("<p>aaa\n<p /></p>
"));
-
-
- }
-
- @Test
- public void xss() {
- CharTransformer xss = getXSS();
- assertEquals("<p style=\"nanana\">allow this <b>and this</b></p>",
xss.transform("<p style=\"nanana\">allow this <b>and this</b></p>"));
- assertEquals("<p>allow this <b>and this</b></p>", xss.transform("<p
onclick=\"nanana\">allow this <b>and this</b></p>"));
- assertEquals("<p>allow this</p>", xss.transform("<p>allow this<script
language='text/javascript'>bj aja </script>\n</p>"));
- assertEquals("<p>allow this<a>foobar</a></p>", xss.transform("<p>allow
this<a href=\"javascript:alert('hoi');\">foobar</a></p>"));
-
- }
-
-
- @Test
- public void addBrs() {
- Parameters params = FACTORY.createParameters();
- params.set(TagStripperFactory.ADD_BRS, true);
- CharTransformer stripper = FACTORY.createTransformer(params);
- assertEquals("aaa<br class='auto' />bbb",
stripper.transform("<p>aaa\nbbb</p>"));
- }
-
- @Test
- public void addNewlines() {
- Parameters params = FACTORY.createParameters();
- params.set(TagStripperFactory.ADD_NEWLINES, true);
- CharTransformer stripper = FACTORY.createTransformer(params);
- assertEquals("aaa\n\nbbb", stripper.transform("<p>aaa</p><p>bbb</p>"));
- assertEquals("aaa\nbbb", stripper.transform("<p>aaa<br />bbb</p>"));
- assertEquals("aaa\nbbb", stripper.transform("<p>aaa<br>bbb</p>"));
- }
-
-}
Deleted:
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
===================================================================
---
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
2010-02-19 22:26:35 UTC (rev 41145)
+++
mmbase/trunk/utils/src/test/java/org/mmbase/util/transformers/XmlFieldTest.java
2010-02-19 22:30:09 UTC (rev 41146)
@@ -1,435 +0,0 @@
-package org.mmbase.util.transformers;
-import org.mmbase.util.*;
-import java.util.*;
-import junit.framework.TestCase;
-
-/**
- * Tests for org.mmbase.util.transformers.XmlField
- * Currently only tests a small part of the XmlField functionality.
- *
- * @author Simon Groenewolt ([email protected])
- * @author Michiel Meeuwissen
- * @version $Id$
- */
-public class XmlFieldTest extends TestCase {
-
- private String result;
- private String expectedResult;
- private String expectedListResult;
- private String comment;
- private String listData;
- private boolean leaveExtraNewLines;
- private boolean surroundingP;
- private boolean placeListsInsideP;
-
- /** Creates a new instance of XmlFieldTest */
- public XmlFieldTest() {
- }
-
- protected String ignoreNL(StringObject in) {
- return in.toString().replaceAll("\r", "").replaceAll("\n", "");
- }
-
- protected static UnicodeEscaper unicode = new UnicodeEscaper();
- static {
- unicode.setEscapeLow(true);
- }
-
- protected String showNL(StringObject in) {
- return unicode.transform(in.toString());
- }
-
- public void testRichToHTMLBlock1() {
-
- result = XmlField.richToHTMLBlock("");
- expectedResult = "<p></p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
- }
-
- public void testRichToHTMLBlock1a() {
-
- result = XmlField.richToHTMLBlock("hallo");
- expectedResult = "<p>hallo</p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
- }
-
- public void testRichToHTMLBlock2() {
- result = XmlField.richToHTMLBlock("hallo\n\nhallo");
- expectedResult = "<p>hallo</p><p>hallo</p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
- }
-
- public void testRichToHTMLBlock3() {
- // input:
- // hallo
- // -eending
- // -nogeending
- // hallo
-// result =
xmlField.richToHTMLBlock("hallo\n-eending\n-nogeending\nhallo");
- StringObject in = new StringObject("hallo\n- eending\n-
nogeending\nhallo");
- XmlField.handleRich(in,
- XmlField.NO_SECTIONS,
- XmlField.REMOVE_NEWLINES,
- XmlField.SURROUNDING_P,
- XmlField.LISTS_INSIDE_P);
- result = ignoreNL(in);
- expectedResult =
"<p>hallo<ul><li>eending</li><li>nogeending</li></ul>hallo</p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
- }
-
- public void testRichToHTMLBlock4() {
- // input:
- // hallo
- //
- // -eending
- // -nogeending
- //
- // hallo
- result = XmlField.richToHTMLBlock("hallo\n\n- eending\n-
nogeending\n\nhallo");
- expectedResult =
"<p>hallo</p><p><ul><li>eending</li><li>nogeending</li></ul></p><p>hallo</p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
- }
-
- public void testRichToHTMLBlock5() {
- // input:
- // hallo
- // *eending
- // *nogeending
- // hallo
- result = XmlField.richToHTMLBlock("hallo\n* eending\n*
nogeending\nhallo");
- expectedResult =
"<p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>";
- assertTrue("\n" + expectedResult + "\n!=\n" + result,
expectedResult.equals(result));
-
- }
- public static int IN = 0;
- public static int AFTER_PREHANDLE_HEADERS = 1;
- public static int AFTER_HANDLE_LIST = 2;
- public static int AFTER_HANDLE_TABLES = 3;
- public static int AFTER_HANDLE_PARAGRAPHS = 4;
- public static int AFTER_HANDLE_HEADERS = 5;
- public static int AFTER_HANDLE_EM = 6;
- public static int AFTER_NEWLINES = 7;
-
- public static String[][] RICH_TO_XML_CASES = {
- {"$TITEL\nhallo\n* eending\n* nogeending\nhallo",
//IN
- "$TITEL\nhallo\n* eending\n* nogeending\nhallo",
// PREHANDLE_HEADERS
- "$TITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// LIST
- "$TITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// TABLES
-
"<p>$TITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>",
// PARAGRAGPS
-
"<section><h>TITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p></section>",
// HEADERS
- null,
- null
- },
-
- {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\nhallo",
- "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\nhallo",
// PRE_HANDLE
-
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// LIST
-
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\nhallo",
// TABLES
-
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p>",
// PARAGRAPHS
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol>hallo</p></section></section>",
// HEADERS
- null,
- null
- },
- {"$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// IN
- "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// PRE_HANDLE
- "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// LIST
- "$TITEL\n\n$$SUBTITEL\n\n_test_\neenalinea\n\nnogeenalinea\n\nhallo",
// TABLES
-
"<p>$TITEL</p><p>$$SUBTITEL</p><p>_test_\neenalinea</p><p>nogeenalinea</p><p>hallo</p>",
// PARAGRAPHS
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>_test_\neenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>",
// HEADERS
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><em>test</em>\neenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>",
- "<section><h>TITEL</h><section><h>SUBTITEL</h><p><em>test</em><br
/>eenalinea</p><p>nogeenalinea</p><p>hallo</p></section></section>"
- },
- {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending",
- "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending",
// PRE
-
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>",
//LIST
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol></p>",
// PARAGRAPHS
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p></section></section>",
// HEADERS
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p></section></section>",
- null
- },
-
- {"$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\n\nbla bla",
- "$TITEL\n\n$$SUBTITEL\nhallo\n* eending\n* nogeending\n\nbla bla",
-
"$TITEL\n\n$$SUBTITEL\nhallo\n<ol><li>eending</li><li>nogeending</li></ol>\n\nbla
bla", // LIST
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL\nhallo<ol><li>eending</li><li>nogeending</li></ol></p><p>bla
bla</p>", // PARAGRAPH
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p>hallo<ol><li>eending</li><li>nogeending</li></ol></p><p>bla
bla</p></section></section>", // HEADERS
- null,
- null
- },
-
- {"$TITEL\n\n$$SUBTITEL\n*hallo* hoe gaat het",
- "$TITEL\n\n$$SUBTITEL\n\n*hallo* hoe gaat het",
// EM starting the paragraph, is fixed by PRE
- null,
- null,
- "<p>$TITEL</p><p>$$SUBTITEL</p><p>*hallo* hoe gaat het</p>",
// PARAGRAPH
- "<section><h>TITEL</h><section><h>SUBTITEL</h><p>*hallo* hoe gaat
het</p></section></section>", // SECTION
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><strong>hallo</strong> hoe
gaat het</p></section></section>", // EM
- null
- },
-
- {"$TITEL\n\n$$SUBTITEL\n* a\n* b\n* c",
- "$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c",
//MMB-1654
- "$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>",
//LIST
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p>",
//P
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
//H
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
- null
- }
- ,
- {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c",
- null,
- "$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>",
//L
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p>",
//P
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
//H
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p></section></section>",
- null
- },
- {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c\nbla",
- null,
-
"$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>\nbla", // L
TODO, I think the \n before bla is incorrect
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p>",
// P
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p></section></section>",
// H
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol>\nbla</p></section></section>",
- null
- },
- {"$TITEL\n\n$$SUBTITEL\n\n* a\n* b\n* c\n\nbloe",
- null,
-
"$TITEL\n\n$$SUBTITEL\n\n<ol><li>a</li><li>b</li><li>c</li></ol>\n\nbloe", // L
- null,
-
"<p>$TITEL</p><p>$$SUBTITEL</p><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p>",
// P
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p></section></section>",
// H
-
"<section><h>TITEL</h><section><h>SUBTITEL</h><p><ol><li>a</li><li>b</li><li>c</li></ol></p><p>bloe</p></section></section>",
- null
- },
- {"* a\n* b\n* c\n*d",
- null,
- "<ol><li>a</li><li>b</li><li>c</li></ol>\n*d", // L
- null, // T
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // P
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // H
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*d</p>", // EM
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>*d</p>", // NL
- },
- {// Starting input with new list
- "* a\n* b\n* c\n*",
- null,
- "<ol><li>a</li><li>b</li><li>c</li></ol>\n*", // L
- null, // T
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // P
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // H
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>\n*</p>", // EM
- "<p><ol><li>a</li><li>b</li><li>c</li></ol>*</p>" // NL
- },
- {// List, starting with NL, UL-lists
- "\n- a\n- b\n- c",
- null,
- "\n<ul><li>a</li><li>b</li><li>c</li></ul>", // L
- null, // T
- "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // P
- "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // H
- "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>", // EM
- "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>" // NL
- }
- ,
- {// Lists in lists
- "* a\n* b\n** b1\n** b2\n* c",
- null,
-
"<ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol>", // L
- null,
// T
-
"<p><ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol></p>",
//P
- null, // H
- null, //EM
-
"<p><ol><li>a</li><li>b<ol><li>b1</li><li>b2</li></ol></li><li>c</li></ol></p>"
//NL
- },
- {// Lists in lists, two different ones
- "* b\n* b\n*- b1\n*- b2\n* c",
- null,
-
"<ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol>", // L
- null,
// T
-
"<p><ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol></p>",
//P
- null, // H
- null, //EM
-
"<p><ol><li>b</li><li>b<ul><li>b1</li><li>b2</li></ul></li><li>c</li></ol></p>"
//NL
- }
-
- };
-
-
-
- protected StringObject testRich(List<String> errors, StringObject in,
String expectedResult, String intro) {
- if (expectedResult != null && in != null) {
- String result = in.toString();
- if (! expectedResult.equals(result)) {
- errors.add("\n\n" + intro + "\nE:" +
unicode.transform(expectedResult) + "\n!=\nR:" + unicode.transform(result) +
"");
- }
- //return in;
- }
- return expectedResult != null ? new StringObject(expectedResult) : in;
-
- }
-
- public void testRichToXML() {
- List<String> errors = new ArrayList<String>();
- for (String[] testCase : RICH_TO_XML_CASES) {
- StringObject in = XmlField.prepareData(testCase[IN]);
- if (testCase.length == 8) {
- XmlField.preHandleHeaders(in);
- in = testRich(errors, in, testCase[AFTER_PREHANDLE_HEADERS],
"PRE");
- XmlField.handleList(in);
- in = testRich(errors, in, testCase[AFTER_HANDLE_LIST],
"LIST");
- XmlField.handleTables(in);
- in = testRich(errors, in, testCase[AFTER_HANDLE_TABLES],
"TABLES");
- XmlField.handleParagraphs(in, XmlField.LEAVE_NEWLINES,
XmlField.SURROUNDING_P, XmlField.LISTS_INSIDE_P);
- in = testRich(errors, in, testCase[AFTER_HANDLE_PARAGRAPHS],
"PARAGRAPHS");
- XmlField.handleHeaders(in);
- in = testRich(errors, in, testCase[AFTER_HANDLE_HEADERS],
"HEADERS");
- XmlField.handleEmph(in, '_', "em");
- XmlField.handleEmph(in, '*', "strong");
- testRich(errors, in, testCase[AFTER_HANDLE_EM], "EM");
- XmlField.handleNewlines(in);
- testRich(errors, in, testCase[AFTER_NEWLINES], "NL");
- } else {
- XmlField.handleRich(in,
- XmlField.SECTIONS,
- XmlField.LEAVE_NEWLINES,
- XmlField.SURROUNDING_P,
- XmlField.LISTS_INSIDE_P);
- result = ignoreNL(in);
- expectedResult = testCase[1];
- if (! expectedResult.equals(result)) {
- errors.add("\n" + expectedResult + "\n!=\n" + result);
- }
- }
- //XmlField.handleNewlines(in);
-
- }
- assertTrue("" + errors, errors.size() == 0);
-
- }
-
-
-
-
- /**
- * Tests handling lists only
- */
-
- public void listTest() {
- StringObject in = new StringObject(listData);
- XmlField.handleList(in);
- String list = showNL(in);
- result = ignoreNL(in);
- assertTrue("\n"+ comment + listData + ":\n" + expectedListResult +
"\nexpected, but found\n" + result, expectedListResult.equals(result));
- XmlField.handleParagraphs(in, leaveExtraNewLines, surroundingP,
placeListsInsideP);
- result =ignoreNL(in);
- assertTrue("\n"+ comment + ":\n"+ listData + " (" + list + "):\n" +
- expectedResult + "\nexpected, but found\n" + result,
expectedResult.equals(result));
- }
-
- /**
- * Tests handling lists only
- */
- public void testHandleListTTF() {
- comment = "HTML_BLOCK_LIST_BR";
- leaveExtraNewLines = true;
- surroundingP = true;
- placeListsInsideP = false;
-
- listData = "- a\n- b\n- c";
- expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- listTest();
-
- listData = "Hallo\n- x\n- y\n- z\nhallo";
- expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
- expectedResult =
"<p>Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo</p>";
- listTest();
-
- listData = "\n\n- x\n- y\n- z\n\n";
- expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
- expectedResult =
"<p></p><ul><li>x</li><li>y</li><li>z</li></ul><p></p>";
- listTest();
- }
-
- /**
- * Tests handling lists only
- */
- public void testHandleListTFF() {
- comment = "HTML_BLOCK_LIST_BR_NOSURROUNDINGP";
- leaveExtraNewLines = true;
- surroundingP = false;
- placeListsInsideP = false;
-
- listData = "- a\n- b\n- c";
- expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- expectedResult = "</p><ul><li>a</li><li>b</li><li>c</li></ul><p>";
- listTest();
-
- listData = "Hallo\n- x\n- y\n- z\nhallo";
- expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
- expectedResult =
"Hallo</p><ul><li>x</li><li>y</li><li>z</li></ul><p>hallo";
- listTest();
-
- listData = "\n\n- x\n- y\n- z\n\n";
- expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
- expectedResult = "</p><ul><li>x</li><li>y</li><li>z</li></ul><p>";
- listTest();
- }
-
- /**
- * Tests handling lists only
- */
- public void testHandleListTTT() {
- comment = "HTML_BLOCK_BR";
- leaveExtraNewLines = true;
- surroundingP = true;
- placeListsInsideP = true;
-
- listData = "- a\n- b\n- c";
- expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- expectedResult = "<p><ul><li>a</li><li>b</li><li>c</li></ul></p>";
-// listTest();
-
- listData = "Hallo\n- x\n- y\n- z\nhallo";
- expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
- expectedResult =
"<p>Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo</p>";
- listTest();
-
- listData = "\n\n- x\n- y\n- z\n\n";
- expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
- expectedResult =
"<p></p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p></p>";
- listTest();
- }
-
- /**
- * Tests handling lists only
- */
- public void testHandleListTFT() {
- comment = "HTML_BLOCK_BR_NOSURROUNDINGP";
- leaveExtraNewLines = true;
- surroundingP = false;
- placeListsInsideP = true;
-
- listData = "- a\n- b\n- c";
- expectedListResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- expectedResult = "<ul><li>a</li><li>b</li><li>c</li></ul>";
- listTest();
-
- listData = "Hallo\n- x\n- y\n- z\nhallo";
- expectedListResult =
"Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
- expectedResult = "Hallo<ul><li>x</li><li>y</li><li>z</li></ul>hallo";
- listTest();
-
- listData = "\n\n- x\n- y\n- z\n\n";
- expectedListResult = "<ul><li>x</li><li>y</li><li>z</li></ul>";
- expectedResult =
"</p><p><ul><li>x</li><li>y</li><li>z</li></ul></p><p>";
- listTest();
- }
-
-
-}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs