in java/src/org/apache/qetest/trax/TransformerAPITest.java [1043:1132]
public boolean testCase6()
{
reporter.testCaseInit(
"TRAX Transformer: cover transform() and set/getURIResolver API and functionality");
TransformerFactory factory = null;
Templates templates = null;
try
{
factory = TransformerFactory.newInstance();
// Grab a stylesheet to use for this testcase
factory.setErrorListener(new DefaultErrorHandler());
templates = factory.newTemplates(new StreamSource(simpleTest.inputName));
}
catch (Throwable t)
{
reporter.checkErr("Can't continue testcase, factory.newInstance threw: " + t.toString());
reporter.logThrowable(reporter.STATUSMSG, t, "Can't continue testcase, factory.newInstance threw:");
return true;
}
try
{
Transformer transformer = templates.newTransformer();
ErrorListener errListener = transformer.getErrorListener(); // SPR SCUU4R3K6G - is null
if (errListener == null)
{
reporter.checkFail("getErrorListener() non-null by default");
}
else
{
reporter.checkPass("getErrorListener() non-null by default, is: " + errListener);
}
LoggingErrorListener loggingErrListener = new LoggingErrorListener(reporter);
transformer.setErrorListener(loggingErrListener);
reporter.checkObject(transformer.getErrorListener(), loggingErrListener, "set/getErrorListener API coverage(1)");
try
{
transformer.setErrorListener(null);
reporter.checkFail("setErrorListener(null) worked, should have thrown exception");
}
catch (IllegalArgumentException iae)
{
reporter.checkPass("setErrorListener(null) properly threw: " + iae.toString());
}
// Verify the previous ErrorListener is still set
reporter.checkObject(transformer.getErrorListener(), loggingErrListener, "set/getErrorListener API coverage(2)");
}
catch (Throwable t)
{
reporter.checkErr("Coverage of get/setErrorListener threw: " + t.toString());
reporter.logThrowable(reporter.STATUSMSG, t, "Coverage of get/setErrorListener threw:");
}
reporter.logStatusMsg("@todo feature testing for ErrorListener; see ErrorListenerTest, ErrorListenerAPITest");
try
{
Transformer transformer = templates.newTransformer();
transformer.setErrorListener(new DefaultErrorHandler());
// URIResolver should be null by default; try to set/get one
reporter.checkObject(transformer.getURIResolver(), null, "getURIResolver is null by default");
LoggingURIResolver myURIResolver = new LoggingURIResolver(reporter);
transformer.setURIResolver(myURIResolver);
reporter.checkObject(transformer.getURIResolver(), myURIResolver, "set/getURIResolver API coverage");
reporter.logTraceMsg("myURIres.getQuickCounters = " + myURIResolver.getQuickCounters());
// Assumes we support Streams
FileOutputStream fos = new FileOutputStream(outNames.nextName());
if (doTransform(transformer,
new StreamSource(simpleTest.xmlName),
new StreamResult(fos)))
{
fos.close(); // must close ostreams we own
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(simpleTest.goldName),
"transform(Stream, Stream) into: " + outNames.currentName());
}
reporter.logTraceMsg("myURIres.getQuickCounters = " + myURIResolver.getQuickCounters());
reporter.logStatusMsg("@todo feature testing for URIResolver; see URIResolverTest");
}
catch (Throwable t)
{
reporter.logThrowable(reporter.ERRORMSG, t, "TestCase threw:");
reporter.checkFail("TestCase threw: " + t.toString());
}
reporter.testCaseClose();
return true;
}