[Practicalxml-commits] SF.net SVN: practicalxml:[78] trunk/src/test/java/net/sf/practicalxml/ build
Brought to you by:
kdgregory
From: Auto-Generated S. C. M. <pra...@li...> - 2009-04-25 13:59:46
|
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. |