1
2
3
4
5
6
7
8 package org.dom4j;
9
10 import junit.textui.TestRunner;
11
12 import java.io.StringWriter;
13
14 import org.dom4j.io.OutputFormat;
15 import org.dom4j.io.XMLWriter;
16
17 public class LineFeedTest extends AbstractTestCase {
18 private static final String ATT_TEXT = "Hello
There
<>&";
19
20 private static final String TEXT = "Hello\nThere\n<>&";
21
22 private static final String EXPECTED_TEXT = "Hello\nThere\n<>&";
23
24 private static final String EXPECTED_ATT_TEXT = "Hello There <>&";
25
26 public static void main(String[] args) {
27 TestRunner.run(LineFeedTest.class);
28 }
29
30 public void testElement() throws Exception {
31 Document doc = DocumentHelper.parseText("<elem>" + TEXT + "</elem>");
32 Element elem = doc.getRootElement();
33 assertEquals(EXPECTED_TEXT, elem.getText());
34 }
35
36 public void testAttribute() throws Exception {
37 Document doc = DocumentHelper
38 .parseText("<elem attr=\"" + TEXT + "\"/>");
39 Element elem = doc.getRootElement();
40
41
42 assertEquals(EXPECTED_ATT_TEXT, elem.attributeValue("attr"));
43
44 doc = DocumentHelper.parseText("<elem attr=\"" + ATT_TEXT + "\"/>");
45 elem = doc.getRootElement();
46
47
48 assertEquals(EXPECTED_TEXT, elem.attributeValue("attr"));
49 }
50
51 public void testCDATA() throws Exception {
52 Document doc = DocumentHelper.parseText("<elem><![CDATA["
53 + EXPECTED_TEXT + "]]></elem>");
54 Element elem = doc.getRootElement();
55 assertEquals(EXPECTED_TEXT, elem.getText());
56 }
57
58 public void testXmlWriter() throws Exception {
59 Element elem = DocumentHelper.createElement("elem");
60 Document doc = DocumentHelper.createDocument(elem);
61 elem.addCDATA(EXPECTED_TEXT);
62
63 StringWriter sw = new StringWriter();
64 XMLWriter xWriter = new XMLWriter(sw, OutputFormat.createPrettyPrint());
65 xWriter.write(doc);
66 xWriter.close();
67
68 String xmlString = sw.toString();
69 doc = DocumentHelper.parseText(xmlString);
70 elem = doc.getRootElement();
71 assertEquals(EXPECTED_TEXT, elem.getText());
72 }
73 }
74
75
76
77
78
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