This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 2522b5a01ee6a4cabd6094745e664e72df799568 Author: Mark Thomas <ma...@apache.org> AuthorDate: Mon Nov 11 11:29:03 2019 +0000 Refactor response header handling in unit tests 1. Use CaseInsensitiveKeyMap to store received headers 2. Use the getSingleHeader() utility method This results in a small reduction in duplicate code. --- test/javax/servlet/http/TestHttpServlet.java | 7 +- .../apache/catalina/connector/TestResponse.java | 4 +- .../apache/catalina/core/TestAsyncContextImpl.java | 19 ++---- .../catalina/filters/TestAddCharSetFilter.java | 4 +- .../apache/catalina/filters/TestExpiresFilter.java | 16 ++--- .../apache/catalina/mapper/TestMapperWebapps.java | 16 ++--- .../servlets/DefaultServletEncodingBaseTest.java | 6 +- .../apache/catalina/startup/TomcatBaseTest.java | 32 ++++++++- test/org/apache/coyote/TestResponse.java | 75 ++++++++++++++++++++-- .../apache/coyote/http11/TestHttp11Processor.java | 21 +++--- test/org/apache/jasper/compiler/TestCompiler.java | 6 +- test/org/apache/jasper/compiler/TestGenerator.java | 8 +-- test/org/apache/jasper/compiler/TestParser.java | 30 +++------ .../compiler/TestParserNoStrictWhitespace.java | 9 +-- test/org/apache/jasper/servlet/TestTldScanner.java | 3 +- 15 files changed, 152 insertions(+), 104 deletions(-) diff --git a/test/javax/servlet/http/TestHttpServlet.java b/test/javax/servlet/http/TestHttpServlet.java index 331a0f6..8c03ee3 100644 --- a/test/javax/servlet/http/TestHttpServlet.java +++ b/test/javax/servlet/http/TestHttpServlet.java @@ -31,6 +31,7 @@ import org.apache.catalina.core.StandardContext; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap; public class TestHttpServlet extends TomcatBaseTest { @@ -92,13 +93,13 @@ public class TestHttpServlet extends TomcatBaseTest { tomcat.start(); - Map<String,List<String>> resHeaders= new HashMap<>(); + Map<String,List<String>> resHeaders= new CaseInsensitiveKeyMap<>(); String path = "http://localhost:" + getPort() + "/outer"; ByteChunk out = new ByteChunk(); int rc = getUrl(path, out, resHeaders); Assert.assertEquals(HttpServletResponse.SC_OK, rc); - String length = resHeaders.get("Content-Length").get(0); + String length = getSingleHeader("Content-Length", resHeaders); Assert.assertEquals(Long.parseLong(length), out.getLength()); out.recycle(); @@ -124,7 +125,7 @@ public class TestHttpServlet extends TomcatBaseTest { tomcat.start(); - Map<String,List<String>> getHeaders = new HashMap<>(); + Map<String,List<String>> getHeaders = new CaseInsensitiveKeyMap<>(); String path = "http://localhost:" + getPort() + "/chunking"; ByteChunk out = new ByteChunk(); diff --git a/test/org/apache/catalina/connector/TestResponse.java b/test/org/apache/catalina/connector/TestResponse.java index 415b4d3..14f78f3 100644 --- a/test/org/apache/catalina/connector/TestResponse.java +++ b/test/org/apache/catalina/connector/TestResponse.java @@ -18,7 +18,6 @@ package org.apache.catalina.connector; import java.io.IOException; import java.io.PrintWriter; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,6 +36,7 @@ import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.unittest.TesterRequest; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap; /** * Test case for {@link Request}. @@ -56,7 +56,7 @@ public class TestResponse extends TomcatBaseTest { tomcat.start(); - Map<String,List<String>> headers = new HashMap<>(); + Map<String,List<String>> headers = new CaseInsensitiveKeyMap<>(); getUrl("http://localhost:" + getPort() + "/", new ByteChunk(), headers); // Check for headers without a name diff --git a/test/org/apache/catalina/core/TestAsyncContextImpl.java b/test/org/apache/catalina/core/TestAsyncContextImpl.java index ccf3228..d305cbd 100644 --- a/test/org/apache/catalina/core/TestAsyncContextImpl.java +++ b/test/org/apache/catalina/core/TestAsyncContextImpl.java @@ -21,8 +21,6 @@ import java.io.PrintWriter; import java.net.URI; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; @@ -65,6 +63,7 @@ import org.apache.catalina.startup.TomcatBaseTest; import org.apache.catalina.valves.TesterAccessLogValve; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap; import org.apache.tomcat.util.descriptor.web.ErrorPage; import org.easymock.EasyMock; @@ -231,14 +230,12 @@ public class TestAsyncContextImpl extends TomcatBaseTest { // Call the servlet once ByteChunk bc = new ByteChunk(); - Map<String,List<String>> headers = new HashMap<>(); + Map<String,List<String>> headers = new CaseInsensitiveKeyMap<>(); getUrl("http://localhost:" + getPort() + "/", bc, headers); Assert.assertEquals("OK", bc.toString()); - List<String> contentLength = headers.get("Content-Length"); - Assert.assertNotNull(contentLength); - Assert.assertEquals(1, contentLength.size()); - Assert.assertEquals("2", contentLength.get(0)); + String contentLength = getSingleHeader("Content-Length", headers); + Assert.assertEquals("2", contentLength); // Check the access log alv.validateAccessLog(1, 200, 0, REQUEST_TIME); @@ -1170,15 +1167,13 @@ public class TestAsyncContextImpl extends TomcatBaseTest { tomcat.start(); // Call the servlet once - Map<String,List<String>> headers = new LinkedHashMap<>(); + Map<String,List<String>> headers = new CaseInsensitiveKeyMap<>(); ByteChunk bc = new ByteChunk(); int rc = getUrl("http://localhost:" + getPort() + "/", bc, headers); Assert.assertEquals(200, rc); Assert.assertEquals("OK", bc.toString()); - List<String> testHeader = headers.get("A"); - Assert.assertNotNull(testHeader); - Assert.assertEquals(1, testHeader.size()); - Assert.assertEquals("xyz",testHeader.get(0)); + String testHeader = getSingleHeader("A", headers); + Assert.assertEquals("xyz",testHeader); // Check the access log alv.validateAccessLog(1, 200, Bug50753Servlet.THREAD_SLEEP_TIME, diff --git a/test/org/apache/catalina/filters/TestAddCharSetFilter.java b/test/org/apache/catalina/filters/TestAddCharSetFilter.java index 3b8bf0c..2443b1b 100644 --- a/test/org/apache/catalina/filters/TestAddCharSetFilter.java +++ b/test/org/apache/catalina/filters/TestAddCharSetFilter.java @@ -120,9 +120,7 @@ public class TestAddCharSetFilter extends TomcatBaseTest { Map<String, List<String>> headers = new HashMap<>(); getUrl("http://localhost:" + getPort() + "/", new ByteChunk(), headers); - List<String> ctHeaders = headers.get("Content-Type"); - Assert.assertEquals(1, ctHeaders.size()); - String ct = ctHeaders.get(0).toLowerCase(Locale.ENGLISH); + String ct = getSingleHeader("Content-Type", headers).toLowerCase(Locale.ENGLISH); Assert.assertEquals("text/plain;charset=" + expected.toLowerCase(Locale.ENGLISH), ct); } diff --git a/test/org/apache/catalina/filters/TestExpiresFilter.java b/test/org/apache/catalina/filters/TestExpiresFilter.java index d6a2429..4049eb7 100644 --- a/test/org/apache/catalina/filters/TestExpiresFilter.java +++ b/test/org/apache/catalina/filters/TestExpiresFilter.java @@ -18,7 +18,6 @@ package org.apache.catalina.filters; import java.io.IOException; -import java.net.HttpURLConnection; import java.util.Calendar; import java.util.HashMap; import java.util.List; @@ -368,12 +367,13 @@ public class TestExpiresFilter extends TomcatBaseTest { protected void validate(HttpServlet servlet, Integer expectedMaxAgeInSeconds) throws Exception { - validate(servlet, expectedMaxAgeInSeconds, HttpURLConnection.HTTP_OK); + validate(servlet, expectedMaxAgeInSeconds, HttpServletResponse.SC_OK); } protected void validate(HttpServlet servlet, Integer expectedMaxAgeInSeconds, int expectedResponseStatusCode) throws Exception { + // SETUP Tomcat tomcat = getTomcatInstance(); @@ -429,11 +429,7 @@ public class TestExpiresFilter extends TomcatBaseTest { Integer actualMaxAgeInSeconds; - String cacheControlHeader = null; - List<String> cacheControlHeaders = responseHeaders.get("Cache-Control"); - if (cacheControlHeaders != null && cacheControlHeaders.size() == 1) { - cacheControlHeader = cacheControlHeaders.get(0); - } + String cacheControlHeader = getSingleHeader("Cache-Control", responseHeaders); if (cacheControlHeader == null) { actualMaxAgeInSeconds = null; @@ -465,11 +461,7 @@ public class TestExpiresFilter extends TomcatBaseTest { Assert.assertNotNull(actualMaxAgeInSeconds); - String contentType = null; - List<String> contentTypeHeaders = responseHeaders.get("Content-Type"); - if (contentTypeHeaders != null && contentTypeHeaders.size() == 1) { - contentType = contentTypeHeaders.get(0); - } + String contentType = getSingleHeader("Content-Type", responseHeaders); int deltaInSeconds = Math.abs(actualMaxAgeInSeconds.intValue() - expectedMaxAgeInSeconds.intValue()); diff --git a/test/org/apache/catalina/mapper/TestMapperWebapps.java b/test/org/apache/catalina/mapper/TestMapperWebapps.java index 4fc9bd5..fa453dd 100644 --- a/test/org/apache/catalina/mapper/TestMapperWebapps.java +++ b/test/org/apache/catalina/mapper/TestMapperWebapps.java @@ -18,8 +18,6 @@ package org.apache.catalina.mapper; import java.io.File; import java.io.IOException; -import java.util.HashMap; -import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -186,14 +184,11 @@ public class TestMapperWebapps extends TomcatBaseTest{ tomcat.start(); ByteChunk bc = new ByteChunk(); - int rc = getUrl("http://localhost:" + getPort() + - "/test/welcome-files", bc, new HashMap<String,List<String>>()); + int rc = getUrl("http://localhost:" + getPort() + "/test/welcome-files", bc, null); Assert.assertEquals(HttpServletResponse.SC_OK, rc); Assert.assertTrue(bc.toString().contains("JSP")); - rc = getUrl("http://localhost:" + getPort() + - "/test/welcome-files/sub", bc, - new HashMap<String,List<String>>()); + rc = getUrl("http://localhost:" + getPort() + "/test/welcome-files/sub", bc, null); Assert.assertEquals(HttpServletResponse.SC_OK, rc); Assert.assertTrue(bc.toString().contains("Servlet")); } @@ -217,14 +212,11 @@ public class TestMapperWebapps extends TomcatBaseTest{ tomcat.start(); ByteChunk bc = new ByteChunk(); - int rc = getUrl("http://localhost:" + getPort() + - "/test/welcome-files", bc, new HashMap<String,List<String>>()); + int rc = getUrl("http://localhost:" + getPort() + "/test/welcome-files", bc, null); Assert.assertEquals(HttpServletResponse.SC_OK, rc); Assert.assertTrue(bc.toString().contains("JSP")); - rc = getUrl("http://localhost:" + getPort() + - "/test/welcome-files/sub", bc, - new HashMap<String,List<String>>()); + rc = getUrl("http://localhost:" + getPort() + "/test/welcome-files/sub", bc, null); Assert.assertEquals(HttpServletResponse.SC_NOT_FOUND, rc); } diff --git a/test/org/apache/catalina/servlets/DefaultServletEncodingBaseTest.java b/test/org/apache/catalina/servlets/DefaultServletEncodingBaseTest.java index 6640494..7a1b1c9 100644 --- a/test/org/apache/catalina/servlets/DefaultServletEncodingBaseTest.java +++ b/test/org/apache/catalina/servlets/DefaultServletEncodingBaseTest.java @@ -200,9 +200,9 @@ public abstract class DefaultServletEncodingBaseTest extends TomcatBaseTest { int rc = getUrl(target, res, headers); Assert.assertEquals(HttpServletResponse.SC_OK, rc); - List<String> values = headers.get("Content-Type"); - if (values != null && values.size() == 1) { - MediaType mediaType = MediaType.parseMediaType(new StringReader(values.get(0))); + String contentType = getSingleHeader("Content-Type", headers); + if (contentType != null) { + MediaType mediaType = MediaType.parseMediaType(new StringReader(contentType)); String charset = mediaType.getCharset(); if (charset == null) { res.setCharset(B2CConverter.getCharset(outputEncoding)); diff --git a/test/org/apache/catalina/startup/TomcatBaseTest.java b/test/org/apache/catalina/startup/TomcatBaseTest.java index b7c5fb4..ac7c3f5 100644 --- a/test/org/apache/catalina/startup/TomcatBaseTest.java +++ b/test/org/apache/catalina/startup/TomcatBaseTest.java @@ -693,8 +693,13 @@ public abstract class TomcatBaseTest extends LoggingBaseTest { connection.connect(); int rc = connection.getResponseCode(); if (resHead != null) { - Map<String, List<String>> head = connection.getHeaderFields(); - resHead.putAll(head); + // Skip the entry with null key that is used for the response line + // that some Map implementations may not accept. + for (Map.Entry<String, List<String>> entry : connection.getHeaderFields().entrySet()) { + if (entry.getKey() != null) { + resHead.put(entry.getKey(), entry.getValue()); + } + } } InputStream is; if (rc < 400) { @@ -824,6 +829,29 @@ public abstract class TomcatBaseTest extends LoggingBaseTest { } } + protected static String getSingleHeader(String header, Map<String,List<String>> headers) { + // Assume headers is never null + + // Assume that either: + // a) is correct since HTTP headers are case insensitive but most Map + // implementations are case-sensitive; or + // b) CaseInsensitiveKeyMap or similar is used + List<String> headerValues = headers.get(header); + + // Looking for a single header. No matches are OK + if (headerValues == null) { + return null; + } + + // Found a single header - return the header value + if (headerValues.size() == 1) { + return headerValues.get(0); + } + + // More than one header value is an error + throw new IllegalStateException("Found multiple headers for [" + header + "]"); + } + private static class TomcatWithFastSessionIDs extends Tomcat { @Override diff --git a/test/org/apache/coyote/TestResponse.java b/test/org/apache/coyote/TestResponse.java index ded1b07..15ecc3a 100644 --- a/test/org/apache/coyote/TestResponse.java +++ b/test/org/apache/coyote/TestResponse.java @@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.apache.catalina.Context; @@ -58,10 +59,9 @@ public class TestResponse extends TomcatBaseTest { responseHeaders); Assert.assertEquals(HttpServletResponse.SC_OK, rc); - Assert.assertTrue(responseHeaders.containsKey("Content-Type")); - List<String> contentType = responseHeaders.get("Content-Type"); - Assert.assertEquals(1, contentType.size()); - Assert.assertEquals("text/plain;charset=uTf-8", contentType.get(0)); + + String contentType = getSingleHeader("Content-Type", responseHeaders); + Assert.assertEquals("text/plain;charset=uTf-8", contentType); } @@ -78,4 +78,71 @@ public class TestResponse extends TomcatBaseTest { resp.getWriter().print("OK"); } } + + + @Test + public void testContentTypeWithSpace() throws Exception { + doTestContentTypeSpacing(true); + } + + + @Ignore // Disabled until Bug 62912 is addressed + @Test + public void testContentTypeWithoutSpace() throws Exception { + doTestContentTypeSpacing(false); + } + + + private void doTestContentTypeSpacing(boolean withSpace) throws Exception { + Tomcat tomcat = getTomcatInstance(); + + // No file system docBase required + Context ctx = tomcat.addContext("", null); + + // Add servlet + Tomcat.addServlet(ctx, "ContentTypeServlet", new ContentTypeServlet()); + ctx.addServletMappingDecoded("/*", "ContentTypeServlet"); + + tomcat.start(); + + ByteChunk responseBody = new ByteChunk(); + Map<String,List<String>> responseHeaders = new HashMap<>(); + StringBuilder uri = new StringBuilder("http://localhost:"); + uri.append(getPort()); + uri.append("/test"); + if (withSpace) { + uri.append("?withSpace=true"); + } + int rc = getUrl(uri.toString(), responseBody, responseHeaders); + + Assert.assertEquals(HttpServletResponse.SC_OK, rc); + + String contentType = getSingleHeader("Content-Type", responseHeaders); + StringBuilder expected = new StringBuilder("text/plain;"); + if (withSpace) { + expected.append(" "); + } + expected.append("v=1;charset=UTF-8"); + Assert.assertEquals(expected.toString() , contentType); + } + + + private static class ContentTypeServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + if (req.getParameter("withSpace") == null) { + resp.setContentType("text/plain;v=1"); + } else { + resp.setContentType("text/plain; v=1"); + } + resp.setCharacterEncoding("UTF-8"); + + resp.getWriter().print("OK"); + } + } } diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index 6bd175e..7759df6 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -401,10 +401,9 @@ public class TestHttp11Processor extends TomcatBaseTest { responseHeaders); Assert.assertEquals(HttpServletResponse.SC_OK, rc); - Assert.assertTrue(responseHeaders.containsKey("Transfer-Encoding")); - List<String> encodings = responseHeaders.get("Transfer-Encoding"); - Assert.assertEquals(1, encodings.size()); - Assert.assertEquals("chunked", encodings.get(0)); + + String transferEncoding = getSingleHeader("Transfer-Encoding", responseHeaders); + Assert.assertEquals("chunked", transferEncoding); } @Test @@ -430,10 +429,8 @@ public class TestHttp11Processor extends TomcatBaseTest { Assert.assertEquals(HttpServletResponse.SC_OK, rc); - Assert.assertTrue(responseHeaders.containsKey("Connection")); - List<String> connections = responseHeaders.get("Connection"); - Assert.assertEquals(1, connections.size()); - Assert.assertEquals("close", connections.get(0)); + String connection = getSingleHeader("Connection", responseHeaders); + Assert.assertEquals("close", connection); Assert.assertFalse(responseHeaders.containsKey("Transfer-Encoding")); @@ -463,9 +460,7 @@ public class TestHttp11Processor extends TomcatBaseTest { tomcat.start(); ByteChunk responseBody = new ByteChunk(); - Map<String,List<String>> responseHeaders = new HashMap<>(); - int rc = getUrl("http://localhost:" + getPort() + "/test", responseBody, - responseHeaders); + int rc = getUrl("http://localhost:" + getPort() + "/test", responseBody, null); Assert.assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, rc); if (responseBody.getLength() > 0) { @@ -992,8 +987,8 @@ public class TestHttp11Processor extends TomcatBaseTest { int rc = getUrl("http://localhost:" + getPort() + "/test", responseBody, responseHeaders); Assert.assertEquals(HttpServletResponse.SC_RESET_CONTENT, rc); - Assert.assertNotNull(responseHeaders.get("Content-Length")); - Assert.assertTrue("0".equals(responseHeaders.get("Content-Length").get(0))); + String contentLength = getSingleHeader("Content-Length", responseHeaders); + Assert.assertEquals("0", contentLength); Assert.assertTrue(responseBody.getLength() == 0); } diff --git a/test/org/apache/jasper/compiler/TestCompiler.java b/test/org/apache/jasper/compiler/TestCompiler.java index 200e8f2..e89a4d2 100644 --- a/test/org/apache/jasper/compiler/TestCompiler.java +++ b/test/org/apache/jasper/compiler/TestCompiler.java @@ -48,7 +48,8 @@ public class TestCompiler extends TomcatBaseTest { assertEcho(result, "OK"); // Check content type - Assert.assertTrue(headers.get("Content-Type").get(0).startsWith("text/html")); + String contentType = getSingleHeader("Content-Type", headers); + Assert.assertTrue(contentType.startsWith("text/html")); } @Test @@ -66,7 +67,8 @@ public class TestCompiler extends TomcatBaseTest { assertEcho(result, "OK"); // Check content type - Assert.assertTrue(headers.get("Content-Type").get(0).startsWith("text/plain")); + String contentType = getSingleHeader("Content-Type", headers); + Assert.assertTrue(contentType.startsWith("text/plain")); } @Test diff --git a/test/org/apache/jasper/compiler/TestGenerator.java b/test/org/apache/jasper/compiler/TestGenerator.java index 78c4feb..ca6f568 100644 --- a/test/org/apache/jasper/compiler/TestGenerator.java +++ b/test/org/apache/jasper/compiler/TestGenerator.java @@ -19,9 +19,6 @@ package org.apache.jasper.compiler; import java.io.IOException; import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspException; @@ -183,10 +180,7 @@ public class TestGenerator extends TomcatBaseTest { getTomcatInstanceTestWebapp(false, true); ByteChunk res = new ByteChunk(); - Map<String,List<String>> headers = new HashMap<>(); - - getUrl("http://localhost:" + getPort() + "/test/bug49nnn/bug49799.jsp", - res, headers); + getUrl("http://localhost:" + getPort() + "/test/bug49nnn/bug49799.jsp", res, null); // Check request completed String result = res.toString(); diff --git a/test/org/apache/jasper/compiler/TestParser.java b/test/org/apache/jasper/compiler/TestParser.java index 0a79a16..c9035be 100644 --- a/test/org/apache/jasper/compiler/TestParser.java +++ b/test/org/apache/jasper/compiler/TestParser.java @@ -16,9 +16,6 @@ */ package org.apache.jasper.compiler; -import java.util.HashMap; -import java.util.List; - import org.junit.Assert; import org.junit.Test; @@ -100,8 +97,7 @@ public class TestParser extends TomcatBaseTest { getTomcatInstanceTestWebapp(false, true); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297NoSpace.jsp", new ByteChunk(), - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297NoSpace.jsp", new ByteChunk(), null); Assert.assertEquals(500, sc); } @@ -111,8 +107,7 @@ public class TestParser extends TomcatBaseTest { getTomcatInstanceTestWebapp(false, true); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297DuplicateAttr.jsp", new ByteChunk(), - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297DuplicateAttr.jsp", new ByteChunk(), null); Assert.assertEquals(500, sc); } @@ -123,8 +118,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultipleImport1.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultipleImport1.jsp", res, null); Assert.assertEquals(200, sc); assertEcho(res.toString(), "OK"); @@ -136,8 +130,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultipleImport2.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultipleImport2.jsp", res, null); Assert.assertEquals(200, sc); assertEcho(res.toString(), "OK"); @@ -149,8 +142,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultiplePageEncoding1.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultiplePageEncoding1.jsp", res, null); Assert.assertEquals(500, sc); } @@ -161,8 +153,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultiplePageEncoding2.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultiplePageEncoding2.jsp", res, null); Assert.assertEquals(500, sc); } @@ -173,8 +164,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultiplePageEncoding3.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultiplePageEncoding3.jsp", res, null); Assert.assertEquals(500, sc); } @@ -185,8 +175,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297MultiplePageEncoding4.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297MultiplePageEncoding4.jsp", res, null); Assert.assertEquals(500, sc); } @@ -197,8 +186,7 @@ public class TestParser extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297Tag.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297Tag.jsp", res, null); Assert.assertEquals(200, sc); assertEcho(res.toString(), "OK"); diff --git a/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java b/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java index a467239..19f9633 100644 --- a/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java +++ b/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java @@ -17,9 +17,6 @@ package org.apache.jasper.compiler; -import java.util.HashMap; -import java.util.List; - import org.junit.Assert; import org.junit.Test; @@ -110,8 +107,7 @@ public class TestParserNoStrictWhitespace extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297NoSpace.jsp", res, - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297NoSpace.jsp", res, null); Assert.assertEquals(200, sc); @@ -123,8 +119,7 @@ public class TestParserNoStrictWhitespace extends TomcatBaseTest { getTomcatInstanceTestWebapp(false, true); int sc = getUrl("http://localhost:" + getPort() + - "/test/bug49nnn/bug49297DuplicateAttr.jsp", new ByteChunk(), - new HashMap<String,List<String>>()); + "/test/bug49nnn/bug49297DuplicateAttr.jsp", new ByteChunk(), null); Assert.assertEquals(500, sc); } diff --git a/test/org/apache/jasper/servlet/TestTldScanner.java b/test/org/apache/jasper/servlet/TestTldScanner.java index 34b8c6c..4bae692 100644 --- a/test/org/apache/jasper/servlet/TestTldScanner.java +++ b/test/org/apache/jasper/servlet/TestTldScanner.java @@ -84,7 +84,8 @@ public class TestTldScanner extends TomcatBaseTest { // Check content type - Assert.assertTrue(headers.get("Content-Type").get(0).startsWith("text/html")); + String contentType = getSingleHeader("Content-Type", headers); + Assert.assertTrue(contentType.startsWith("text/html")); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org