added XMLDocument, XMLSchema, and XSLTransformation classes.
[utils] / support / general / src / test / java / org / wamblee / xml / ClasspathUriResolverTest.java
index 7abe5d2ad8951b86bd092278fce95caed68434c8..f406c69d5820bbc261e677160747194985c59c70 100644 (file)
@@ -15,6 +15,7 @@
  */
 package org.wamblee.xml;
 
+import static org.wamblee.xml.XMLDocument.*;
 import junit.framework.TestCase;
 
 import org.w3c.dom.ls.LSInput;
@@ -35,7 +36,9 @@ import javax.xml.transform.stream.StreamSource;
  * @author Erik Brakkee
  */
 public class ClasspathUriResolverTest extends TestCase {
-    private static final String EXISTING_RESOURCE = "org/wamblee/xml/reportToHtml.xsl";
+    private static final String REPORT_TO_HTML_XSL = "reportToHtml.xsl";
+    private static final String PREFIX = "org/wamblee/xml";
+    private static final String EXISTING_RESOURCE = PREFIX + "/" + REPORT_TO_HTML_XSL;
     private static final String NON_EXISTING_RESOURCE = "org/wamblee/xml/reportToHtml-nonexisting.xsl";
     private ClasspathUriResolver resolver;
 
@@ -49,27 +52,6 @@ public class ClasspathUriResolverTest extends TestCase {
         resolver = new ClasspathUriResolver();
     }
 
-    /**
-     * Resolves an existing file. Verifies the file is resolved correctly.
-     * 
-     * @throws TransformerException
-     * @throws IOException
-     */
-    public void testResolveExistingFileURIResolver()
-        throws TransformerException, IOException {
-        Source source = resolver
-            .resolve(EXISTING_RESOURCE, "");
-        assertTrue(source instanceof StreamSource);
-
-        String resolved = FileSystemUtils.read(((StreamSource) source)
-            .getInputStream());
-
-        ClassPathResource resource = new ClassPathResource(
-            EXISTING_RESOURCE);
-        String expected = FileSystemUtils.read(resource.getInputStream());
-        assertEquals(expected, resolved);
-    }
-
     /**
      * Resolves a non-existing file. Verifies that a TransformerException is
      * thrown.
@@ -108,6 +90,31 @@ public class ClasspathUriResolverTest extends TestCase {
         String expected = FileSystemUtils.read(resource.getInputStream());
         assertEquals(expected, resolved);
     }
+    
+    /**
+     * Resolves an existing file using a base path. Verifies the file is resolved correctly.
+     * 
+     * @throws TransformerException
+     * @throws IOException
+     */
+    public void testResolveExistingFileLSResourceResolverUsingBasePath()
+        throws TransformerException, IOException {
+        
+        resolver = new ClasspathUriResolver(PREFIX);
+        LSInput source = resolver.resolveResource(null, null, "kees",
+            REPORT_TO_HTML_XSL, null);
+        assertNotNull(source);
+        
+        assertEquals("kees", source.getPublicId());
+        assertEquals(REPORT_TO_HTML_XSL, source.getSystemId());
+
+        String resolved = FileSystemUtils.read(source.getByteStream());
+
+        ClassPathResource resource = new ClassPathResource(
+            EXISTING_RESOURCE);
+        String expected = FileSystemUtils.read(resource.getInputStream());
+        assertEquals(expected, resolved);
+    }
 
     /**
      * Resolves a non-existing file. Verifies that a TransformerException is