This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new de0cc4cf36 Add simple directory listing test
de0cc4cf36 is described below

commit de0cc4cf36fbb1b7a1a8a51aa1ca41d69642c78d
Author: remm <r...@apache.org>
AuthorDate: Wed Nov 20 21:55:30 2024 +0100

    Add simple directory listing test
---
 .../catalina/servlets/TestDefaultServlet.java      | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/test/org/apache/catalina/servlets/TestDefaultServlet.java 
b/test/org/apache/catalina/servlets/TestDefaultServlet.java
index 9842509782..891aabb21a 100644
--- a/test/org/apache/catalina/servlets/TestDefaultServlet.java
+++ b/test/org/apache/catalina/servlets/TestDefaultServlet.java
@@ -680,4 +680,44 @@ public class TestDefaultServlet extends TomcatBaseTest {
         Assert.assertEquals(0, out.getLength());
         Assert.assertNull(resHeaders.get("Content-Length"));
     }
+
+    @Test
+    public void testDirectoryListing() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+
+        File appDir = new File("test/webapp");
+        Context ctxt = tomcat.addContext("", appDir.getAbsolutePath());
+
+        Wrapper defaultServlet = Tomcat.addServlet(ctxt, "default", new 
DefaultServlet());
+        defaultServlet.addInitParameter("listings", "true");
+        defaultServlet.addInitParameter("sortListings", "true");
+        defaultServlet.addInitParameter("sortDirectoriesFirst", "true");
+
+        ctxt.addServletMappingDecoded("/", "default");
+
+        tomcat.start();
+
+        TestCompressedClient client = new TestCompressedClient(getPort());
+
+        client.setRequest(new String[] { "GET / HTTP/1.1" + 
SimpleHttpClient.CRLF +
+                "Host: localhost:" + getPort() + SimpleHttpClient.CRLF +
+                "Accept-Language: fr-FR, fr, en" + SimpleHttpClient.CRLF +
+                "Connection: Close" + SimpleHttpClient.CRLF +
+                SimpleHttpClient.CRLF });
+        client.connect();
+        client.processRequest(true);
+        Assert.assertEquals(HttpServletResponse.SC_OK, client.getStatusCode());
+        Assert.assertTrue(client.getResponseBody().contains("Taille"));
+        Assert.assertTrue(client.getResponseBody().contains("<tt>bug43nnn/"));
+
+        client.setRequest(new String[] { "GET /bug43nnn/ HTTP/1.1" + 
SimpleHttpClient.CRLF +
+                "Host: localhost:" + getPort() + SimpleHttpClient.CRLF +
+                "Accept-Language: fr-FR, fr, en" + SimpleHttpClient.CRLF +
+                "Connection: Close" + SimpleHttpClient.CRLF +
+                SimpleHttpClient.CRLF });
+        client.connect();
+        client.processRequest(true);
+        Assert.assertEquals(HttpServletResponse.SC_OK, client.getStatusCode());
+
+    }
 }


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

Reply via email to