From 11cf1cad16ab000e5939a42bef8e542875fda42e Mon Sep 17 00:00:00 2001 From: markt Date: Fri, 27 Nov 2009 14:55:26 +0000 Subject: [PATCH] Double-check getResource() works as intended after report of issue with Grails (http://jira.codehaus.org/browse/GRAILS-5038) All seems OK. Maybe a Grails issue? git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@884887 13f79535-47bb-0310-9956-ffa450edef68 --- test/org/apache/catalina/startup/TestTomcat.java | 36 ++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/test/org/apache/catalina/startup/TestTomcat.java b/test/org/apache/catalina/startup/TestTomcat.java index 1a1b78ac2..649dc7c85 100644 --- a/test/org/apache/catalina/startup/TestTomcat.java +++ b/test/org/apache/catalina/startup/TestTomcat.java @@ -18,7 +18,11 @@ package org.apache.catalina.startup; import java.io.File; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; import java.net.URL; +import java.net.URLConnection; import java.security.Principal; import java.util.HashMap; import java.util.Map; @@ -95,8 +99,33 @@ public class TestTomcat extends TomcatBaseTest { if (url == null) { res.getWriter().write("null"); } else { - res.getWriter().write(url.toString()); + res.getWriter().write(url.toString() + "\n"); + res.getWriter().write("The first 20 characters of that resource are:\n"); + + // Read some content from the resource + URLConnection conn = url.openConnection(); + + InputStream is = null; + Reader reader = null; + char cbuf[] = new char[20]; + try { + is = conn.getInputStream(); + reader = new InputStreamReader(is); + reader.read(cbuf); + res.getWriter().write(cbuf); + } finally { + if (reader != null) { + try { reader.close(); } catch(IOException ioe) {/*Ignore*/} + } + if (is != null) { + try { is.close(); } catch(IOException ioe) {/*Ignore*/} + } + } + + } + + } } @@ -242,9 +271,12 @@ public class TestTomcat extends TomcatBaseTest { tomcat.start(); + ByteChunk res = new ByteChunk(); + int rc =getUrl("http://localhost:" + getPort() + contextPath + - "/testGetResource", new ByteChunk(), null); + "/testGetResource", res, null); assertEquals(HttpServletResponse.SC_OK, rc); + assertTrue(res.toString().contains("