in java/src/org/apache/qetest/trax/sax/SAXSourceAPITest.java [153:260]
public boolean testCase1()
{
reporter.testCaseInit("Basic API coverage, constructor and set/get methods");
// Default no-arg ctor sets nothing (but needs special test for
// creating new doc when being transformed)
SAXSource defaultSAX = new SAXSource();
reporter.checkObject(defaultSAX.getInputSource(), null, "Default SAXSource should have null InputSource");
reporter.checkObject(defaultSAX.getXMLReader(), null, "Default SAXSource should have null XMLReader");
reporter.check(defaultSAX.getSystemId(), null, "Default SAXSource should have null SystemId");
try
{
// ctor(InputSource) with an InputSource()
InputSource srcNoID = new InputSource();
SAXSource saxSrcNoID = new SAXSource(srcNoID);
reporter.checkObject(saxSrcNoID.getInputSource(), srcNoID, "SAXSource(new InputSource()) has InputSource: " + saxSrcNoID.getInputSource());
reporter.checkObject(saxSrcNoID.getXMLReader(), null, "SAXSource(new InputSource()) should have null XMLReader");
reporter.check(saxSrcNoID.getSystemId(), null, "SAXSource(new InputSource()) should have null SystemId");
// ctor(InputSource) with an InputSource("sysId")
InputSource srcWithID = new InputSource(NONSENSE_SYSTEMID);
SAXSource saxSrcWithID = new SAXSource(srcWithID);
reporter.checkObject(saxSrcWithID.getInputSource(), srcWithID, "SAXSource(new InputSource(sysId)) has InputSource: " + saxSrcWithID.getInputSource());
reporter.checkObject(saxSrcWithID.getXMLReader(), null, "SAXSource(new InputSource(sysId)) should have null XMLReader");
reporter.check(saxSrcWithID.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(new InputSource(sysId)) has SystemId: " + saxSrcWithID.getSystemId());
// ctor(XMLReader, InputSource)
reporter.logTraceMsg("API coverage of ctor(XMLReader, InputSource)...");
reporter.logTraceMsg("JAXP way:reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader()");
XMLReader reader2 = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
SAXSource saxSrcReaderID2 = new SAXSource(reader2, srcWithID);
reporter.checkObject(saxSrcReaderID2.getInputSource(), srcWithID, "SAXSource(reader, new InputSource(sysId)) has InputSource: " + saxSrcReaderID2.getInputSource());
reporter.checkObject(saxSrcReaderID2.getXMLReader(), reader2, "SAXSource(reader, new InputSource(sysId)) has XMLReader: " + saxSrcReaderID2.getXMLReader());
reporter.check(saxSrcReaderID2.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(reader, new InputSource(sysId)) has SystemId: " + saxSrcReaderID2.getSystemId());
// ctor(XMLReader, InputSource)
reporter.logTraceMsg("SAX way:reader = SAXParser.getXMLReader()");
// Be sure to use the JAXP methods only!
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
SAXParser saxParser = factory.newSAXParser();
XMLReader reader = saxParser.getXMLReader();
SAXSource saxSrcReaderID = new SAXSource(reader, srcWithID);
reporter.checkObject(saxSrcReaderID.getInputSource(), srcWithID, "SAXSource(reader, new InputSource(sysId)) has InputSource: " + saxSrcReaderID.getInputSource());
reporter.checkObject(saxSrcReaderID.getXMLReader(), reader, "SAXSource(reader, new InputSource(sysId)) has XMLReader: " + saxSrcReaderID.getXMLReader());
reporter.check(saxSrcReaderID.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(reader, new InputSource(sysId)) has SystemId: " + saxSrcReaderID.getSystemId());
// ctor(null InputSource) - note it won't actually
// be able to be used as a Source in real life
SAXSource saxNullSrc = new SAXSource(null);
reporter.checkObject(saxNullSrc.getInputSource(), null, "SAXSource(null InputSource) has null InputSource");
reporter.checkObject(saxNullSrc.getXMLReader(), null, "SAXSource(null InputSource) has null XMLReader");
reporter.check(saxNullSrc.getSystemId(), null, "SAXSource(null InputSource) has null SystemId");
// ctor(null Reader, null InputSource)
SAXSource saxNullSrc2 = new SAXSource(null, null);
reporter.checkObject(saxNullSrc2.getInputSource(), null, "SAXSource(null XMLReader, null InputSource) has null InputSource");
reporter.checkObject(saxNullSrc2.getXMLReader(), null, "SAXSource(null XMLReader, null InputSource) has null XMLReader");
reporter.check(saxNullSrc2.getSystemId(), null, "SAXSource(null XMLReader, null InputSource) has null SystemId");
// Validate various simple set/get methods
SAXSource wackySAX = new SAXSource();
// Validate setting systemId auto-creates InputSource
// with that systemId
wackySAX.setSystemId(NONSENSE_SYSTEMID);
reporter.checkObject(wackySAX.getSystemId(), NONSENSE_SYSTEMID, "set/getSystemId API coverage - after autocreate InputSource");
reporter.check((wackySAX.getInputSource() != null), true, "setSystemId autocreates an InputSource");
InputSource newIS = wackySAX.getInputSource();
reporter.check(newIS.getSystemId(), NONSENSE_SYSTEMID, "autocreated InputSource has correct systemId");
// API Coverage set/getSystemId
wackySAX.setSystemId("another-system-id");
reporter.checkObject(wackySAX.getSystemId(), "another-system-id", "set/getSystemId API coverage");
InputSource gotIS = wackySAX.getInputSource();
reporter.check(gotIS.getSystemId(), "another-system-id", "Changing SAXSource systemId changes InputSource's");
// setting to null explicitly
wackySAX.setSystemId(null);
reporter.checkObject(wackySAX.getSystemId(), null, "set/getSystemId API coverage with null");
reporter.checkObject(wackySAX.getInputSource().getSystemId(), null, "InputSource follows setSystemId(null) of parent source");
// API Coverage set/getInputSource
InputSource anotherIS = new InputSource(NONSENSE_SYSTEMID);
wackySAX.setInputSource(anotherIS);
reporter.checkObject(wackySAX.getInputSource(), anotherIS, "set/getInputSource API coverage");
reporter.check(wackySAX.getSystemId(), NONSENSE_SYSTEMID, "setInputSource sets our systemId");
// API Coverage set/getXMLReader
reporter.checkObject(wackySAX.getXMLReader(), null, "wackySAX still does not have an XMLReader");
// Be sure to use the JAXP methods only!
saxParser = factory.newSAXParser();
XMLReader wackyReader = saxParser.getXMLReader();
wackySAX.setXMLReader(wackyReader);
reporter.checkObject(wackySAX.getXMLReader(), wackyReader, "set/getXMLReader API coverage");
wackySAX.setXMLReader(null);
reporter.checkObject(wackySAX.getXMLReader(), null, "set/getXMLReader API coverage with null");
}
catch (Throwable t)
{
reporter.checkFail("Problem with SAXSource set/get API");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with SAXSource set/get API");
}
reporter.testCaseClose();
return true;
}