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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
     new 93aa57809f Add simple directory listing test
93aa57809f is described below

commit 93aa57809f601400a7b8620e224e8e435ae94a6b
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 889f7909c6..ca64ab1d62 100644
--- a/test/org/apache/catalina/servlets/TestDefaultServlet.java
+++ b/test/org/apache/catalina/servlets/TestDefaultServlet.java
@@ -679,4 +679,44 @@ public class TestDefaultServlet extends TomcatBaseTest {
         Assert.assertEquals(0, out.getLength());
         Assert.assertEquals(length, resHeaders.get("Content-Length").get(0));
     }
+
+    @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