[Practicalxml-commits] SF.net SVN: practicalxml:[30] trunk/src/test/java/net/sf/practicalxml/ TestP
Brought to you by:
kdgregory
|
From: Auto-Generated S. C. M. <pra...@li...> - 2008-10-12 13:05:15
|
Revision: 30
http://practicalxml.svn.sourceforge.net/practicalxml/?rev=30&view=rev
Author: kdgregory
Date: 2008-10-12 13:05:05 +0000 (Sun, 12 Oct 2008)
Log Message:
-----------
TestParseUtil: lost a few test cases in previous revision
Modified Paths:
--------------
trunk/src/test/java/net/sf/practicalxml/TestParseUtil.java
Modified: trunk/src/test/java/net/sf/practicalxml/TestParseUtil.java
===================================================================
--- trunk/src/test/java/net/sf/practicalxml/TestParseUtil.java 2008-10-08 01:43:42 UTC (rev 29)
+++ trunk/src/test/java/net/sf/practicalxml/TestParseUtil.java 2008-10-12 13:05:05 UTC (rev 30)
@@ -1,5 +1,6 @@
package net.sf.practicalxml;
+import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
@@ -7,6 +8,7 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
+import org.xml.sax.EntityResolver;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -61,8 +63,38 @@
assertEquals("TestErrorHandler warnings", numWarnings, warnings.size());
}
}
+
+
+ /**
+ * An EntityResolver that will resolve a single entity.
+ */
+ private static class TestEntityResolver
+ implements EntityResolver
+ {
+ private String _publicId;
+ private String _systemId;
+ private String _content;
+
+ public TestEntityResolver(String publicId, String systemId, String content)
+ {
+ _publicId = publicId;
+ _systemId = systemId;
+ _content = content;
+ }
+ public InputSource resolveEntity(String publicId, String systemId)
+ throws SAXException, IOException
+ {
+ if (((publicId == null) || publicId.equals(_publicId))
+ && ((systemId == null) || systemId.equals(_systemId)))
+ {
+ return new InputSource(new StringReader(_content));
+ }
+ return null;
+ }
+ }
+
//----------------------------------------------------------------------------
// Test Cases
//----------------------------------------------------------------------------
@@ -168,4 +200,42 @@
assertEquals("foo", doc.getDocumentElement().getTagName());
errHandler.assertResults(0, 2, 0);
}
+
+
+ public void testValidatingParseWithMissingDoctype() throws Exception
+ {
+ String xml
+ = "<foo name='zippy'>"
+ + "<bar>something here</bar>"
+ + "<baz/>"
+ + "</foo>";
+
+ TestErrorHandler errHandler = new TestErrorHandler();
+ Document doc = ParseUtil.validatingParse(
+ new InputSource(new StringReader(xml)),
+ errHandler);
+
+ assertEquals("foo", doc.getDocumentElement().getTagName());
+ errHandler.assertResults(0, 2, 0);
+ }
+
+
+ public void testValidatingParseWithResolvedDTD() throws Exception
+ {
+ String xml
+ = "<!DOCTYPE foo SYSTEM \"test\">"
+ + "<foo name='zippy'>"
+ + "<bar>something here</bar>"
+ + "<baz/>"
+ + "</foo>";
+
+ TestErrorHandler errHandler = new TestErrorHandler();
+ TestEntityResolver resolver = new TestEntityResolver(null, "test", BASIC_DTD);
+ Document doc = ParseUtil.validatingParse(
+ new InputSource(new StringReader(xml)),
+ resolver, errHandler);
+
+ assertEquals("foo", doc.getDocumentElement().getTagName());
+ errHandler.assertResults(0, 0, 0);
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|