elharo commented on code in PR #109:
URL: https://github.com/apache/xerces-j/pull/109#discussion_r4485351357
##########
tests/jaxp/PropertyTest.java:
##########
@@ -20,103 +20,53 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
-/**
- * This sample program tests JAXP 1.2 properties
Review Comment:
The class comment is retained: `/** Tests JAXP 1.2 properties */`.
##########
tests/jaxp/PropertyTest.java:
##########
@@ -20,103 +20,54 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
-/**
- * This sample program tests JAXP 1.2 properties
- */
-public class PropertyTest extends DefaultHandler{
-
- public static void main(String[] argv) {
-
- try {
- SAXParserFactory spf = SAXParserFactory.newInstance();
- spf.setValidating(true);
- spf.setNamespaceAware(true);
- SAXParser parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd" });
- parser.parse("tests/jaxp/data/personal-schema.xml", new
PropertyTest());
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "address.xsd", "ipo.xsd", });
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd",
"a.xsd"});
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- System.out.println("done.");
- }
-
- /** Warning. */
- public void warning(SAXParseException ex) throws SAXException {
- printError("Warning", ex);
- } // warning(SAXParseException)
-
- /** Error. */
- public void error(SAXParseException ex) throws SAXException {
- printError("Error", ex);
- } // error(SAXParseException)
-
- /** Fatal error. */
- public void fatalError(SAXParseException ex) throws SAXException {
- printError("Fatal Error", ex);
- throw ex;
- } // fatalError(SAXParseException)
-
-
- protected void printError(String type, SAXParseException ex) {
-
- System.err.print("[");
- System.err.print(type);
- System.err.print("] ");
- String systemId = ex.getSystemId();
- if (systemId != null) {
- int index = systemId.lastIndexOf('/');
- if (index != -1)
- systemId = systemId.substring(index + 1);
- System.err.print(systemId);
- }
- System.err.print(':');
- System.err.print(ex.getLineNumber());
- System.err.print(':');
- System.err.print(ex.getColumnNumber());
- System.err.print(": ");
- System.err.print(ex.getMessage());
- System.err.println();
- System.err.flush();
-
- } // printError(String,SAXParseException)
-
-
+import junit.framework.TestCase;
+
+/** Tests JAXP 1.2 properties */
+public class PropertyTest extends TestCase {
+
+ public void testSchemaProperties() throws Exception {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setValidating(true);
+ spf.setNamespaceAware(true);
+ SAXParser parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "personal.xsd", "ipo.xsd" });
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+
+ // Second parse should fail
+ parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "address.xsd", "ipo.xsd" });
+ try {
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+ fail("Should have thrown exception for address.xsd, ipo.xsd");
+ } catch (Exception e) {
+ // expected
+ }
+
+ // Third parse should fail
+ parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "personal.xsd", "ipo.xsd", "a.xsd" });
+ try {
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+ fail("Should have thrown exception for personal.xsd, ipo.xsd,
a.xsd");
+ } catch (Exception e) {
Review Comment:
The parse throws `IllegalArgumentException`; the test now asserts that
specific type.
##########
tests/jaxp/PropertyTest.java:
##########
@@ -20,103 +20,54 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
-/**
- * This sample program tests JAXP 1.2 properties
- */
-public class PropertyTest extends DefaultHandler{
-
- public static void main(String[] argv) {
-
- try {
- SAXParserFactory spf = SAXParserFactory.newInstance();
- spf.setValidating(true);
- spf.setNamespaceAware(true);
- SAXParser parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd" });
- parser.parse("tests/jaxp/data/personal-schema.xml", new
PropertyTest());
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "address.xsd", "ipo.xsd", });
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd",
"a.xsd"});
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- System.out.println("done.");
- }
-
- /** Warning. */
- public void warning(SAXParseException ex) throws SAXException {
- printError("Warning", ex);
- } // warning(SAXParseException)
-
- /** Error. */
- public void error(SAXParseException ex) throws SAXException {
- printError("Error", ex);
- } // error(SAXParseException)
-
- /** Fatal error. */
- public void fatalError(SAXParseException ex) throws SAXException {
- printError("Fatal Error", ex);
- throw ex;
- } // fatalError(SAXParseException)
-
-
- protected void printError(String type, SAXParseException ex) {
-
- System.err.print("[");
- System.err.print(type);
- System.err.print("] ");
- String systemId = ex.getSystemId();
- if (systemId != null) {
- int index = systemId.lastIndexOf('/');
- if (index != -1)
- systemId = systemId.substring(index + 1);
- System.err.print(systemId);
- }
- System.err.print(':');
- System.err.print(ex.getLineNumber());
- System.err.print(':');
- System.err.print(ex.getColumnNumber());
- System.err.print(": ");
- System.err.print(ex.getMessage());
- System.err.println();
- System.err.flush();
-
- } // printError(String,SAXParseException)
-
-
+import junit.framework.TestCase;
+
+/** Tests JAXP 1.2 properties */
+public class PropertyTest extends TestCase {
+
+ public void testSchemaProperties() throws Exception {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setValidating(true);
+ spf.setNamespaceAware(true);
+ SAXParser parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "personal.xsd", "ipo.xsd" });
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+
+ // Second parse should fail
Review Comment:
Split into three separate tests: successful schema configuration, duplicate
target namespace, and duplicate no-namespace schemas. Pushed in 03ce26d38.
##########
tests/jaxp/PropertyTest.java:
##########
@@ -20,103 +20,54 @@
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
-/**
- * This sample program tests JAXP 1.2 properties
- */
-public class PropertyTest extends DefaultHandler{
-
- public static void main(String[] argv) {
-
- try {
- SAXParserFactory spf = SAXParserFactory.newInstance();
- spf.setValidating(true);
- spf.setNamespaceAware(true);
- SAXParser parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd" });
- parser.parse("tests/jaxp/data/personal-schema.xml", new
PropertyTest());
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "address.xsd", "ipo.xsd", });
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- parser = spf.newSAXParser();
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
- "http://www.w3.org/2001/XMLSchema");
- parser.setProperty(
-
"http://java.sun.com/xml/jaxp/properties/schemaSource",
- new String[] { "personal.xsd", "ipo.xsd",
"a.xsd"});
-
- try {
-
parser.parse("tests/jaxp/data/personal-schema.xml", new PropertyTest());
- System.err.println("ERROR!");
- } catch (Exception e) {
- }
-
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- System.out.println("done.");
- }
-
- /** Warning. */
- public void warning(SAXParseException ex) throws SAXException {
- printError("Warning", ex);
- } // warning(SAXParseException)
-
- /** Error. */
- public void error(SAXParseException ex) throws SAXException {
- printError("Error", ex);
- } // error(SAXParseException)
-
- /** Fatal error. */
- public void fatalError(SAXParseException ex) throws SAXException {
- printError("Fatal Error", ex);
- throw ex;
- } // fatalError(SAXParseException)
-
-
- protected void printError(String type, SAXParseException ex) {
-
- System.err.print("[");
- System.err.print(type);
- System.err.print("] ");
- String systemId = ex.getSystemId();
- if (systemId != null) {
- int index = systemId.lastIndexOf('/');
- if (index != -1)
- systemId = systemId.substring(index + 1);
- System.err.print(systemId);
- }
- System.err.print(':');
- System.err.print(ex.getLineNumber());
- System.err.print(':');
- System.err.print(ex.getColumnNumber());
- System.err.print(": ");
- System.err.print(ex.getMessage());
- System.err.println();
- System.err.flush();
-
- } // printError(String,SAXParseException)
-
-
+import junit.framework.TestCase;
+
+/** Tests JAXP 1.2 properties */
+public class PropertyTest extends TestCase {
+
+ public void testSchemaProperties() throws Exception {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setValidating(true);
+ spf.setNamespaceAware(true);
+ SAXParser parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "personal.xsd", "ipo.xsd" });
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+
+ // Second parse should fail
+ parser = spf.newSAXParser();
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ parser.setProperty(
+ "http://java.sun.com/xml/jaxp/properties/schemaSource",
+ new String[] { "address.xsd", "ipo.xsd" });
+ try {
+ parser.parse("tests/jaxp/data/personal-schema.xml", new
DefaultHandler());
+ fail("Should have thrown exception for address.xsd, ipo.xsd");
+ } catch (Exception e) {
Review Comment:
The parse throws `IllegalArgumentException`; the test now asserts that
specific type.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]