diff options
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | apache-jstl/src/test/java/org/eclipse/jetty/jstl/JspConfig.java | 12 | ||||
-rw-r--r-- | apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java | 41 | ||||
-rw-r--r-- | apache-jstl/src/test/taglibjar/META-INF/etag.tld | 21 | ||||
-rw-r--r-- | apache-jstl/src/test/taglibjar/META-INF/tags/errorhandler.tag | 13 | ||||
-rw-r--r-- | apache-jstl/src/test/taglibjar/META-INF/tags/errortest.tag | 3 | ||||
-rw-r--r-- | apache-jstl/src/test/webapp/catch-basic.jsp | 16 | ||||
-rw-r--r-- | apache-jstl/src/test/webapp/catch-taglib.jsp | 11 |
8 files changed, 103 insertions, 18 deletions
diff --git a/.gitignore b/.gitignore index 52260df362..699c68b16d 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,7 @@ bin/ # merge tooling *.orig + +# test generated content +*/src/test/*/WEB-INF/lib/test*.jar + diff --git a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JspConfig.java b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JspConfig.java index 3ca87d679c..df145af94a 100644 --- a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JspConfig.java +++ b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JspConfig.java @@ -20,19 +20,7 @@ package org.eclipse.jetty.jstl; import java.io.File; import java.net.URI; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.List; -import org.apache.tomcat.InstanceManager; -import org.apache.tomcat.SimpleInstanceManager; -import org.eclipse.jetty.annotations.ServletContainerInitializersStarter; -import org.eclipse.jetty.apache.jsp.JettyJasperInitializer; -import org.eclipse.jetty.jsp.JettyJspServlet; -import org.eclipse.jetty.plus.annotation.ContainerInitializer; -import org.eclipse.jetty.servlet.DefaultServlet; -import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.webapp.WebAppContext; /** diff --git a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java index 858701f67e..6221c1d694 100644 --- a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java +++ b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java @@ -25,19 +25,21 @@ import java.io.File; import java.io.IOException; import java.net.URI; +import javax.servlet.jsp.JspException; + import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.toolchain.test.FS; +import org.eclipse.jetty.toolchain.test.JAR; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.SimpleRequest; -import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.webapp.Configuration; +import org.eclipse.jetty.webapp.WebAppContext; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; -@Ignore public class JstlTest { private static Server server; @@ -54,6 +56,14 @@ public class JstlTest // Setup WebAppContext File testWebAppDir = MavenTestingUtils.getProjectDir("src/test/webapp"); + + // Prepare WebApp libs + File libDir = new File(testWebAppDir, "WEB-INF/lib"); + FS.ensureDirExists(libDir); + File testTagLibDir = MavenTestingUtils.getProjectDir("src/test/taglibjar"); + JAR.create(testTagLibDir,new File(libDir, "testtaglib.jar")); + + // Configure WebAppContext Configuration.ClassList classlist = Configuration.ClassList .setServerDefault(server); @@ -61,7 +71,6 @@ public class JstlTest classlist.addBefore( "org.eclipse.jetty.webapp.JettyWebXmlConfiguration", "org.eclipse.jetty.annotations.AnnotationConfiguration"); - WebAppContext context = new WebAppContext(); context.setContextPath("/"); @@ -99,8 +108,28 @@ public class JstlTest assertThat("Response should be JSP processed", resp, not(containsString("<c:url"))); assertThat("Response", resp, containsString("[c:url value] = /ref.jsp;jsessionid=")); assertThat("Response", resp, containsString("[c:url param] = ref.jsp;key=value;jsessionid=")); - - System.err.println("Response:"); - System.err.println(resp); + } + + @Test + public void testCatchBasic() throws IOException + { + SimpleRequest req = new SimpleRequest(baseUri); + String resp = req.getString("/catch-basic.jsp"); + assertThat("Response should be JSP processed", resp, not(containsString("<c:catch"))); + assertThat("Response", resp, containsString("[c:catch] exception : " + JspException.class.getName())); + assertThat("Response", resp, containsString("[c:catch] exception.message : In <parseNumber>")); + } + + @Test + @Ignore + public void testCatchTaglib() throws IOException + { + SimpleRequest req = new SimpleRequest(baseUri); + String resp = req.getString("/catch-taglib.jsp"); + System.out.println("resp = " + resp); + assertThat("Response should be JSP processed", resp, not(containsString("<c:catch"))); + assertThat("Response should be JSP processed", resp, not(containsString("<jtest:errortest"))); + assertThat("Response", resp, containsString("[jtest:errorhandler] exception : ")); + assertThat("Response", resp, containsString("[jtest:errorhandler] exception.message : ")); } } diff --git a/apache-jstl/src/test/taglibjar/META-INF/etag.tld b/apache-jstl/src/test/taglibjar/META-INF/etag.tld new file mode 100644 index 0000000000..61f568c41d --- /dev/null +++ b/apache-jstl/src/test/taglibjar/META-INF/etag.tld @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + version="2.0"> + + <description>eclipse jetty test taglib</description> + <tlib-version>1.0</tlib-version> + + <short-name>jtest</short-name> + <uri>org.eclipse.jetty.jstl.jtest</uri> + + <tag-file> + <name>errortest</name> + <path>/META-INF/tags/errortest.tag</path> + </tag-file> + + <tag-file> + <name>errorhandler</name> + <path>/META-INF/tags/errorhandler.tag</path> + </tag-file> +</taglib>
\ No newline at end of file diff --git a/apache-jstl/src/test/taglibjar/META-INF/tags/errorhandler.tag b/apache-jstl/src/test/taglibjar/META-INF/tags/errorhandler.tag new file mode 100644 index 0000000000..854952bc2f --- /dev/null +++ b/apache-jstl/src/test/taglibjar/META-INF/tags/errorhandler.tag @@ -0,0 +1,13 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + +<c:catch var="error"> + <jsp:doBody /> +</c:catch> + +<c:if test="${error != null}"> +[jtest:errorhandler] exception : ${error} +[jtest:errorhandler] exception.message : ${error.message} +</c:if> +<c:if test="${error == null}"> +[jtest:errorhandler] exception is null +</c:if> diff --git a/apache-jstl/src/test/taglibjar/META-INF/tags/errortest.tag b/apache-jstl/src/test/taglibjar/META-INF/tags/errortest.tag new file mode 100644 index 0000000000..c41a875c0c --- /dev/null +++ b/apache-jstl/src/test/taglibjar/META-INF/tags/errortest.tag @@ -0,0 +1,3 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + +<c:out value="content from jtest:errortest tag"/>
\ No newline at end of file diff --git a/apache-jstl/src/test/webapp/catch-basic.jsp b/apache-jstl/src/test/webapp/catch-basic.jsp new file mode 100644 index 0000000000..06e2bcfd2b --- /dev/null +++ b/apache-jstl/src/test/webapp/catch-basic.jsp @@ -0,0 +1,16 @@ +<%@ page contentType="text/plain; charset=UTF-8" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> +Title: JSTL c:catch test + +<c:catch var ="catchException"> + <fmt:parseNumber var="parsedNum" value="aaa" /> +</c:catch> + +<c:if test = "${catchException != null}"> +[c:catch] exception : ${catchException} +[c:catch] exception.message : ${catchException.message} +</c:if> +<c:if test = "${catchException == null}"> +[c:catch] exception is null +</c:if> diff --git a/apache-jstl/src/test/webapp/catch-taglib.jsp b/apache-jstl/src/test/webapp/catch-taglib.jsp new file mode 100644 index 0000000000..68c7b8f50e --- /dev/null +++ b/apache-jstl/src/test/webapp/catch-taglib.jsp @@ -0,0 +1,11 @@ +<%@ page contentType="text/plain; charset=UTF-8" %> +<%@ taglib uri="org.eclipse.jetty.jstl.jtest" prefix="jtest" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> +Title: JSTL c:catch test + +<jtest:errortest> + <fmt:parseNumber var="parsedNum" value="aaa" /> +</jtest:errortest> + +parsedNum = <c:out value="${parsedNum}"/>
\ No newline at end of file |