< prev index next >
test/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLFilterTest.java
Print this page
*** 21,37 ****
* questions.
*/
package org.xml.sax.ptests;
import java.io.FileInputStream;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
! import static jaxp.library.JAXPTestUtilities.failUnexpected;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import org.testng.annotations.Test;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;
--- 21,40 ----
* questions.
*/
package org.xml.sax.ptests;
import java.io.FileInputStream;
+ import java.io.FilePermission;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
! import jaxp.library.JAXPBaseTest;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
+ import org.testng.annotations.AfterGroups;
+ import org.testng.annotations.BeforeGroups;
import org.testng.annotations.Test;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;
*** 40,50 ****
import static org.xml.sax.ptests.SAXTestConst.XML_DIR;
/**
* Unit test for XMLFilter.
*/
! public class XMLFilterTest {
/**
* name spaces constant.
*/
private static final String NAMESPACES =
"http://xml.org/sax/features/namespaces";
--- 43,53 ----
import static org.xml.sax.ptests.SAXTestConst.XML_DIR;
/**
* Unit test for XMLFilter.
*/
! public class XMLFilterTest extends JAXPBaseTest {
/**
* name spaces constant.
*/
private static final String NAMESPACES =
"http://xml.org/sax/features/namespaces";
*** 127,169 ****
new XMLFilterImpl().setErrorHandler(null);
}
/**
* By default true is expected get namespaces feature.
! * @throws SAXException
*/
@Test
! public void getFeature01() throws SAXException {
! try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLReader xmlReader = spf.newSAXParser().getXMLReader();
XMLFilterImpl xmlFilter = new XMLFilterImpl();
xmlFilter.setParent(xmlReader);
assertTrue(xmlFilter.getFeature(NAMESPACES));
- } catch (SAXException | ParserConfigurationException ex) {
- failUnexpected(ex);
- }
}
/**
* By default false is expected get namespaces-prefix feature.
*/
@Test
! public void getFeature02() {
! try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
- XMLReader xmlReader = spf.newSAXParser().getXMLReader();
-
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(xmlReader);
assertFalse(xmlFilter.getFeature(NAMESPACE_PREFIXES));
- } catch (SAXException | ParserConfigurationException ex) {
- failUnexpected(ex);
- }
}
/**
* SAXNotRecognizedException is expected when get a feature by an invalid
* feature name.
--- 130,169 ----
new XMLFilterImpl().setErrorHandler(null);
}
/**
* By default true is expected get namespaces feature.
! *
! * @throws SAXException If there is a problem processing the document.
! * @throws ParserConfigurationException if a DocumentBuilder cannot be
! * created which satisfies the configuration requested.
*/
@Test
! public void getFeature01() throws SAXException, ParserConfigurationException {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLReader xmlReader = spf.newSAXParser().getXMLReader();
XMLFilterImpl xmlFilter = new XMLFilterImpl();
xmlFilter.setParent(xmlReader);
assertTrue(xmlFilter.getFeature(NAMESPACES));
}
/**
* By default false is expected get namespaces-prefix feature.
+ *
+ * @throws SAXException If there is a problem processing the document.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
*/
@Test
! public void getFeature02() throws ParserConfigurationException, SAXException {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(spf.newSAXParser().getXMLReader());
assertFalse(xmlFilter.getFeature(NAMESPACE_PREFIXES));
}
/**
* SAXNotRecognizedException is expected when get a feature by an invalid
* feature name.
*** 180,267 ****
}
/**
* Set namespaces feature to a value to XMLFilter. it's expected same when
* obtain it again.
*/
@Test
! public void setFeature01() {
! try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
- XMLReader xmlReader = spf.newSAXParser().getXMLReader();
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(xmlReader);
xmlFilter.setFeature(NAMESPACES, false);
assertFalse(xmlFilter.getFeature(NAMESPACES));
xmlFilter.setFeature(NAMESPACES, true);
assertTrue(xmlFilter.getFeature(NAMESPACES));
- } catch (SAXException | ParserConfigurationException ex) {
- failUnexpected(ex);
- }
}
/**
* Set namespaces-prefix feature to a value to XMLFilter. it's expected same
* when obtain it again.
*/
@Test
! public void setFeature02() {
! try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
- XMLReader xmlReader = spf.newSAXParser().getXMLReader();
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(xmlReader);
xmlFilter.setFeature(NAMESPACE_PREFIXES, false);
assertFalse(xmlFilter.getFeature(NAMESPACE_PREFIXES));
xmlFilter.setFeature(NAMESPACE_PREFIXES, true);
assertTrue(xmlFilter.getFeature(NAMESPACE_PREFIXES));
- } catch (SAXException | ParserConfigurationException ex) {
- failUnexpected(ex);
- }
}
/**
* NullPointerException is expected when parse a null InputSource.
*/
@Test(expectedExceptions = NullPointerException.class)
! public void parse01() {
! try {
new XMLFilterImpl().parse((InputSource)null);
- } catch (IOException | SAXException ex) {
- failUnexpected(ex);
}
}
/**
* SAXException is expected when parsing a invalid formatted XML file.
! * @throws org.xml.sax.SAXException when parse a incorrect formatted XML
! * file.
*/
! @Test(expectedExceptions = NullPointerException.class)
! public void parse02() throws SAXException {
! XMLFilterImpl xmlFilter = new XMLFilterImpl();
try(FileInputStream fis = new FileInputStream(XML_DIR + "invalid.xml")) {
! InputSource is = new InputSource(fis);
! xmlFilter.parse(is);
! } catch (IOException ex) {
! failUnexpected(ex);
}
}
/**
* No exception when parse a normal XML file.
*/
! @Test(expectedExceptions = NullPointerException.class)
! public void parse03() {
! XMLFilterImpl xmlFilter = new XMLFilterImpl();
try(FileInputStream fis = new FileInputStream(XML_DIR + "correct2.xml")) {
! InputSource is = new InputSource(fis);
! xmlFilter.parse(is);
! } catch (IOException | SAXException ex) {
! failUnexpected(ex);
}
}
}
--- 180,282 ----
}
/**
* Set namespaces feature to a value to XMLFilter. it's expected same when
* obtain it again.
+ *
+ * @throws SAXException If there is a problem processing the document.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
*/
@Test
! public void setFeature01() throws ParserConfigurationException, SAXException {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(spf.newSAXParser().getXMLReader());
xmlFilter.setFeature(NAMESPACES, false);
assertFalse(xmlFilter.getFeature(NAMESPACES));
xmlFilter.setFeature(NAMESPACES, true);
assertTrue(xmlFilter.getFeature(NAMESPACES));
}
/**
* Set namespaces-prefix feature to a value to XMLFilter. it's expected same
* when obtain it again.
+ *
+ * @throws SAXException If there is a problem processing the document.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
*/
@Test
! public void setFeature02() throws ParserConfigurationException, SAXException {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLFilterImpl xmlFilter = new XMLFilterImpl();
! xmlFilter.setParent(spf.newSAXParser().getXMLReader());
xmlFilter.setFeature(NAMESPACE_PREFIXES, false);
assertFalse(xmlFilter.getFeature(NAMESPACE_PREFIXES));
xmlFilter.setFeature(NAMESPACE_PREFIXES, true);
assertTrue(xmlFilter.getFeature(NAMESPACE_PREFIXES));
}
/**
* NullPointerException is expected when parse a null InputSource.
+ *
+ * @throws SAXException If there is a problem processing the document.
+ * @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.
*/
@Test(expectedExceptions = NullPointerException.class)
! public void parse01() throws SAXException, IOException {
new XMLFilterImpl().parse((InputSource)null);
}
+
+ /**
+ * Save system property for restoring.
+ */
+ @BeforeGroups (groups = {"readLocalFiles"})
+ public void setFilePermissions() {
+ setPermissions(new FilePermission(XML_DIR + "/-", "read"));
+ }
+
+ /**
+ * Restore the system property.
+ */
+ @AfterGroups (groups = {"readLocalFiles"})
+ public void restoreFilePermissions() {
+ setPermissions();
}
/**
* SAXException is expected when parsing a invalid formatted XML file.
! *
! * @throws SAXException when parse a incorrect formatted XML file.
! * @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.
*/
! @Test(groups = {"readLocalFiles"}, expectedExceptions = NullPointerException.class)
! public void parse02() throws SAXException, IOException {
try(FileInputStream fis = new FileInputStream(XML_DIR + "invalid.xml")) {
! new XMLFilterImpl().parse(new InputSource(fis));
}
}
/**
* No exception when parse a normal XML file.
+ *
+ * @throws SAXException when parse a incorrect formatted XML file.
+ * @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.
*/
! @Test(groups = {"readLocalFiles"}, expectedExceptions = NullPointerException.class)
! public void parse03() throws SAXException, IOException {
try(FileInputStream fis = new FileInputStream(XML_DIR + "correct2.xml")) {
! new XMLFilterImpl().parse(new InputSource(fis));
}
}
}
< prev index next >