]> source.dussan.org Git - poi.git/commitdiff
handle test issues when running with old xerces
authorPJ Fanning <fanningpj@apache.org>
Sat, 8 Sep 2018 22:28:02 +0000 (22:28 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sat, 8 Sep 2018 22:28:02 +0000 (22:28 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1840386 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/ooxml/util/TestDocumentHelper.java
src/ooxml/testcases/org/apache/poi/ooxml/util/TestSAXHelper.java

index c8147c280095491baf1850dc8b85747d56a5717e..febec72b5f9980a0c88c1b8ea6ea1e6344e0065a 100644 (file)
@@ -37,8 +37,12 @@ public class TestDocumentHelper {
 
     @Test
     public void testDocumentBuilderFactory() throws Exception {
-        assertTrue(DocumentHelper.documentBuilderFactory.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
-        assertFalse(DocumentHelper.documentBuilderFactory.getFeature(POIXMLConstants.FEATURE_LOAD_DTD_GRAMMAR));
-        assertFalse(DocumentHelper.documentBuilderFactory.getFeature(POIXMLConstants.FEATURE_LOAD_EXTERNAL_DTD));
+        try {
+            assertTrue(DocumentHelper.documentBuilderFactory.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
+            assertFalse(DocumentHelper.documentBuilderFactory.getFeature(POIXMLConstants.FEATURE_LOAD_DTD_GRAMMAR));
+            assertFalse(DocumentHelper.documentBuilderFactory.getFeature(POIXMLConstants.FEATURE_LOAD_EXTERNAL_DTD));
+        } catch(AbstractMethodError e) {
+            // ignore exceptions from old parsers that don't support this API (https://bz.apache.org/bugzilla/show_bug.cgi?id=62692)
+        }
     }
 }
index 1190c476125a918da73a6b29d6907e12294d3c89..1036a68f01844fb939a68c6bf9821d9052eab894 100644 (file)
@@ -24,6 +24,7 @@ import javax.xml.XMLConstants;
 
 import org.junit.Test;
 import org.xml.sax.InputSource;
+import org.xml.sax.SAXNotRecognizedException;
 import org.xml.sax.XMLReader;
 
 public class TestSAXHelper {
@@ -31,14 +32,18 @@ public class TestSAXHelper {
     public void testXMLReader() throws Exception {
         XMLReader reader = SAXHelper.newXMLReader();
         assertNotSame(reader, SAXHelper.newXMLReader());
-        assertTrue(reader.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
-        assertFalse(reader.getFeature(POIXMLConstants.FEATURE_LOAD_DTD_GRAMMAR));
-        assertFalse(reader.getFeature(POIXMLConstants.FEATURE_LOAD_EXTERNAL_DTD));
-        assertEquals(SAXHelper.IGNORING_ENTITY_RESOLVER, reader.getEntityResolver());
-        assertNotNull(reader.getProperty(POIXMLConstants.PROPERTY_ENTITY_EXPANSION_LIMIT));
-        assertEquals("1", reader.getProperty(POIXMLConstants.PROPERTY_ENTITY_EXPANSION_LIMIT));
-        assertNotNull(reader.getProperty(POIXMLConstants.PROPERTY_SECURITY_MANAGER));
-
+        try {
+            assertTrue(reader.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
+            assertFalse(reader.getFeature(POIXMLConstants.FEATURE_LOAD_DTD_GRAMMAR));
+            assertFalse(reader.getFeature(POIXMLConstants.FEATURE_LOAD_EXTERNAL_DTD));
+            assertEquals(SAXHelper.IGNORING_ENTITY_RESOLVER, reader.getEntityResolver());
+            assertNotNull(reader.getProperty(POIXMLConstants.PROPERTY_ENTITY_EXPANSION_LIMIT));
+            assertEquals("1", reader.getProperty(POIXMLConstants.PROPERTY_ENTITY_EXPANSION_LIMIT));
+            assertNotNull(reader.getProperty(POIXMLConstants.PROPERTY_SECURITY_MANAGER));
+        } catch(SAXNotRecognizedException e) {
+            // ignore exceptions from old parsers that don't support these features
+            // (https://bz.apache.org/bugzilla/show_bug.cgi?id=62692)
+        }
         reader.parse(new InputSource(new ByteArrayInputStream("<xml></xml>".getBytes("UTF-8"))));
     }
 }