Author: markt
Date: Tue Dec 10 13:16:52 2013
New Revision: 1549836
URL: http://svn.apache.org/r1549836
Log:
Expand validation tests to make sure there are no parsing errors.
Fix parsing errors identified by expanded tests.
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
tomcat/tc7.0.x/trunk/test/javax/servlet/resources/TestSchemaValidation.java
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1549836&r1=1549835&r2=1549836&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
(original)
+++
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
Tue Dec 10 13:16:52 2013
@@ -96,6 +96,7 @@ public class DigesterFactory {
private static void addSelf(Map<String, String> ids, String id) {
String systemId = idFor(id);
ids.put(systemId, systemId);
+ ids.put(id, systemId);
}
private static String idFor(String url) {
Modified:
tomcat/tc7.0.x/trunk/test/javax/servlet/resources/TestSchemaValidation.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/javax/servlet/resources/TestSchemaValidation.java?rev=1549836&r1=1549835&r2=1549836&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/test/javax/servlet/resources/TestSchemaValidation.java
(original)
+++ tomcat/tc7.0.x/trunk/test/javax/servlet/resources/TestSchemaValidation.java
Tue Dec 10 13:16:52 2013
@@ -24,6 +24,7 @@ import org.junit.Test;
import org.apache.catalina.deploy.WebXml;
import org.apache.catalina.startup.WebRuleSet;
import org.apache.tomcat.util.descriptor.DigesterFactory;
+import org.apache.tomcat.util.descriptor.XmlErrorHandler;
import org.apache.tomcat.util.descriptor.XmlIdentifiers;
import org.apache.tomcat.util.digester.Digester;
@@ -31,53 +32,73 @@ public class TestSchemaValidation {
@Test
public void testWebapp_2_2() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
Digester digester = DigesterFactory.newDigester(
true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
digester.push(new WebXml());
WebXml desc = (WebXml) digester.parse(
new File("test/webapp-2.2/WEB-INF/web.xml"));
Assert.assertEquals("2.2", desc.getVersion());
Assert.assertEquals(XmlIdentifiers.WEB_22_PUBLIC, desc.getPublicId());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
}
@Test
public void testWebapp_2_3() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
Digester digester = DigesterFactory.newDigester(
true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
digester.push(new WebXml());
WebXml desc = (WebXml) digester.parse(
new File("test/webapp-2.3/WEB-INF/web.xml"));
Assert.assertEquals("2.3", desc.getVersion());
Assert.assertEquals(XmlIdentifiers.WEB_23_PUBLIC, desc.getPublicId());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
}
@Test
public void testWebapp_2_4() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
Digester digester = DigesterFactory.newDigester(
true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
digester.push(new WebXml());
WebXml desc = (WebXml) digester.parse(
new File("test/webapp-2.4/WEB-INF/web.xml"));
Assert.assertEquals("2.4", desc.getVersion());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
}
@Test
public void testWebapp_2_5() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
Digester digester = DigesterFactory.newDigester(
true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
digester.push(new WebXml());
WebXml desc = (WebXml) digester.parse(
new File("test/webapp-2.5/WEB-INF/web.xml"));
Assert.assertEquals("2.5", desc.getVersion());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
}
@Test
public void testWebapp_3_0() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
Digester digester = DigesterFactory.newDigester(
true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
digester.push(new WebXml());
WebXml desc = (WebXml) digester.parse(
new File("test/webapp-3.0/WEB-INF/web.xml"));
Assert.assertEquals("3.0", desc.getVersion());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]