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>
