public boolean testCase2()

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;
    }