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());
+ }
}