added XMLDocument, XMLSchema, and XSLTransformation classes.
[utils] / support / general / src / test / java / org / wamblee / xml / XslTransformerTest.java
diff --git a/support/general/src/test/java/org/wamblee/xml/XslTransformerTest.java b/support/general/src/test/java/org/wamblee/xml/XslTransformerTest.java
deleted file mode 100644 (file)
index c3cf78b..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright 2005-2010 the original author or authors.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wamblee.xml;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.w3c.dom.Document;
-import org.wamblee.io.ClassPathResource;
-import org.wamblee.io.FileSystemUtils;
-import org.wamblee.io.InputResource;
-
-/**
- * Tests the XSL transformer.
- * 
- * @author Erik Brakkee
- */
-public class XslTransformerTest extends TestCase {
-    private static final String INCLUDED_XSL_FILE = "utilities.xsl";
-    private static final String REPORT_XML = "report.xml";
-    private static final String REPORT_TO_HTML_XSLT = "reportToHtml.xsl";
-    private static final String REPORT_TO_HTML2_XSLT = "reportToHtml2.xsl";
-    private static final String REPORT_TO_HTML_INVALID_XSLT = "reportToHtml-invalid.xsl";
-    private static final String REPORT_TO_HTML_NONWELLFORMED_XSLT = "reportToHtml-nonwellformed.xsl";
-    private static final String REPORT_TO_TEXT_XSLT = "reportToText.xsl";
-
-    private String getResourcePath(String aResource) {
-        return getClass().getPackage().getName().replaceAll("\\.", "/") + "/" +
-            aResource;
-    }
-
-    /**
-     * Transforms a file while using the default resolver, where the included
-     * file can be found. Verifies the transformation is done correctly.
-     * 
-     */
-    public void testTransformUsingDefaultResolver() throws Exception {
-        XslTransformer transformer = new XslTransformer();
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-        DocumentBuilder builder = DocumentBuilderFactory.newInstance()
-            .newDocumentBuilder();
-        Document document = builder.parse(xmlResource.getInputStream());
-        Source documentSource = new StreamSource(xmlResource.getInputStream());
-
-        Document expected = DomUtils
-            .read(new ClassPathResource(
-                getResourcePath("output-reportToHtml-report.xml"))
-                .getInputStream());
-
-        Document output1 = transformer.transform(documentData, xslt);
-        XmlUtils.assertEquals("byte[] transform", expected, output1);
-
-        xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
-
-        Document output2 = transformer.transform(document, xslt);
-        XmlUtils.assertEquals("document transform", expected, output2);
-
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        Result output = new StreamResult(os);
-
-        xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
-        transformer.transform(documentSource, output, xslt);
-        XmlUtils.assertEquals("document source transform", expected, DomUtils
-            .read(os.toString()));
-
-        xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
-
-        String result = transformer.textTransform(documentData, xslt);
-        XmlUtils
-            .assertEquals("text transform", expected, DomUtils.read(result));
-    }
-
-    /**
-     * Transforms a file using the default resolver where the included file
-     * cannot be found. Verifies that a TransformerException is thrown.
-     * 
-     */
-    public void testTransformUsingDefaultResolverFails() throws IOException {
-        XslTransformer transformer = new XslTransformer();
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML2_XSLT)).getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-
-        try {
-            transformer.transform(documentData, xslt);
-        } catch (TransformerException e) {
-            return; // ok
-        }
-
-        fail();
-    }
-
-    /**
-     * Transforms a file using an invalid Xslt. Verifies that a
-     * TransformerException is thrown.
-     * 
-     */
-    public void testTransformInvalidXslt() throws IOException {
-        XslTransformer transformer = new XslTransformer();
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_INVALID_XSLT)).getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-
-        try {
-            transformer.transform(documentData, xslt);
-        } catch (TransformerException e) {
-            return; // ok
-        }
-
-        fail();
-    }
-
-    /**
-     * Transforms a file using a non-well formed xslt. Verifies that a
-     * TransformerException is thrown.
-     * 
-     */
-    public void testTransformNonWellformedXslt() throws IOException {
-        XslTransformer transformer = new XslTransformer();
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML_NONWELLFORMED_XSLT))
-            .getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-
-        try {
-            transformer.transform(documentData, xslt);
-        } catch (TransformerException e) {
-            return; // ok
-        }
-
-        fail();
-    }
-
-    /**
-     * Transforms a file using a class path resolver.
-     * 
-     */
-    public void testTransformUsingClassPathResolver() throws Exception {
-        XslTransformer transformer = new XslTransformer(
-            new ClasspathUriResolver());
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_HTML2_XSLT)).getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-
-        Document output1 = transformer.transform(documentData, xslt);
-        Document expected = DomUtils
-            .read(new ClassPathResource(
-                getResourcePath("output-reportToHtml-report.xml"))
-                .getInputStream());
-        XmlUtils.assertEquals("doc", expected, output1);
-    }
-
-    /**
-     * Transforms a file to text output. Verifies the file is transformed
-     * correctly.
-     * 
-     */
-    public void testTransformToTextOutput() throws Exception {
-        XslTransformer transformer = new XslTransformer(
-            new ClasspathUriResolver());
-
-        InputResource xmlResource = new ClassPathResource(
-            getResourcePath(REPORT_XML));
-        Source xslt = new StreamSource(new ClassPathResource(
-            getResourcePath(REPORT_TO_TEXT_XSLT)).getInputStream());
-
-        byte[] documentData = FileSystemUtils
-            .read(xmlResource.getInputStream()).getBytes();
-
-        String result = transformer.textTransform(documentData, xslt);
-        String expected = "Hello world!";
-        assertEquals("text transform", expected, result);
-    }
-
-    /**
-     * Tests resolving a file using {@link XslTransformer#resolve(String)} with
-     * the default resolver where the file does not exist.
-     * 
-     */
-    public void testResolveWithDefaultResolverFileNotFound() {
-        XslTransformer transformer = new XslTransformer();
-
-        try {
-            transformer.resolve("org/wamblee/xml/utilities-nonexistent.xsl");
-        } catch (TransformerException e) {
-            return; // ok
-        }
-
-        fail();
-    }
-
-    /**
-     * Tests resolving a file using {@link XslTransformer#resolve(String)} with
-     * the default resolver.
-     * 
-     */
-    public void testResolveWithClasspathResolver() throws Exception {
-        XslTransformer transformer = new XslTransformer(
-            new ClasspathUriResolver());
-        Source source = transformer.resolve(getResourcePath(INCLUDED_XSL_FILE));
-        assert (source instanceof StreamSource);
-
-        StreamSource ssource = (StreamSource) source;
-        String data = FileSystemUtils.read(ssource.getInputStream());
-        String expected = FileSystemUtils.read(new ClassPathResource(
-            getResourcePath(INCLUDED_XSL_FILE)).getInputStream());
-        assertEquals(expected, data);
-    }
-}