DOMElementWriterTestpublic class DOMElementWriterTest extends TestCase Tests for org.apache.tools.ant.util.DOMElementWriter. |
Fields Summary |
---|
private DOMElementWriter | w |
Constructors Summary |
---|
public DOMElementWriterTest(String name)
super(name);
|
Methods Summary |
---|
public void | testCDATAEndEncoding()
assertEquals("]>", w.encodedata("]>"));
assertEquals("]]", w.encodedata("]]"));
assertEquals("]]>", w.encodedata("]]>"));
assertEquals("]]>A", w.encodedata("]]>A"));
assertEquals("A]]>", w.encodedata("A]]>"));
assertEquals("A]]>A", w.encodedata("A]]>A"));
assertEquals("A]]>B]]>C",
w.encodedata("A]]>B]]>C"));
| public void | testEncode()
assertEquals("", w.encode(""));
assertEquals(" ", w.encode(" "));
assertEquals(" ", w.encode(" "));
assertEquals("&#A0;", w.encode("A0;"));
assertEquals("20;", w.encode("20;"));
assertEquals("", w.encode(""));
assertEquals(""", w.encode("""));
assertEquals("'", w.encode("'"));
assertEquals(">", w.encode(">"));
assertEquals("<", w.encode("<"));
assertEquals("&", w.encode("&"));
assertEquals(""", w.encode("\""));
assertEquals("<", w.encode("<"));
assertEquals("&", w.encode("&"));
assertEquals("", w.encode("\u0017"));
assertEquals("\"20;&", w.encodedata("\"20;&"));
assertEquals("", w.encodedata("\u0017"));
| public void | testIsLegalCharacter()
assertTrue("0x00", !w.isLegalCharacter('\u0000"));
assertTrue("0x09", w.isLegalCharacter('\t"));
assertTrue("0x0A", w.isLegalCharacter('\n"));
assertTrue("0x0C", w.isLegalCharacter('\r"));
assertTrue("0x1F", !w.isLegalCharacter('\u001F"));
assertTrue("0x20", w.isLegalCharacter('\u0020"));
assertTrue("0xD7FF", w.isLegalCharacter('\uD7FF"));
assertTrue("0xD800", !w.isLegalCharacter('\uD800"));
assertTrue("0xDFFF", !w.isLegalCharacter('\uDFFF"));
assertTrue("0xE000", w.isLegalCharacter('\uE000"));
assertTrue("0xFFFD", w.isLegalCharacter('\uFFFD"));
assertTrue("0xFFFE", !w.isLegalCharacter('\uFFFE"));
| public void | testIsReference()
assertTrue("", w.isReference(""));
assertTrue(" ", w.isReference(" "));
assertTrue(" ", w.isReference(" "));
assertTrue("A0;", !w.isReference("A0;"));
assertTrue("20;", !w.isReference("20;"));
assertTrue("", !w.isReference(""));
assertTrue(""", w.isReference("""));
assertTrue("'", w.isReference("'"));
assertTrue(">", w.isReference(">"));
assertTrue("<", w.isReference("<"));
assertTrue("&", w.isReference("&"));
| public void | testNSGetsReused()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
Element child = d.createElementNS("urn:foo", "child");
root.appendChild(child);
StringWriter sw = new StringWriter();
DOMElementWriter w =
new DOMElementWriter(false,
DOMElementWriter.XmlNamespacePolicy
.ONLY_QUALIFY_ELEMENTS);
w.write(root, sw, 0, " ");
assertEquals("<root xmlns=\"urn:foo\">"
+ StringUtils.LINE_SEP
+ " <child />"
+ StringUtils.LINE_SEP
+ "</root>"
+ StringUtils.LINE_SEP, sw.toString());
| public void | testNSGoesOutOfScope()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
Element child = d.createElementNS("urn:foo2", "child");
root.appendChild(child);
Element child2 = d.createElementNS("urn:foo2", "child");
root.appendChild(child2);
Element grandChild = d.createElementNS("urn:foo2", "grandchild");
child2.appendChild(grandChild);
Element child3 = d.createElementNS("urn:foo2", "child");
root.appendChild(child3);
StringWriter sw = new StringWriter();
DOMElementWriter w =
new DOMElementWriter(false,
DOMElementWriter.XmlNamespacePolicy
.ONLY_QUALIFY_ELEMENTS);
w.write(root, sw, 0, " ");
assertEquals("<root xmlns=\"urn:foo\">"
+ StringUtils.LINE_SEP
+ " <ns0:child xmlns:ns0=\"urn:foo2\" />"
+ StringUtils.LINE_SEP
+ " <ns1:child xmlns:ns1=\"urn:foo2\">"
+ StringUtils.LINE_SEP
+ " <ns1:grandchild />"
+ StringUtils.LINE_SEP
+ " </ns1:child>"
+ StringUtils.LINE_SEP
+ " <ns2:child xmlns:ns2=\"urn:foo2\" />"
+ StringUtils.LINE_SEP
+ "</root>"
+ StringUtils.LINE_SEP, sw.toString());
| public void | testNSOnElement()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
root.setAttributeNS("urn:foo2", "bar", "baz");
StringWriter sw = new StringWriter();
DOMElementWriter w =
new DOMElementWriter(false,
DOMElementWriter.XmlNamespacePolicy
.ONLY_QUALIFY_ELEMENTS);
w.write(root, sw, 0, " ");
assertEquals("<root bar=\"baz\" xmlns=\"urn:foo\" />"
+ StringUtils.LINE_SEP, sw.toString());
| public void | testNSPrefixOnAttribute()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
root.setAttributeNS("urn:foo2", "bar", "baz");
StringWriter sw = new StringWriter();
DOMElementWriter w =
new DOMElementWriter(false,
DOMElementWriter.XmlNamespacePolicy
.QUALIFY_ALL);
w.write(root, sw, 0, " ");
assertEquals("<root ns0:bar=\"baz\" xmlns=\"urn:foo\""
+ " xmlns:ns0=\"urn:foo2\" />"
+ StringUtils.LINE_SEP, sw.toString());
| public void | testNSPrefixOnAttributeEvenWithoutElement()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
root.setAttributeNS("urn:foo2", "bar", "baz");
StringWriter sw = new StringWriter();
DOMElementWriter w =
new DOMElementWriter(false,
new DOMElementWriter.XmlNamespacePolicy(false,
true)
);
w.write(root, sw, 0, " ");
assertEquals("<root ns0:bar=\"baz\" xmlns:ns0=\"urn:foo2\" />"
+ StringUtils.LINE_SEP, sw.toString());
| public void | testNoAdditionalWhiteSpaceForCDATA()
Document d = DOMUtils.newDocument();
Element root = d.createElement("root");
DOMUtils.appendCDATAElement(root, "cdataElement", "content");
StringWriter sw = new StringWriter();
DOMElementWriter w = new DOMElementWriter();
w.write(root, sw, 0, " ");
assertEquals("<root>" + StringUtils.LINE_SEP
+ " <cdataElement><![CDATA[content]]></cdataElement>"
+ StringUtils.LINE_SEP
+ "</root>" + StringUtils.LINE_SEP,
sw.toString());
| public void | testNoAdditionalWhiteSpaceForEmptyElement()
Document d = DOMUtils.newDocument();
Element root = d.createElement("root");
DOMUtils.createChildElement(root, "emptyElement");
StringWriter sw = new StringWriter();
DOMElementWriter w = new DOMElementWriter();
w.write(root, sw, 0, " ");
assertEquals("<root>" + StringUtils.LINE_SEP
// + " <emptyElement></emptyElement>"
+ " <emptyElement />"
+ StringUtils.LINE_SEP
+ "</root>" + StringUtils.LINE_SEP,
sw.toString());
| public void | testNoAdditionalWhiteSpaceForText()
Document d = DOMUtils.newDocument();
Element root = d.createElement("root");
DOMUtils.appendTextElement(root, "textElement", "content");
StringWriter sw = new StringWriter();
DOMElementWriter w = new DOMElementWriter();
w.write(root, sw, 0, " ");
assertEquals("<root>" + StringUtils.LINE_SEP
+ " <textElement>content</textElement>"
+ StringUtils.LINE_SEP
+ "</root>" + StringUtils.LINE_SEP,
sw.toString());
| public void | testNoNSPrefixByDefault()
Document d = DOMUtils.newDocument();
Element root = d.createElementNS("urn:foo", "root");
root.setAttributeNS("urn:foo2", "bar", "baz");
StringWriter sw = new StringWriter();
DOMElementWriter w = new DOMElementWriter();
w.write(root, sw, 0, " ");
assertEquals("<root bar=\"baz\" />"
+ StringUtils.LINE_SEP, sw.toString());
|
|