< prev index next >

test/javax/xml/jaxp/functional/javax/xml/parsers/ptests/DocumentBuilderFactory02.java

Print this page

        

*** 21,87 **** * questions. */ package javax.xml.parsers.ptests; ! import static jaxp.library.JAXPTestUtilities.FILE_SEP; ! import static jaxp.library.JAXPTestUtilities.USER_DIR; import static jaxp.library.JAXPTestUtilities.compareWithGold; - import static jaxp.library.JAXPTestUtilities.failUnexpected; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; - import java.io.File; import java.io.IOException; - import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; ! import org.testng.annotations.Test; import org.w3c.dom.Document; import org.xml.sax.SAXException; /** * This tests the setIgnoringElementWhitespace and setIgnoringComments of * DocumentBuilderFactory */ ! public class DocumentBuilderFactory02 { ! /** ! * This testcase tests for the isIgnoringElementContentWhitespace and the * setIgnoringElementContentWhitespace. The xml file has all kinds of * whitespace,tab and newline characters, it uses the MyNSContentHandler * which does not invoke the characters callback when this * setIgnoringElementContentWhitespace is set to true. */ @Test ! public void testCheckElementContentWhitespace() { ! try { ! String goldFile = TestUtils.GOLDEN_DIR + FILE_SEP + "dbfactory02GF.out"; ! String outputFile = USER_DIR + FILE_SEP + "dbfactory02.out"; MyErrorHandler eh = MyErrorHandler.newInstance(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); assertFalse(dbf.isIgnoringElementContentWhitespace()); dbf.setIgnoringElementContentWhitespace(true); DocumentBuilder db = dbf.newDocumentBuilder(); db.setErrorHandler(eh); ! Document doc = db.parse(new File(TestUtils.XML_DIR, "DocumentBuilderFactory06.xml")); ! assertFalse(eh.errorOccured); DOMSource domSource = new DOMSource(doc); TransformerFactory tfactory = TransformerFactory.newInstance(); Transformer transformer = tfactory.newTransformer(); SAXResult saxResult = new SAXResult(); ! saxResult.setHandler(MyCHandler.newInstance(new File(outputFile))); transformer.transform(domSource, saxResult); - assertTrue(compareWithGold(goldFile, outputFile)); - } catch (ParserConfigurationException | SAXException | IOException | TransformerException e) { - failUnexpected(e); } } } --- 21,91 ---- * questions. */ package javax.xml.parsers.ptests; ! import static jaxp.library.JAXPTestUtilities.CLASS_DIR; import static jaxp.library.JAXPTestUtilities.compareWithGold; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; + import static javax.xml.parsers.ptests.TestUtils.GOLDEN_DIR; + import static javax.xml.parsers.ptests.TestUtils.XML_DIR; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; ! import jaxp.library.JAXPFileBaseTest; import org.testng.annotations.Test; import org.w3c.dom.Document; import org.xml.sax.SAXException; /** * This tests the setIgnoringElementWhitespace and setIgnoringComments of * DocumentBuilderFactory */ ! public class DocumentBuilderFactory02 extends JAXPFileBaseTest { /** ! * Test for the isIgnoringElementContentWhitespace and the * setIgnoringElementContentWhitespace. The xml file has all kinds of * whitespace,tab and newline characters, it uses the MyNSContentHandler * which does not invoke the characters callback when this * setIgnoringElementContentWhitespace is set to true. + * @throws ParserConfigurationException if a DocumentBuilder cannot be + * created which satisfies the configuration requested. + * @throws SAXException If any parse errors occur. + * @throws IOException if the file exists but is a directory rather than + * a regular file, does not exist but cannot be created, or cannot + * be opened for any other reason. + * @throws TransformerException If an unrecoverable error occurs during + * the course of the transformation. */ @Test ! public void testCheckElementContentWhitespace() throws ! ParserConfigurationException, SAXException, IOException, TransformerException { ! String goldFile = GOLDEN_DIR + "dbfactory02GF.out"; ! String outputFile = CLASS_DIR + "dbfactory02.out"; MyErrorHandler eh = MyErrorHandler.newInstance(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); assertFalse(dbf.isIgnoringElementContentWhitespace()); dbf.setIgnoringElementContentWhitespace(true); DocumentBuilder db = dbf.newDocumentBuilder(); db.setErrorHandler(eh); ! Document doc = db.parse(new File(XML_DIR, "DocumentBuilderFactory06.xml")); ! assertFalse(eh.isErrorOccured()); DOMSource domSource = new DOMSource(doc); TransformerFactory tfactory = TransformerFactory.newInstance(); Transformer transformer = tfactory.newTransformer(); SAXResult saxResult = new SAXResult(); ! try(MyCHandler handler = MyCHandler.newInstance(new File(outputFile))) { ! saxResult.setHandler(handler); transformer.transform(domSource, saxResult); } + assertTrue(compareWithGold(goldFile, outputFile)); } }
< prev index next >