< 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 >