Revision: 78
http://practicalxml.svn.sourceforge.net/practicalxml/?rev=78&view=rev
Author: kdgregory
Date: 2009-04-25 13:59:44 +0000 (Sat, 25 Apr 2009)
Log Message:
-----------
refactor tests
Modified Paths:
--------------
trunk/src/test/java/net/sf/practicalxml/builder/TestXmlBuilder.java
Modified: trunk/src/test/java/net/sf/practicalxml/builder/TestXmlBuilder.java
===================================================================
--- trunk/src/test/java/net/sf/practicalxml/builder/TestXmlBuilder.java 2009-04-25 13:17:38 UTC (rev 77)
+++ trunk/src/test/java/net/sf/practicalxml/builder/TestXmlBuilder.java 2009-04-25 13:59:44 UTC (rev 78)
@@ -16,6 +16,10 @@
import java.io.ByteArrayOutputStream;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -28,44 +32,60 @@
public class TestXmlBuilder
extends AbstractTestCase
{
+//----------------------------------------------------------------------------
+// Support Code
+//----------------------------------------------------------------------------
+
+ private void assertRootElement(Document dom, String nsUri, String name, int childCount)
+ throws Exception
+ {
+ assertElement(dom, "/*[1]", nsUri, name, childCount);
+ }
+
+
+ private void assertElement(Document dom, String path, String nsUri, String name, int childCount)
+ throws Exception
+ {
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ Element elem = (Element)xpath.evaluate(path, dom, XPathConstants.NODE);
+ assertNotNull(elem);
+ assertEquals(nsUri, elem.getNamespaceURI());
+ assertEquals(name, elem.getNodeName());
+ assertEquals(childCount, elem.getChildNodes().getLength());
+ }
+
+
+//----------------------------------------------------------------------------
+// Test Cases
+//----------------------------------------------------------------------------
+
public void testSingleElement() throws Exception
{
- Document dom = element("foo")
- .toDOM();
+ ElementNode node = element("foo");
+ assertEquals("<foo/>", node.toString());
- Element root = dom.getDocumentElement();
- assertNull(root.getNamespaceURI());
- assertEquals("foo", root.getNodeName());
- assertEquals(0, root.getChildNodes().getLength());
+ Document dom = node.toDOM();
+ assertRootElement(dom, null, "foo", 0);
}
public void testNamespacedSingleElement() throws Exception
{
- Document dom = element("foo", "bar")
- .toDOM();
+ ElementNode node = element("foo", "bar");
+ assertEquals("<bar xmlns=\"foo\"/>", node.toString());
- Element root = dom.getDocumentElement();
- assertEquals("foo", root.getNamespaceURI());
- assertEquals("bar", root.getNodeName());
- assertEquals(0, root.getChildNodes().getLength());
- }
+ Document dom = node.toDOM();
+ assertRootElement(dom, "foo", "bar", 0); }
public void testNestedElement() throws Exception
{
- Document dom = element("foo", element("bar"))
- .toDOM();
+ ElementNode node = element("foo", element("bar"));
+ assertEquals("<foo><bar/></foo>", node.toString());
- Element root = dom.getDocumentElement();
- assertNull(root.getNamespaceURI());
- assertEquals("foo", root.getNodeName());
- assertEquals(1, root.getChildNodes().getLength());
-
- Element child = (Element)root.getChildNodes().item(0);
- assertNull(child.getNamespaceURI());
- assertEquals("bar", child.getNodeName());
- assertEquals(0, child.getChildNodes().getLength());
+ Document dom = node.toDOM();
+ assertRootElement(dom, null, "foo", 1);
+ assertElement(dom, "/foo/bar", null, "bar", 0);
}
@@ -129,9 +149,11 @@
public void testToString() throws Exception
{
- String s = element("foo", element("bar", text("baz")))
+ String s = element("foo",
+ attribute("argle", "bar&gle"),
+ element("bar", text("baz")))
.toString();
- assertEquals("<foo><bar>baz</bar></foo>", s);
+ assertEquals("<foo argle=\"bar&gle\"><bar>baz</bar></foo>", s);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|