X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxml%2FClasspathUriResolverTest.java;h=f406c69d5820bbc261e677160747194985c59c70;hb=2136b85d7bde33a277d1dfd58b048ee6e5f5db8b;hp=48d900bf37697f261b9941543357a7702e84842f;hpb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;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 48d900bf..f406c69d 100644 --- a/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java +++ b/support/general/src/test/java/org/wamblee/xml/ClasspathUriResolverTest.java @@ -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. @@ -15,8 +15,11 @@ */ package org.wamblee.xml; +import static org.wamblee.xml.XMLDocument.*; import junit.framework.TestCase; +import org.w3c.dom.ls.LSInput; +import org.w3c.dom.ls.LSResourceResolver; import org.wamblee.io.ClassPathResource; import org.wamblee.io.FileSystemUtils; @@ -33,7 +36,11 @@ import javax.xml.transform.stream.StreamSource; * @author Erik Brakkee */ public class ClasspathUriResolverTest extends TestCase { - private URIResolver resolver; + 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) @@ -45,23 +52,66 @@ public class ClasspathUriResolverTest extends TestCase { resolver = new ClasspathUriResolver(); } + /** + * Resolves a non-existing file. Verifies that a TransformerException is + * thrown. + * + */ + 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 * @throws IOException */ - public void testResolveExistingFile() throws TransformerException, - IOException { - Source source = resolver - .resolve("org/wamblee/xml/reportToHtml.xsl", ""); - assertTrue(source instanceof StreamSource); + public void testResolveExistingFileLSResourceResolver() + throws TransformerException, IOException { + LSInput source = resolver.resolveResource(null, null, "kees", + EXISTING_RESOURCE, null); + assertNotNull(source); + + assertEquals("kees", source.getPublicId()); + assertEquals(EXISTING_RESOURCE, source.getSystemId()); - String resolved = FileSystemUtils.read(((StreamSource) source) - .getInputStream()); + String resolved = FileSystemUtils.read(source.getByteStream()); ClassPathResource resource = new ClassPathResource( - "org/wamblee/xml/reportToHtml.xsl"); + EXISTING_RESOURCE); + 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); } @@ -71,14 +121,9 @@ public class ClasspathUriResolverTest extends TestCase { * thrown. * */ - public void testResolveNonExistingFile() { - try { - Source source = resolver.resolve( - "org/wamblee/xml/reportToHtml-nonexisting.xsl", ""); - } catch (TransformerException e) { - return; // ok - } - - fail(); + public void testResolveNonExistingFileLSResourceResolver() { + LSInput input = resolver.resolveResource(null, null, "kees", + NON_EXISTING_RESOURCE, null); + assertNull(input); } }