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

ddekany pushed a commit to branch 3
in repository https://gitbox.apache.org/repos/asf/freemarker.git

commit 5dc0034d132006fd7f45c9ea88286d18bf2e7434
Author: ddekany <[email protected]>
AuthorDate: Thu Dec 28 21:53:28 2023 +0100

    Servlet/JSP tests: Managed to downgrade to Jetty 11, if we use Spring 6.1.x 
mocks instead of 6.0. Updated display tag to 3.x, which works with Jakarta. 
Could re-enable some of the test cases.
---
 freemarker-servlet/build.gradle.kts                  | 20 +++++++++-----------
 .../freemarker/servlet/DummyMockServletContext.java  | 20 ++++++++++++++++++++
 .../servlet/jsp/RealServletContainertTest.java       |  9 ++-------
 .../freemarker/servlet/test/WebAppTestCase.java      |  6 +++---
 .../webapps/tldDiscovery/WEB-INF/expected/test1.txt  |  2 +-
 5 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/freemarker-servlet/build.gradle.kts 
b/freemarker-servlet/build.gradle.kts
index 2b561a67..f2dd0210 100644
--- a/freemarker-servlet/build.gradle.kts
+++ b/freemarker-servlet/build.gradle.kts
@@ -42,16 +42,17 @@ dependencies {
     // which we use in tests, jump from Servlet 4 (javax) to 6 (jakarta). So, 
we have to go with 12.
     // (Note that Jetty artifact names, package names were completely changed 
in 12, also some old API-s
     // were replaced with something else. So our test utility code is affected 
by this as well.)
-    val jettyVersion = "12.0.5"
-    // ".ee10" means Jakarta EE 10 => Servlet 6, JSP 3.1, JSTL 3.0
-    
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-webapp:$jettyVersion")
-    
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-annotations:$jettyVersion")
-    
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-apache-jsp:$jettyVersion")
-    
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-glassfish-jstl:$jettyVersion")
+    val jettyVersion = "11.0.19"
+    testImplementation("org.eclipse.jetty:jetty-webapp:$jettyVersion")
+    testImplementation("org.eclipse.jetty:jetty-annotations:$jettyVersion")
+    testImplementation("org.eclipse.jetty:apache-jsp:$jettyVersion")
     testImplementation("org.eclipse.jetty:jetty-slf4j-impl:$jettyVersion")
     // Jetty also contains the servlet-api and jsp-api and el-api classes
 
-    testImplementation("com.github.hazendaz:displaytag:2.5.3") {
+    // JSP JSTL (not included in Jetty):
+    testImplementation("org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.1")
+
+    testImplementation("com.github.hazendaz:displaytag:3.0.0-M2") {
         exclude(group = "com.lowagie", module = "itext")
         // We manage logging centrally:
         exclude(group = "org.slf4j", module = "slf4j-log4j12")
@@ -59,10 +60,7 @@ dependencies {
         exclude(group = "log4j", module = "log4j")
     }
 
-    // Override Java 9 incompatible version (coming from displaytag):
-    testImplementation("commons-lang:commons-lang:2.6")
-
-    val springVersion = "6.0.15"
+    val springVersion = "6.1.2"
     testImplementation("org.springframework:spring-core:$springVersion")
     testImplementation("org.springframework:spring-web:$springVersion")
     testImplementation("org.springframework:spring-test:$springVersion")
diff --git 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/DummyMockServletContext.java
 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/DummyMockServletContext.java
index bda0fd93..56a9f3f3 100644
--- 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/DummyMockServletContext.java
+++ 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/DummyMockServletContext.java
@@ -82,6 +82,21 @@ public class DummyMockServletContext implements 
ServletContext {
         return null;
     }
 
+    @Override
+    public Servlet getServlet(String s) throws ServletException {
+        return null;
+    }
+
+    @Override
+    public Enumeration<Servlet> getServlets() {
+        return null;
+    }
+
+    @Override
+    public Enumeration<String> getServletNames() {
+        return null;
+    }
+
     @Override
     public String getRealPath(String arg0) {
         return null;
@@ -122,6 +137,11 @@ public class DummyMockServletContext implements 
ServletContext {
         
     }
 
+    @Override
+    public void log(Exception e, String s) {
+
+    }
+
     @Override
     public void log(String arg0, Throwable arg1) {
         
diff --git 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
index 8b76a936..27540e2f 100644
--- 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
+++ 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
@@ -59,7 +59,7 @@ public class RealServletContainertTest extends WebAppTestCase 
{
     private static final String WEBAPP_MULTIPLE_LOADERS = "multipleLoaders";
 
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
+    @Ignore // Doesn't work since switched to Jetty 11 (Jakarta)
     public void basicTrivial() throws Exception {
         assertJSPAndFTLOutputEquals(WEBAPP_BASIC, "tester?view=trivial");
     }
@@ -103,7 +103,6 @@ public class RealServletContainertTest extends 
WebAppTestCase {
     }
     
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
     public void tldDiscoveryBasic() throws Exception {
         try {
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
@@ -114,7 +113,6 @@ public class RealServletContainertTest extends 
WebAppTestCase {
     }
 
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
     public void tldDiscoveryBasicDefultOverride() throws Exception {
         try {
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
@@ -126,7 +124,6 @@ public class RealServletContainertTest extends 
WebAppTestCase {
     }
     
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
     public void tldDiscoveryEmulatedProblems1() throws Exception {
         try {
             JspTestFreemarkerServlet.emulateNoJarURLConnections = true;
@@ -138,7 +135,6 @@ public class RealServletContainertTest extends 
WebAppTestCase {
     }
 
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
     public void tldDiscoveryEmulatedProblems2() throws Exception {
         try {
             JspTestFreemarkerServlet.emulateNoJarURLConnections = true;
@@ -156,7 +152,6 @@ public class RealServletContainertTest extends 
WebAppTestCase {
     }
 
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
     public void tldDiscoveryClasspathOnly() throws Exception {
         try {
             
System.setProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES, 
"clear, classpath");
@@ -174,7 +169,7 @@ public class RealServletContainertTest extends 
WebAppTestCase {
      * Jetty container's JSTL jar-s will still be discovered.
      */
     @Test
-    @Ignore // Doesn't work since switched to Jakarta (with Jetty 12)
+    @Ignore // Doesn't work since switched to Jetty 11 (Jakarta)
     public void tldDiscoveryNoClasspath() throws Exception {
         try {
             
System.setProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES, 
"clear, webInfPerLibJars");
diff --git 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
index 6e17a44e..1eb6b732 100644
--- 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
+++ 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
@@ -24,12 +24,12 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.freemarker.test.ResourcesExtractor;
 import org.apache.freemarker.test.TestUtils;
-import org.eclipse.jetty.ee10.apache.jsp.JettyJasperInitializer;
-import org.eclipse.jetty.ee10.servlet.listener.ContainerInitializer;
-import org.eclipse.jetty.ee10.webapp.WebAppContext;
+import org.eclipse.jetty.apache.jsp.JettyJasperInitializer;
 import org.eclipse.jetty.server.NetworkConnector;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
+import org.eclipse.jetty.servlet.listener.ContainerInitializer;
+import org.eclipse.jetty.webapp.WebAppContext;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.slf4j.Logger;
diff --git 
a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/tldDiscovery/WEB-INF/expected/test1.txt
 
b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/tldDiscovery/WEB-INF/expected/test1.txt
index 21cd7c91..be4647b2 100644
--- 
a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/tldDiscovery/WEB-INF/expected/test1.txt
+++ 
b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/tldDiscovery/WEB-INF/expected/test1.txt
@@ -49,7 +49,7 @@ a+b
 
 <!-- Test loading from "MetaInfTldSources", set via init-param -->
 Executed TestSimpleTag3
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Name</th>

Reply via email to