X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxml%2FClasspathUriResolverTest.java;h=7abe5d2ad8951b86bd092278fce95caed68434c8;hb=df850821cf26ca07ef2474d4d2cabb61e9104291;hp=01c904795151574e7c1ad6848c7e200f729e4e78;hpb=ddd261f331280640c5b53c7128230b629ebcd268;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 01c90479..7abe5d2a 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. @@ -17,6 +17,8 @@ package org.wamblee.xml; 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; @@ -27,16 +29,19 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.stream.StreamSource; - /** * Tests for {@link org.wamblee.xml.ClasspathUriResolver}. - * + * * @author Erik Brakkee */ public class ClasspathUriResolverTest extends TestCase { - private URIResolver resolver; + private static final String EXISTING_RESOURCE = "org/wamblee/xml/reportToHtml.xsl"; + private static final String NON_EXISTING_RESOURCE = "org/wamblee/xml/reportToHtml-nonexisting.xsl"; + private ClasspathUriResolver resolver; - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see junit.framework.TestCase#setUp() */ @Override @@ -46,34 +51,72 @@ public class ClasspathUriResolverTest extends TestCase { /** * Resolves an existing file. Verifies the file is resolved correctly. + * * @throws TransformerException * @throws IOException */ - public void testResolveExistingFile() + public void testResolveExistingFileURIResolver() throws TransformerException, IOException { - Source source = resolver.resolve("org/wamblee/xml/reportToHtml.xsl", ""); + Source source = resolver + .resolve(EXISTING_RESOURCE, ""); assertTrue(source instanceof StreamSource); - String resolved = FileSystemUtils.read(((StreamSource) source).getInputStream()); + String resolved = FileSystemUtils.read(((StreamSource) source) + .getInputStream()); ClassPathResource resource = new ClassPathResource( - "org/wamblee/xml/reportToHtml.xsl"); + EXISTING_RESOURCE); String expected = FileSystemUtils.read(resource.getInputStream()); assertEquals(expected, resolved); } /** - * Resolves a non-existing file. Verifies that a TransformerException is thrown. - * + * Resolves a non-existing file. Verifies that a TransformerException is + * thrown. + * */ - public void testResolveNonExistingFile() { + public void testResolveNonExistingFileURIResolver() { try { - Source source = resolver.resolve("org/wamblee/xml/reportToHtml-nonexisting.xsl", - ""); + 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 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(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. + * + */ + public void testResolveNonExistingFileLSResourceResolver() { + LSInput input = resolver.resolveResource(null, null, "kees", + NON_EXISTING_RESOURCE, null); + assertNull(input); + } }