in java/src/org/apache/qetest/trax/EmbeddedStylesheetTest.java [347:578]
public boolean testCase2()
{
reporter.testCaseInit("Test media, title, charset types of xml-stylesheet PI's");
TransformerFactory factory = null;
try
{
factory = TransformerFactory.newInstance();
}
catch (Throwable t)
{
reporter.checkFail("Problem creating factory; can't continue testcase");
reporter.logThrowable(reporter.ERRORMSG, t,
"Problem creating factory; can't continue testcase");
return true;
}
String mediaTitleName = inputDir + File.separator
+ TRAX_SUBDIR + File.separator
+ "EmbeddedMediaTitle.xml";
try
{
String media= null;
String title = null;
String charset = null;
media = "foo/media";
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")");
Source xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
Transformer transformer = factory.newTransformer(xslSrc);
reporter.logTraceMsg("Got embedded templates, media=" + media + " , about to transform.");
transformer.transform(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
new StreamResult(outNames.nextName()));
if (Logger.PASS_RESULT
!= fileChecker.check(reporter,
new File(outNames.currentName()),
new File(relativeGoldFileLevel1),
"(20)embedded media=" + media + " transform into " + outNames.currentName())
)
{
reporter.logInfoMsg("(20)embedded media=" + media + " failure reason:" + fileChecker.getExtendedInfo());
}
media = "bar/media";
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")");
xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
transformer = factory.newTransformer(xslSrc);
reporter.logTraceMsg("Got embedded templates, media=" + media + " , about to transform.");
transformer.transform(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
new StreamResult(outNames.nextName()));
if (Logger.PASS_RESULT
!= fileChecker.check(reporter,
new File(outNames.currentName()),
new File(relativeGoldFileLevel0),
"(20a)embedded media=" + media + " transform into " + outNames.currentName())
)
{
reporter.logInfoMsg("(20a)embedded media=" + media + " failure reason:" + fileChecker.getExtendedInfo());
}
}
catch (Throwable t)
{
reporter.checkFail("Problem with testcase(media)");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with testcase(media)");
}
try
{
String media= null;
String title = null;
String charset = null;
title = "foo-title";
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", title=" + title + ")");
Source xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
Transformer transformer = factory.newTransformer(xslSrc);
reporter.logTraceMsg("Got embedded templates, title=" + title + " , about to transform.");
transformer.transform(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
new StreamResult(outNames.nextName()));
if (Logger.PASS_RESULT
!= fileChecker.check(reporter,
new File(outNames.currentName()),
new File(relativeGoldFileLevel1),
"(21)embedded title=" + title + " transform into " + outNames.currentName())
)
{
reporter.logInfoMsg("(21)embedded title=" + title + " failure reason:" + fileChecker.getExtendedInfo());
}
title = "bar-title";
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", title=" + title + ")");
xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
transformer = factory.newTransformer(xslSrc);
reporter.logTraceMsg("Got embedded templates, title=" + title + " , about to transform.");
transformer.transform(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
new StreamResult(outNames.nextName()));
if (Logger.PASS_RESULT
!= fileChecker.check(reporter,
new File(outNames.currentName()),
new File(relativeGoldFileLevel0),
"(21a)embedded title=" + title + " transform into " + outNames.currentName())
)
{
reporter.logInfoMsg("(21a)embedded title=" + title + " failure reason:" + fileChecker.getExtendedInfo());
}
}
catch (Throwable t)
{
reporter.checkFail("Problem with testcase(title)");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with testcase(title)");
}
try
{
String media= null;
String title = null;
String charset = null;
media = "alt/media"; // Should use alternate, I think
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")");
Source xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
Transformer transformer = factory.newTransformer(xslSrc);
reporter.logTraceMsg("Got embedded templates, media=" + media + " , about to transform.");
transformer.transform(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
new StreamResult(outNames.nextName()));
if (Logger.PASS_RESULT
!= fileChecker.check(reporter,
new File(outNames.currentName()),
new File(relativeGoldFileLevel2),
"(22)embedded media=" + media + " transform into " + outNames.currentName())
)
{
reporter.logInfoMsg("(22)embedded media=" + media + " failure reason:" + fileChecker.getExtendedInfo());
}
}
catch (Throwable t)
{
reporter.checkFail("Problem with testcase(alternate)");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with testcase(alternate)");
}
try
{
String media= null;
String title = null;
String charset = null;
title = "title-not-found"; // negative test: there is no title like this
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", title=" + title + ")");
Source xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
if (null == xslSrc)
{
reporter.checkPass("getAssociatedStylesheet returns null for not found title");
}
else
{
reporter.checkFail("getAssociatedStylesheet returns null for not found title");
reporter.logErrorMsg("xslSrc is: " + xslSrc);
}
title = null;
media = "media/notfound"; // negative test: there is no media like this
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")");
xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
if (null == xslSrc)
{
reporter.checkPass("getAssociatedStylesheet returns null for not found media");
}
else
{
reporter.checkFail("getAssociatedStylesheet returns null for not found media");
reporter.logErrorMsg("xslSrc is: " + xslSrc);
}
title = "alt-title"; // This title is in there, but
media = "media/notfound"; // negative test: there is no media like this
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")"
+ ", title=" + title + ")");
xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
if (null == xslSrc)
{
reporter.checkPass("getAssociatedStylesheet returns null bad media, good title");
}
else
{
reporter.checkFail("getAssociatedStylesheet returns null bad media, good title");
reporter.logErrorMsg("xslSrc is: " + xslSrc);
}
title = "title-not-found"; // No title like this, but
media = "alt/media"; // there is a media like this
reporter.logTraceMsg("About to getAssociatedStylesheet(" + QetestUtils.filenameToURL(mediaTitleName)
+ ", media=" + media + ")"
+ ", title=" + title + ")");
xslSrc = factory.getAssociatedStylesheet(new StreamSource(QetestUtils.filenameToURL(mediaTitleName)),
media, title, charset);
if (null == xslSrc)
{
reporter.checkPass("getAssociatedStylesheet returns null bad title, good media");
}
else
{
reporter.checkFail("getAssociatedStylesheet returns null bad title, good media");
reporter.logErrorMsg("xslSrc is: " + xslSrc);
}
}
catch (Throwable t)
{
reporter.checkFail("Problem with testcase(negative)");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with testcase(negative)");
}
reporter.logTraceMsg("//@todo testing with charset");
reporter.testCaseClose();
return true;
}