Author: markt
Date: Thu Jun  5 15:20:35 2014
New Revision: 1600679

URL: http://svn.apache.org/r1600679
Log:
Add a test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=56568

Added:
    tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java   (with 
props)
    tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp   (with props)

Added: tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java?rev=1600679&view=auto
==============================================================================
--- tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java (added)
+++ tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java Thu Jun  5 
15:20:35 2014
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.jasper.servlet;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+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;
+import org.apache.catalina.startup.Tomcat;
+import org.apache.catalina.startup.TomcatBaseTest;
+import org.apache.tomcat.util.buf.ByteChunk;
+import org.apache.tomcat.util.descriptor.web.ErrorPage;
+
+public class TestJspServlet  extends TomcatBaseTest {
+
+    @Test
+    @Ignore
+    public void testBug56568() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+
+        // Use the test web application so JSP support is available and the
+        // default JSP error page can be used.
+        File appDir = new File("test/webapp");
+        Context context = tomcat.addWebapp(null, "/test", 
appDir.getAbsolutePath());
+
+        // Create a servlet that always throws an exception for a PUT request
+        Tomcat.addServlet(context, "Bug56568Servlet", new Bug56568Servlet());
+        context.addServletMapping("/bug56568", "Bug56568Servlet");
+
+        // Configure a JSP page to handle the 500 error response
+        // The JSP page will see the same method as the original request (PUT)
+        // PUT requests are normally blocked for JSPs
+        ErrorPage ep = new ErrorPage();
+        ep.setErrorCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+        // Note this location doesn't actually exist
+        ep.setLocation("/WEB-INF/jsp/error.jsp");
+        context.addErrorPage(ep);
+
+        tomcat.start();
+
+        int rc = methodUrl("http://localhost:"; + getPort() + "/test/bug56568",
+                new ByteChunk(), 5000, null, null, "PUT");
+
+        // Make sure we get the original 500 response and not a 405 response
+        // which would indicate that error.jsp is complaining about being 
called
+        // with the PUT method.
+        Assert.assertEquals(500, rc);
+    }
+
+    private static class Bug56568Servlet extends HttpServlet {
+
+        private static final long serialVersionUID = 1L;
+
+        @Override
+        protected void doPut(HttpServletRequest req, HttpServletResponse resp)
+                throws ServletException, IOException {
+            throw new ServletException();
+        }
+    }
+}

Propchange: tomcat/trunk/test/org/apache/jasper/servlet/TestJspServlet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp?rev=1600679&view=auto
==============================================================================
--- tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp (added)
+++ tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp Thu Jun  5 15:20:35 2014
@@ -0,0 +1,22 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+--%>
+<%@page session="false" %>
+<html>
+  <body>
+    <p>ERROR</p>
+  </body>
+</html>
\ No newline at end of file

Propchange: tomcat/trunk/test/webapp/WEB-INF/jsp/error.jsp
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to