1
2
3
4
5
6
7
8
9
10 package org.dom4j;
11
12 import java.io.StringWriter;
13 import junit.framework.*;
14 import junit.textui.TestRunner;
15 import org.dom4j.Document;
16 import org.dom4j.DocumentHelper;
17 import org.dom4j.Element;
18 import org.dom4j.io.OutputFormat;
19 import org.dom4j.io.XMLWriter;
20
21 public class TestLineFeed extends AbstractTestCase {
22
23 private static final String ATT_TEXT = "Hello
There
<>&";
24 private static final String TEXT = "Hello\nThere\n<>&";
25 private static final String EXPECTED_TEXT = "Hello\nThere\n<>&";
26 private static final String EXPECTED_ATT_TEXT = "Hello There <>&";
27
28 public TestLineFeed(String name) {
29 super(name);
30 }
31
32 public static void main( String[] args ) {
33 TestRunner.run( suite() );
34 }
35
36 public static Test suite() {
37 return new TestSuite( TestLineFeed.class );
38 }
39
40 public void testElement() throws Exception {
41 Document doc = DocumentHelper.parseText("<elem>" + TEXT + "</elem>");
42 Element elem = doc.getRootElement();
43 assertEquals(EXPECTED_TEXT, elem.getText());
44 }
45
46
47 public void testAttribute() throws Exception {
48 Document doc = DocumentHelper.parseText("<elem attr=\"" + TEXT + "\"/>");
49 Element elem = doc.getRootElement();
50
51 assertEquals(EXPECTED_ATT_TEXT, elem.attributeValue("attr"));
52
53 doc = DocumentHelper.parseText("<elem attr=\"" + ATT_TEXT + "\"/>");
54 elem = doc.getRootElement();
55
56 assertEquals(EXPECTED_TEXT, elem.attributeValue("attr"));
57 }
58
59
60 public void testCDATA() throws Exception {
61 Document doc = DocumentHelper.parseText("<elem><![CDATA[" + EXPECTED_TEXT + "]]></elem>");
62 Element elem = doc.getRootElement();
63 assertEquals(EXPECTED_TEXT, elem.getText());
64 }
65
66
67 public void testXmlWriter() throws Exception {
68 Element elem = DocumentHelper.createElement("elem");
69 Document doc = DocumentHelper.createDocument(elem);
70 elem.addCDATA(EXPECTED_TEXT);
71 StringWriter sw = new StringWriter();
72 XMLWriter xWriter = new XMLWriter(sw, OutputFormat.createPrettyPrint());
73 xWriter.write(doc);
74 xWriter.close();
75 String xmlString = sw.toString();
76 doc = DocumentHelper.parseText(xmlString);
77 elem = doc.getRootElement();
78 assertEquals(EXPECTED_TEXT, elem.getText());
79 }
80 }
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128