(no commit message)
[utils] / support / general / src / test / java / org / wamblee / xml / XslTransformerTest.java
index c43214cd38470cb540affb770f9758faa7b98fab..c3cf78b06775ff1964deb40eced8ba89c2510026 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * Copyright 2005 the original author or authors.
- *
+ * 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.
  */
 package org.wamblee.xml;
 
-import junit.framework.TestCase;
-
-import org.w3c.dom.Document;
-
-import org.wamblee.io.ClassPathResource;
-import org.wamblee.io.FileSystemUtils;
-import org.wamblee.io.InputResource;
-
 import java.io.ByteArrayOutputStream;
-import java.io.File;
 import java.io.IOException;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -35,10 +26,16 @@ 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 {
@@ -52,38 +49,40 @@ public class XslTransformerTest extends TestCase {
 
     private String getResourcePath(String aResource) {
         return getClass().getPackage().getName().replaceAll("\\.", "/") + "/" +
-        aResource;
+            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));
+        InputResource xmlResource = new ClassPathResource(
+            getResourcePath(REPORT_XML));
 
-        Source xslt = new StreamSource(new ClassPathResource(getResourcePath(
-                        REPORT_TO_HTML_XSLT)).getInputStream());
+        Source xslt = new StreamSource(new ClassPathResource(
+            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
 
-        byte[] documentData = FileSystemUtils.read(xmlResource.getInputStream())
-                                             .getBytes();
+        byte[] documentData = FileSystemUtils
+            .read(xmlResource.getInputStream()).getBytes();
         DocumentBuilder builder = DocumentBuilderFactory.newInstance()
-                                                        .newDocumentBuilder();
+            .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 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());
+        xslt = new StreamSource(new ClassPathResource(
+            getResourcePath(REPORT_TO_HTML_XSLT)).getInputStream());
 
         Document output2 = transformer.transform(document, xslt);
         XmlUtils.assertEquals("document transform", expected, output2);
@@ -91,38 +90,38 @@ public class XslTransformerTest extends TestCase {
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         Result output = new StreamResult(os);
 
-        xslt = new StreamSource(new ClassPathResource(getResourcePath(
-                        REPORT_TO_HTML_XSLT)).getInputStream());
+        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()));
+        XmlUtils.assertEquals("document source transform", expected, DomUtils
+            .read(os.toString()));
 
-        xslt = new StreamSource(new ClassPathResource(getResourcePath(
-                        REPORT_TO_HTML_XSLT)).getInputStream());
+        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));
+        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 {
+    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());
+        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();
+        byte[] documentData = FileSystemUtils
+            .read(xmlResource.getInputStream()).getBytes();
 
         try {
-            Document output1 = transformer.transform(documentData, xslt);
+            transformer.transform(documentData, xslt);
         } catch (TransformerException e) {
             return; // ok
         }
@@ -133,21 +132,21 @@ public class XslTransformerTest extends TestCase {
     /**
      * 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());
+        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();
+        byte[] documentData = FileSystemUtils
+            .read(xmlResource.getInputStream()).getBytes();
 
         try {
-            Document output1 = transformer.transform(documentData, xslt);
+            transformer.transform(documentData, xslt);
         } catch (TransformerException e) {
             return; // ok
         }
@@ -158,21 +157,22 @@ public class XslTransformerTest extends TestCase {
     /**
      * 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());
+        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();
+        byte[] documentData = FileSystemUtils
+            .read(xmlResource.getInputStream()).getBytes();
 
         try {
-            Document output1 = transformer.transform(documentData, xslt);
+            transformer.transform(documentData, xslt);
         } catch (TransformerException e) {
             return; // ok
         }
@@ -182,40 +182,44 @@ public class XslTransformerTest extends TestCase {
 
     /**
      * Transforms a file using a class path resolver.
-     *
+     * 
      */
     public void testTransformUsingClassPathResolver() throws Exception {
-        XslTransformer transformer = new XslTransformer(new ClasspathUriResolver());
+        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());
+        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();
+        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());
+        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());
+        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());
+        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();
+        byte[] documentData = FileSystemUtils
+            .read(xmlResource.getInputStream()).getBytes();
 
         String result = transformer.textTransform(documentData, xslt);
         String expected = "Hello world!";
@@ -223,16 +227,15 @@ public class XslTransformerTest extends TestCase {
     }
 
     /**
-     * Tests resolving a file using {@link XslTransformer#resolve(String)} with the
-     * default resolver where the file does not exist.
-     *
+     * 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 {
-            Source source = transformer.resolve(
-                    "org/wamblee/xml/utilities-nonexistent.xsl");
+            transformer.resolve("org/wamblee/xml/utilities-nonexistent.xsl");
         } catch (TransformerException e) {
             return; // ok
         }
@@ -241,19 +244,20 @@ public class XslTransformerTest extends TestCase {
     }
 
     /**
-     * Tests resolving a file using {@link XslTransformer#resolve(String)} with the
-     * default resolver.
-     *
+     * Tests resolving a file using {@link XslTransformer#resolve(String)} with
+     * the default resolver.
+     * 
      */
     public void testResolveWithClasspathResolver() throws Exception {
-        XslTransformer transformer = new XslTransformer(new ClasspathUriResolver());
+        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());
+            getResourcePath(INCLUDED_XSL_FILE)).getInputStream());
         assertEquals(expected, data);
     }
 }