From: markt Date: Wed, 6 Oct 2010 15:09:37 +0000 (+0000) Subject: Colleague at $work reported issues path parameters and extension mapping so add some... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=4a5001b3eedbd353e52d92dbbcc6206186327c05;p=tomcat7.0 Colleague at $work reported issues path parameters and extension mapping so add some tests. Looks OK. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1005076 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapter.java b/test/org/apache/catalina/connector/TestCoyoteAdapter.java index ac772ea2f..5a9d1adf4 100644 --- a/test/org/apache/catalina/connector/TestCoyoteAdapter.java +++ b/test/org/apache/catalina/connector/TestCoyoteAdapter.java @@ -130,4 +130,34 @@ public class TestCoyoteAdapter extends TomcatBaseTest { pw.write(sessionId); } } + + public void testPathParamExtRootNoParam() throws Exception { + pathParamExtenionTest("/testapp/blah.txt", "none"); + } + + public void testPathParamExtLevel1NoParam() throws Exception { + pathParamExtenionTest("/testapp/blah/blah.txt", "none"); + } + + public void testPathParamExtLevel1WithParam() throws Exception { + pathParamExtenionTest("/testapp/blah;x=y/blah.txt", "none"); + } + + private void pathParamExtenionTest(String path, String expected) + throws Exception { + // Setup Tomcat instance + Tomcat tomcat = getTomcatInstance(); + + // Must have a real docBase - just use temp + Context ctx = + tomcat.addContext("/testapp", System.getProperty("java.io.tmpdir")); + + Tomcat.addServlet(ctx, "servlet", new PathParamServlet()); + ctx.addServletMapping("*.txt", "servlet"); + + tomcat.start(); + + ByteChunk res = getUrl("http://localhost:" + getPort() + path); + assertEquals(expected, res.toString()); + } }