X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxml%2FXMLSchemaTest.java;fp=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxml%2FXMLSchemaTest.java;h=ab4603c8ec9c74f71d24fbe2c0c727526d39cbd1;hb=3205980513232d44b49681aced7cd7f124a4d1a0;hp=4881824d3b1cf1008dd45bdfb44bb178fd37f670;hpb=f5eb4cf69aae34ac7d9fe2384cfc02b643a96c6f;p=utils diff --git a/support/general/src/test/java/org/wamblee/xml/XMLSchemaTest.java b/support/general/src/test/java/org/wamblee/xml/XMLSchemaTest.java index 4881824d..ab4603c8 100644 --- a/support/general/src/test/java/org/wamblee/xml/XMLSchemaTest.java +++ b/support/general/src/test/java/org/wamblee/xml/XMLSchemaTest.java @@ -34,14 +34,18 @@ import static org.wamblee.xml.XMLDocument.*; public class XMLSchemaTest { + private URI getResourceUri(String aResource) throws URISyntaxException { + return getClass().getResource(aResource).toURI(); + } + private InputStream getResource(String aResource) { return getClass().getResourceAsStream(aResource); } @Test - public void testReadAndValidateOk() throws Exception { + public void testReadAndValidateOkUseUri() throws Exception { - XMLDocument xmldoc = xmldocument("test.xml", getResource("test.xml")).validate("test.xsd", getResource("test.xsd"), null); + XMLDocument xmldoc = xmldocument("test.xml", getResource("test.xml")).validate(getResourceUri("test.xsd")); Document doc = xmldoc.getDocument(); Element element = doc.getDocumentElement(); assertEquals("http://wamblee.org/test", element.getNamespaceURI()); @@ -52,8 +56,31 @@ public class XMLSchemaTest { XmlUtils.assertEquals("", doc, doc2); } + @Test + public void testReadAndValidateOkUseClasspath() throws Exception { + + XMLDocument xmldoc = xmldocument("test.xml", getResource("test.xml")).validate( + "test.xsd", new ClasspathUriResolver("org/wamblee/xml")); + Document doc = xmldoc.getDocument(); + Element element = doc.getDocumentElement(); + assertEquals("http://wamblee.org/test", element.getNamespaceURI()); + + String val = xmldoc.print(false); + // parse the written document + Document doc2 = xmldocument("input.xml", new ByteArrayInputStream(val.getBytes())).getDocument(); + XmlUtils.assertEquals("", doc, doc2); + } + + @Test(expected = XMLException.class) + public void testSchemaNotFoundUseClasspath() throws Exception { + + XMLDocument xmldoc = xmldocument("test.xml", getResource("test.xml")).validate( + "test.xsd.unknown", new ClasspathUriResolver("org/wamblee/xml")); + } + + @Test(expected = XMLException.class) public void testReadAndValidateNotOk() throws Exception { - XMLDocument xmldoc = xmldocument("testInvalid.xml", getResource("testInvalid.xml")).validate("test.xsd", getResource("test.xsd"), null); + XMLDocument xmldoc = xmldocument("testInvalid.xml", getResource("testInvalid.xml")).validate(getResourceUri("test.xsd")); } }