in java/src/org/apache/qetest/trax/Minitest.java [182:326]
public boolean testCase1()
{
reporter.testCaseInit("Basic systemId transforms and params plus API coverage");
TransformerFactory factory = null;
Templates templates = null;
Transformer transformer = null;
try
{
factory = TransformerFactory.newInstance();
templates = factory.newTemplates(new StreamSource(QetestUtils.filenameToURL(testFileInfo.inputName)));
reporter.check((templates != null), true, "factory.newTemplates(StreamSource) is non-null");
}
catch (Throwable t)
{
reporter.logThrowable(reporter.ERRORMSG, t,
"Problem creating Templates; cannot continue testcase");
reporter.checkErr("Problem creating Templates; cannot continue testcase");
return true;
}
try
{
// Validate a systemId transform
reporter.logTraceMsg("Basic stream transform(1)(" + QetestUtils.filenameToURL(testFileInfo.xmlName) + ", "
+ QetestUtils.filenameToURL(testFileInfo.inputName) + ", "
+ outNames.nextName());
transformer = templates.newTransformer();
FileOutputStream fos = new FileOutputStream(outNames.currentName());
transformer.transform(new StreamSource(QetestUtils.filenameToURL(testFileInfo.xmlName)),
new StreamResult(fos));
fos.close();
int fileCheckStatus = fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"Basic stream transform(1) into: " + outNames.currentName());
if (fileCheckStatus != reporter.PASS_RESULT)
{
reporter.logWarningMsg("Basic stream transform(1) into: " + outNames.currentName()
+ fileChecker.getExtendedInfo());
}
// Validate transformer reuse
reporter.logTraceMsg("Basic stream transform(2)(" + QetestUtils.filenameToURL(testFileInfo.xmlName) + ", "
+ QetestUtils.filenameToURL(testFileInfo.inputName) + ", "
+ outNames.nextName());
fos = new FileOutputStream(outNames.currentName());
transformer.transform(new StreamSource(QetestUtils.filenameToURL(testFileInfo.xmlName)),
new StreamResult(fos));
fos.close();
fileCheckStatus = fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"Basic stream transform(2) into: " + outNames.currentName());
if (fileCheckStatus != reporter.PASS_RESULT)
{
reporter.logWarningMsg("Basic stream transform(2) into: " + outNames.currentName()
+ fileChecker.getExtendedInfo());
}
}
catch (Throwable t)
{
reporter.checkFail("Problem with simple stream transform");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with simple stream transform");
}
try
{
// Validate selected API's - primarily Parameters
Templates paramTemplates = factory.newTemplates(new StreamSource(QetestUtils.filenameToURL(paramFileInfo.inputName)));
Transformer paramTransformer = paramTemplates.newTransformer();
String paramStr = "paramVal";
paramTransformer.setParameter(PARAM1S, paramStr);
reporter.logTraceMsg("Just set " + PARAM1S + " to " + paramStr);
Object tmp = paramTransformer.getParameter(PARAM1S); // SPR SCUU4QWTVZ - returns an XObject - fixed
if (tmp == null)
{
reporter.checkFail(PARAM1S + " is still set to null!");
}
else
{ // Validate SPR SCUU4QWTVZ - should return the same type you set
if (tmp instanceof String)
{
reporter.checkObject(tmp, paramStr, PARAM1S + " is now set to ?" + tmp + "?");
}
else
{
reporter.checkFail(PARAM1S + " is now ?" + tmp + "?, isa " + tmp.getClass().getName());
}
}
// Verify simple re-set/get of a single parameter - new Integer
Integer paramInteger = new Integer(1234);
paramTransformer.setParameter(PARAM1S, paramInteger); // SPR SCUU4R3JGY - can't re-set
reporter.logTraceMsg("Just reset " + PARAM1S + " to new Integer(99)");
tmp = null;
tmp = paramTransformer.getParameter(PARAM1S);
if (tmp == null)
{
reporter.checkFail(PARAM1S + " is still set to null!");
}
else
{ // Validate SPR SCUU4QWTVZ - should return the same type you set
if (tmp instanceof Integer)
{
reporter.checkObject(tmp, paramInteger, PARAM1S + " is now set to ?" + tmp + "?");
}
else
{
reporter.checkFail(PARAM1S + " is now ?" + tmp + "?, isa " + tmp.getClass().getName());
}
}
// Validate a transform with two params set
paramTransformer.setParameter(PARAM1N, "new-param1n-value");
reporter.logTraceMsg("Just reset " + PARAM1N + " to new-param1n-value");
reporter.logTraceMsg("Stream-param transform(" + QetestUtils.filenameToURL(paramFileInfo.xmlName) + ", "
+ QetestUtils.filenameToURL(paramFileInfo.inputName) + ", "
+ outNames.nextName());
FileOutputStream fos = new FileOutputStream(outNames.currentName());
paramTransformer.transform(new StreamSource(QetestUtils.filenameToURL(paramFileInfo.xmlName)),
new StreamResult(fos));
fos.close();
int fileCheckStatus = fileChecker.check(reporter,
new File(outNames.currentName()),
new File(paramFileInfo.goldName),
"Stream transform with params into: " + outNames.currentName());
if (fileCheckStatus != reporter.PASS_RESULT)
{
reporter.logWarningMsg("Stream transform with params into: " + outNames.currentName()
+ fileChecker.getExtendedInfo());
}
// Validate params are still set after transform
tmp = paramTransformer.getParameter(PARAM1S);
reporter.checkObject(tmp, paramInteger, PARAM1S + " is now set to ?" + tmp + "?");
tmp = paramTransformer.getParameter(PARAM1N);
reporter.checkObject(tmp, "new-param1n-value", PARAM1N + " is now set to ?" + tmp + "?");
}
catch (Throwable t)
{
reporter.checkFail("Problem with parameters");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with parameters");
}
reporter.testCaseClose();
return true;
}