From a04773854abede06d4da29365053b2c3776da030 Mon Sep 17 00:00:00 2001 From: erik Date: Mon, 27 Mar 2006 07:29:10 +0000 Subject: [PATCH] --- .classpath | 1 + .../test/org/wamblee/io/myresource.txt | 1 + .../org/wamblee/io/ClassPathResourceTest.java | 58 +++++++++++++++++++ .../org/wamblee/test/FileSystemUtils.java | 19 +++++- 4 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 support/resources/test/org/wamblee/io/myresource.txt create mode 100644 support/test/org/wamblee/io/ClassPathResourceTest.java diff --git a/.classpath b/.classpath index e8c8128b..544ec000 100644 --- a/.classpath +++ b/.classpath @@ -56,5 +56,6 @@ + diff --git a/support/resources/test/org/wamblee/io/myresource.txt b/support/resources/test/org/wamblee/io/myresource.txt new file mode 100644 index 00000000..c72f1105 --- /dev/null +++ b/support/resources/test/org/wamblee/io/myresource.txt @@ -0,0 +1 @@ +This is my resource \ No newline at end of file diff --git a/support/test/org/wamblee/io/ClassPathResourceTest.java b/support/test/org/wamblee/io/ClassPathResourceTest.java new file mode 100644 index 00000000..467da846 --- /dev/null +++ b/support/test/org/wamblee/io/ClassPathResourceTest.java @@ -0,0 +1,58 @@ +/* + * Copyright 2005 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.wamblee.io; + +import java.io.IOException; +import java.io.InputStream; + +import org.wamblee.test.FileSystemUtils; + +import junit.framework.TestCase; + +/** + * Tests for the classpath resource. + */ +public class ClassPathResourceTest extends TestCase { + + /** + * Loads an existing resource from the class path. Verifies it is found. + * + */ + public void testResourceFound() throws IOException { + ClassPathResource resource = new ClassPathResource( + "org/wamblee/io/myresource.txt"); + InputStream is = resource.getInputStream(); + String data = FileSystemUtils.read(is); + assertEquals("This is my resource", data); + } + + /** + * Loads a non-existing resource from the class path. Verifies that an IO + * exception is thrown. + * + */ + public void testResourceNotFound() { + try { + ClassPathResource resource = new ClassPathResource( + "org/wamblee/io/myresource-nonexistent.txt"); + InputStream is = resource.getInputStream(); + } catch (IOException e) { + return; // ok + } + fail(); + } +} diff --git a/support/test/org/wamblee/test/FileSystemUtils.java b/support/test/org/wamblee/test/FileSystemUtils.java index e0309572..3778a970 100644 --- a/support/test/org/wamblee/test/FileSystemUtils.java +++ b/support/test/org/wamblee/test/FileSystemUtils.java @@ -16,6 +16,8 @@ package org.wamblee.test; import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLDecoder; @@ -26,6 +28,8 @@ import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import sun.security.krb5.internal.crypto.b; + /** * File system utilities. */ @@ -66,7 +70,7 @@ public final class FileSystemUtils { public static void deleteDirRecursively(File aDir) { TestCase.assertTrue(aDir.isDirectory()); - for (File file: aDir.listFiles()) { + for (File file : aDir.listFiles()) { if (file.isDirectory()) { deleteDirRecursively(file); } else { @@ -186,4 +190,17 @@ public final class FileSystemUtils { createDir(file.getParentFile()); return file; } + + public static String read(InputStream aIs) throws IOException { + try { + StringBuffer buffer = new StringBuffer(); + int c; + while ((c = aIs.read()) != -1) { + buffer.append((char)c); + } + return buffer.toString(); + } finally { + aIs.close(); + } + } } -- 2.31.1