From: markt Date: Tue, 28 Jun 2011 18:00:50 +0000 (+0000) Subject: Add a test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=51445 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=969ef6a7257f11e10c77e58201ce4b3848873fde;p=tomcat7.0 Add a test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=51445 git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1140763 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/org/apache/catalina/core/TestStandardWrapper.java b/test/org/apache/catalina/core/TestStandardWrapper.java index 62c791513..e1f4d3418 100644 --- a/test/org/apache/catalina/core/TestStandardWrapper.java +++ b/test/org/apache/catalina/core/TestStandardWrapper.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Set; import javax.servlet.Servlet; +import javax.servlet.ServletConfig; import javax.servlet.ServletContainerInitializer; import javax.servlet.ServletContext; import javax.servlet.ServletException; @@ -326,4 +327,49 @@ public class TestStandardWrapper extends TomcatBaseTest { r.addMapping("/"); } } + + + public void testBug51445() throws Exception { + Tomcat tomcat = getTomcatInstance(); + + // Must have a real docBase - just use temp + StandardContext ctx = (StandardContext) + tomcat.addContext("", System.getProperty("java.io.tmpdir")); + + Tomcat.addServlet(ctx, "Bug51445", new Bug51445Servlet()); + ctx.addServletMapping("/", "Bug51445"); + + tomcat.start(); + + ByteChunk res = getUrl("http://localhost:" + getPort() + "/"); + + assertEquals("10", res.toString()); + } + + + /** + * SingleThreadModel servlet that sets a value in the init() method. + */ + @SuppressWarnings("deprecation") + private static class Bug51445Servlet extends HttpServlet + implements javax.servlet.SingleThreadModel { + + private static final long serialVersionUID = 1L; + + private int data = 0; + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + resp.setContentType("text/plain"); + resp.getWriter().print(data); + } + + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); + data = 10; + } + } }