X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxml%2FClasspathUriResolverTest.java;h=bc1c9cfc043a5500b8b8e64d4242629bc1223150;hb=HEAD;hp=bd8dddd4816c2cd2b90084f0e02d541842ca9166;hpb=0d8d8f24656e585ee75558cfd6a4c661f8f14985;p=utils diff --git a/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java b/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java index bd8dddd4..bc1c9cfc 100644 --- a/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java +++ b/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java @@ -1,5 +1,5 @@ /* - * 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. @@ -12,10 +12,19 @@ * 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 static org.wamblee.xml.XMLDocument.*; +import junit.framework.TestCase; + +import org.junit.Before; +import org.junit.Test; +import org.w3c.dom.ls.LSInput; +import org.w3c.dom.ls.LSResourceResolver; +import org.wamblee.io.ClassPathResource; +import org.wamblee.io.FileSystemUtils; + import java.io.IOException; import javax.xml.transform.Source; @@ -23,54 +32,106 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.stream.StreamSource; -import junit.framework.TestCase; - - -import org.wamblee.io.ClassPathResource; -import org.wamblee.io.FileSystemUtils; +import static junit.framework.TestCase.*; /** * Tests for {@link org.wamblee.xml.ClasspathUriResolver}. - * + * * @author Erik Brakkee */ -public class ClasspathUriResolverTest extends TestCase { - - private URIResolver resolver; - - /* (non-Javadoc) +public class ClasspathUriResolverTest { + 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; + + /* + * (non-Javadoc) + * * @see junit.framework.TestCase#setUp() */ - @Override - protected void setUp() throws Exception { - resolver = new ClasspathUriResolver(); + @Before + public void setUp() throws Exception { + resolver = new ClasspathUriResolver(); + } + + /** + * Resolves a non-existing file. Verifies that a TransformerException is + * thrown. + * + */ + @Test + public void testResolveNonExistingFileURIResolver() { + try { + resolver + .resolve(NON_EXISTING_RESOURCE, ""); + } catch (TransformerException e) { + return; // ok + } + + fail(); } /** - * Resolves an existing file. Verifies the file is resolved correctly. - * @throws TransformerException + * Resolves an existing file. Verifies the file is resolved correctly. + * + * @throws TransformerException * @throws IOException */ - public void testResolveExistingFile() throws TransformerException, IOException { - Source source = resolver.resolve("org/wamblee/xml/reportToHtml.xsl", ""); - assertTrue(source instanceof StreamSource); - String resolved = FileSystemUtils.read(((StreamSource)source).getInputStream()); + @Test + public void testResolveExistingFileLSResourceResolver() + throws TransformerException, IOException { + LSInput source = resolver.resolveResource(null, null, "kees", + EXISTING_RESOURCE, null); + assertNotNull(source); - ClassPathResource resource = new ClassPathResource("org/wamblee/xml/reportToHtml.xsl"); + assertEquals("kees", source.getPublicId()); + assertEquals(EXISTING_RESOURCE, 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 thrown. - * + * Resolves an existing file using a base path. Verifies the file is resolved correctly. + * + * @throws TransformerException + * @throws IOException */ - public void testResolveNonExistingFile() { - try { - Source source = resolver.resolve("org/wamblee/xml/reportToHtml-nonexisting.xsl", ""); - } catch (TransformerException e) { - return; // ok - } - fail(); + @Test + 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 + * thrown. + * + */ + @Test + public void testResolveNonExistingFileLSResourceResolver() { + LSInput input = resolver.resolveResource(null, null, "kees", + NON_EXISTING_RESOURCE, null); + assertNull(input); } }