public boolean testCase1()

in java/src/org/apache/qetest/trax/sax/TransformerHandlerAPITest.java [152:249]


    public boolean testCase1()
    {
        reporter.testCaseInit("Basic API coverage of set/get methods");

        // No public constructor available: you must always ask 
        //  a SAXTransformerFactory to give you one
        TransformerFactory factory = null;
        SAXTransformerFactory saxFactory = null;

        try
        {
            // Validate API's for an identity transformer
            factory = TransformerFactory.newInstance();
            factory.setErrorListener(new DefaultErrorHandler());
            saxFactory = (SAXTransformerFactory)factory;

            // Basic construction of identity transformer
            TransformerHandler tHandler = saxFactory.newTransformerHandler();
            reporter.check((tHandler != null), true, "newTransformerHandler() returns non-null");

            // getTemplates API coverage - simple
            Transformer transformer = tHandler.getTransformer();
            transformer.setErrorListener(new DefaultErrorHandler());
            reporter.check((transformer != null), true, "getTransformer() is non-null on new identity TransformerHandler");

            // set/getSystemId API coverage
            tHandler.setSystemId(NONSENSE_SYSTEMID);
            reporter.checkObject(tHandler.getSystemId(), NONSENSE_SYSTEMID, "identityTransformer.set/getSystemId API coverage");
            tHandler.setSystemId(null);
            reporter.checkObject(tHandler.getSystemId(), null, "identityTransformer.set/getSystemId API coverage to null");

            // setResult API coverage
            Result unusedResult = new StreamResult(outNames.currentName()); // currentName is probably _0
            tHandler.setResult(unusedResult);
            reporter.checkPass("Crash test: identityTransformer.setResult appears to have worked");
            reporter.logStatusMsg("Note that we can't verify setResult since there's no getResult!");
            try
            {
                tHandler.setResult(null);
                reporter.checkFail("identityTransformer.setResult(null) did not throw an exception");            
            }
            catch (IllegalArgumentException iae)
            {
                reporter.checkPass("identityTransformer.setResult(null) properly threw: " + iae.toString());
            }
        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem with TransformerHandler set/get API");
            reporter.logThrowable(reporter.ERRORMSG, t, "Problem with TransformerHandler set/get API");
        }

        try
        {
            // Validate API's for a 'real' transformer, which is different code
            factory = TransformerFactory.newInstance();
            factory.setErrorListener(new DefaultErrorHandler());
            saxFactory = (SAXTransformerFactory)factory;

            // Basic construction of identity transformer
            TransformerHandler tHandler = saxFactory.newTransformerHandler(new StreamSource(QetestUtils.filenameToURL(testFileInfo.inputName)));
            reporter.check((tHandler != null), true, "newTransformerHandler(.." + QetestUtils.filenameToURL(testFileInfo.inputName) + ")) returns non-null");

            // getTemplates API coverage - simple
            Transformer transformer = tHandler.getTransformer();
            transformer.setErrorListener(new DefaultErrorHandler());
            reporter.check((transformer != null), true, "realTransformer.getTransformer() is non-null");

            // set/getSystemId API coverage
            tHandler.setSystemId(NONSENSE_SYSTEMID);
            reporter.checkObject(tHandler.getSystemId(), NONSENSE_SYSTEMID, "realTransformer.set/getSystemId API coverage");
            tHandler.setSystemId(null);
            reporter.checkObject(tHandler.getSystemId(), null, "realTransformer.set/getSystemId API coverage to null");

            // setResult API coverage
            Result unusedResult = new StreamResult(outNames.nextName()); // use nextName() instead of currentName()
            reporter.logInfoMsg("new StreamResult(" + outNames.currentName() + ")");
            tHandler.setResult(unusedResult);
            reporter.checkPass("Crash test: realTransformer.setResult appears to have worked");
            reporter.logStatusMsg("Note that we can't verify setResult since there's no getResult!");
            try
            {
                tHandler.setResult(null);
                reporter.checkFail("realTransformer.setResult(null) did not throw an exception");            
            }
            catch (IllegalArgumentException iae)
            {
                reporter.checkPass("realTransformer.setResult(null) properly threw: " + iae.toString());
            }
        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem with TransformerHandler set/get API");
            reporter.logThrowable(reporter.ERRORMSG, t, "Problem with TransformerHandler set/get API");
        }
        reporter.testCaseClose();
        return true;
    }