You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/09/22 18:53:58 UTC
[tomcat] 03/05: Add the Servlet/JSP version specific tests for
Servlet 6.0 / JSP 3.1
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 5674941dddf60f028fc77f2dea0424bcb0d5c59c
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Sep 22 16:06:51 2021 +0100
Add the Servlet/JSP version specific tests for Servlet 6.0 / JSP 3.1
---
.../tomcat/util/descriptor/DigesterFactory.java | 10 ++++++
.../tomcat/util/descriptor/XmlIdentifiers.java | 6 ++++
.../apache/tomcat/util/descriptor/web/WebXml.java | 2 +-
.../servlet/resources/TestSchemaValidation.java | 14 ++++++++
test/org/apache/jasper/TestJspC.java | 8 +++++
test/org/apache/jasper/compiler/TestJspConfig.java | 18 +++++++++++
test/org/apache/jasper/compiler/TestValidator.java | 27 ++++++++++++++++
.../jasper/servlet/TestJspCServletContext.java | 10 ++++++
test/webapp-6.0/WEB-INF/tags11.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/tags12.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/tags20.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/tags21.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/tags30.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/tags31.tld | 37 ++++++++++++++++++++++
test/webapp-6.0/WEB-INF/web.xml | 36 +++++++++++++++++++++
test/webapp-6.0/el-as-literal.jsp | 21 ++++++++++++
test/webapp-6.0/tld-versions.jsp | 33 +++++++++++++++++++
17 files changed, 406 insertions(+), 1 deletion(-)
diff --git a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
index 046e768..823b4fe 100644
--- a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
+++ b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
@@ -135,6 +135,16 @@ public class DigesterFactory {
addSelf(systemIds, "jakartaee_web_services_2_0.xsd");
addSelf(systemIds, "jakartaee_web_services_client_2_0.xsd");
+ // from JakartaEE 10
+ add(systemIds, XmlIdentifiers.WEB_60_XSD, locationFor("web-app_6_0.xsd"));
+ add(systemIds, XmlIdentifiers.WEB_FRAGMENT_60_XSD, locationFor("web-fragment_6_0.xsd"));
+ add(systemIds, XmlIdentifiers.TLD_31_XSD, locationFor("web-jsptaglibrary_3_1.xsd"));
+ addSelf(systemIds, "web-common_6_0.xsd");
+ addSelf(systemIds, "jakartaee_10.xsd");
+ addSelf(systemIds, "jsp_3_1.xsd");
+ addSelf(systemIds, "jakartaee_web_services_2_0.xsd");
+ addSelf(systemIds, "jakartaee_web_services_client_2_0.xsd");
+
SERVLET_API_PUBLIC_IDS = Collections.unmodifiableMap(publicIds);
SERVLET_API_SYSTEM_IDS = Collections.unmodifiableMap(systemIds);
}
diff --git a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java
index 60327c9..1f492a7 100644
--- a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java
+++ b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java
@@ -85,6 +85,12 @@ public final class XmlIdentifiers {
public static final String TLD_30_XSD = JAKARTAEE_9_NS + "/web-jsptaglibrary_3_0.xsd";
public static final String WEBSERVICES_20_XSD = JAKARTAEE_9_NS + "/jakartaee_web_services_2_0.xsd";
+ // from Jakarta EE 10
+ public static final String JAKARTAEE_10_NS = JAKARTAEE_9_NS;
+ public static final String WEB_60_XSD = JAKARTAEE_10_NS + "/web-app_6_0.xsd";
+ public static final String WEB_FRAGMENT_60_XSD = JAKARTAEE_10_NS + "/web-fragment_6_0.xsd";
+ public static final String TLD_31_XSD = JAKARTAEE_10_NS + "/web-jsptaglibrary_3_1.xsd";
+
private XmlIdentifiers() {
}
}
\ No newline at end of file
diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
index 62b5ed7..8384413 100644
--- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java
+++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
@@ -237,7 +237,7 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse
}
// Derived major and minor version attributes
- private int majorVersion = 5;
+ private int majorVersion = 6;
private int minorVersion = 0;
public int getMajorVersion() { return majorVersion; }
public int getMinorVersion() { return minorVersion; }
diff --git a/test/jakarta/servlet/resources/TestSchemaValidation.java b/test/jakarta/servlet/resources/TestSchemaValidation.java
index d47d2b2..223e5be 100644
--- a/test/jakarta/servlet/resources/TestSchemaValidation.java
+++ b/test/jakarta/servlet/resources/TestSchemaValidation.java
@@ -158,4 +158,18 @@ public class TestSchemaValidation {
Assert.assertEquals(0, handler.getWarnings().size());
}
+
+ @Test
+ public void testWebapp_6_0() throws Exception {
+ XmlErrorHandler handler = new XmlErrorHandler();
+ Digester digester = DigesterFactory.newDigester(
+ true, true, new WebRuleSet(false), true);
+ digester.setErrorHandler(handler);
+ digester.push(new WebXml());
+ WebXml desc = (WebXml) digester.parse(
+ new File("test/webapp-6.0/WEB-INF/web.xml"));
+ Assert.assertEquals("6.0", desc.getVersion());
+ Assert.assertEquals(0, handler.getErrors().size());
+ Assert.assertEquals(0, handler.getWarnings().size());
+ }
}
diff --git a/test/org/apache/jasper/TestJspC.java b/test/org/apache/jasper/TestJspC.java
index bee686b..b544c7b 100644
--- a/test/org/apache/jasper/TestJspC.java
+++ b/test/org/apache/jasper/TestJspC.java
@@ -111,6 +111,14 @@ public class TestJspC {
verify(webappOut);
}
+ @Test
+ public void precompileWebapp_6_0() throws IOException {
+ File appDir = new File("test/webapp-6.0");
+ File webappOut = new File(outputDir, appDir.getName());
+ precompile(appDir, webappOut);
+ verify(webappOut);
+ }
+
private void verify(File webappOut) {
// for now, just check some expected files exist
Assert.assertTrue(new File(webappOut, "generated_web.xml").exists());
diff --git a/test/org/apache/jasper/compiler/TestJspConfig.java b/test/org/apache/jasper/compiler/TestJspConfig.java
index 27cc143..9389c2c 100644
--- a/test/org/apache/jasper/compiler/TestJspConfig.java
+++ b/test/org/apache/jasper/compiler/TestJspConfig.java
@@ -174,4 +174,22 @@ public class TestJspConfig extends TomcatBaseTest {
Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0);
}
+
+ @Test
+ public void testServlet60NoEL() throws Exception {
+ Tomcat tomcat = getTomcatInstance();
+
+ File appDir = new File("test/webapp-6.0");
+ // app dir is relative to server home
+ tomcat.addWebapp(null, "/test", appDir.getAbsolutePath());
+
+ tomcat.start();
+
+ ByteChunk res = getUrl("http://localhost:" + getPort() +
+ "/test/el-as-literal.jsp");
+
+ String result = res.toString();
+
+ Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0);
+ }
}
diff --git a/test/org/apache/jasper/compiler/TestValidator.java b/test/org/apache/jasper/compiler/TestValidator.java
index 80f949c..e2b36e8 100644
--- a/test/org/apache/jasper/compiler/TestValidator.java
+++ b/test/org/apache/jasper/compiler/TestValidator.java
@@ -243,6 +243,33 @@ public class TestValidator extends TomcatBaseTest {
Assert.assertTrue(result.indexOf("<p>07-hello world</p>") > 0);
}
+ @Test
+ public void testTldVersions60() throws Exception {
+ Tomcat tomcat = getTomcatInstance();
+
+ File appDir =
+ new File("test/webapp-6.0");
+ // app dir is relative to server home
+ tomcat.addWebapp(null, "/test", appDir.getAbsolutePath());
+
+ tomcat.start();
+
+ ByteChunk res = getUrl("http://localhost:" + getPort() +
+ "/test/tld-versions.jsp");
+
+ String result = res.toString();
+
+ Assert.assertTrue(result.indexOf("<p>00-hello world</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>#{'01-hello world'}</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>02-hello world</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>#{'03-hello world'}</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>04-hello world</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>#{'05-hello world'}</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>06-hello world</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>07-hello world</p>") > 0);
+ Assert.assertTrue(result.indexOf("<p>08-hello world</p>") > 0);
+ }
+
public static class Echo extends TagSupport {
private static final long serialVersionUID = 1L;
diff --git a/test/org/apache/jasper/servlet/TestJspCServletContext.java b/test/org/apache/jasper/servlet/TestJspCServletContext.java
index 4fbcd51..57cd4e9 100644
--- a/test/org/apache/jasper/servlet/TestJspCServletContext.java
+++ b/test/org/apache/jasper/servlet/TestJspCServletContext.java
@@ -134,6 +134,16 @@ public class TestJspCServletContext {
@Test
+ public void testWebapp_6_0() throws Exception {
+ File appDir = new File("test/webapp-6.0");
+ JspCServletContext context = new JspCServletContext(
+ null, appDir.toURI().toURL(), null, false, false);
+ Assert.assertEquals(6, context.getEffectiveMajorVersion());
+ Assert.assertEquals(0, context.getEffectiveMinorVersion());
+ }
+
+
+ @Test
public void testWebresources() throws Exception {
File appDir = new File("test/webresources/dir1");
JspCServletContext context = new JspCServletContext(
diff --git a/test/webapp-6.0/WEB-INF/tags11.tld b/test/webapp-6.0/WEB-INF/tags11.tld
new file mode 100644
index 0000000..3c7ae98
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags11.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><!DOCTYPE taglib
+ PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
+ "http://java.sun.com/dtd/web-jsptaglibrary_1_1.dtd">
+<taglib>
+ <tlibversion>1.0</tlibversion>
+ <jspversion>1.1</jspversion>
+ <shortname>Tags11</shortname>
+ <uri>http://tomcat.apache.org/tags11</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tagclass>org.apache.jasper.compiler.TestValidator$Echo</tagclass>
+ <bodycontent>empty</bodycontent>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/tags12.tld b/test/webapp-6.0/WEB-INF/tags12.tld
new file mode 100644
index 0000000..533235b
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags12.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><!DOCTYPE taglib
+ PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+ "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+ <tlib-version>1.0</tlib-version>
+ <jsp-version>1.2</jsp-version>
+ <short-name>Tags12</short-name>
+ <uri>http://tomcat.apache.org/tags12</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/tags20.tld b/test/webapp-6.0/WEB-INF/tags20.tld
new file mode 100644
index 0000000..056c484
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags20.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><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">
+ <tlib-version>1.0</tlib-version>
+ <short-name>Tags20</short-name>
+ <uri>http://tomcat.apache.org/tags20</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/tags21.tld b/test/webapp-6.0/WEB-INF/tags21.tld
new file mode 100644
index 0000000..4a19675
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags21.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
+ version="2.1">
+ <tlib-version>1.0</tlib-version>
+ <short-name>Tags21</short-name>
+ <uri>http://tomcat.apache.org/tags21</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/tags30.tld b/test/webapp-6.0/WEB-INF/tags30.tld
new file mode 100644
index 0000000..76443f5
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags30.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_3_0.xsd"
+ version="3.0">
+ <tlib-version>1.0</tlib-version>
+ <short-name>Tags30</short-name>
+ <uri>http://tomcat.apache.org/tags30</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/tags31.tld b/test/webapp-6.0/WEB-INF/tags31.tld
new file mode 100644
index 0000000..7d8ef32
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/tags31.tld
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--><taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_3_1.xsd"
+ version="3.1">
+ <tlib-version>1.0</tlib-version>
+ <short-name>Tags31</short-name>
+ <uri>http://tomcat.apache.org/tags31</uri>
+
+ <tag>
+ <name>Echo</name>
+ <tag-class>org.apache.jasper.compiler.TestValidator$Echo</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <name>echo</name>
+ <required>yes</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
\ No newline at end of file
diff --git a/test/webapp-6.0/WEB-INF/web.xml b/test/webapp-6.0/WEB-INF/web.xml
new file mode 100644
index 0000000..ed9955d
--- /dev/null
+++ b/test/webapp-6.0/WEB-INF/web.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
+ version="6.0"
+ metadata-complete="true">
+
+ <display-name>Tomcat Servlet 6.0 Tests</display-name>
+ <description>
+ Provides a web application used by the Tomcat unit tests to ensure that
+ Tomcat meets the requirements of the current JSP and Servlet specification
+ for web applications that declare that they follow version 6.0 of the
+ Servlet specification and version 3.1 of the JSP specification. This
+ typically means ensuring that features introduced in later versions of the
+ specification do not change the behaviour of applications that declared an
+ earlier version of the specification.
+ </description>
+
+</web-app>
\ No newline at end of file
diff --git a/test/webapp-6.0/el-as-literal.jsp b/test/webapp-6.0/el-as-literal.jsp
new file mode 100644
index 0000000..f48e114
--- /dev/null
+++ b/test/webapp-6.0/el-as-literal.jsp
@@ -0,0 +1,21 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--%>
+<html>
+ <body>
+ <p>00-${'hello world'}</p>
+ </body>
+</html>
\ No newline at end of file
diff --git a/test/webapp-6.0/tld-versions.jsp b/test/webapp-6.0/tld-versions.jsp
new file mode 100644
index 0000000..c20d743
--- /dev/null
+++ b/test/webapp-6.0/tld-versions.jsp
@@ -0,0 +1,33 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--%>
+<html><body>
+<%@ taglib prefix="tags11" uri="http://tomcat.apache.org/tags11" %>
+<%@ taglib prefix="tags12" uri="http://tomcat.apache.org/tags12" %>
+<%@ taglib prefix="tags20" uri="http://tomcat.apache.org/tags20" %>
+<%@ taglib prefix="tags21" uri="http://tomcat.apache.org/tags21" %>
+<%@ taglib prefix="tags30" uri="http://tomcat.apache.org/tags30" %>
+<%@ taglib prefix="tags31" uri="http://tomcat.apache.org/tags31" %>
+<tags11:Echo echo="${'00-hello world'}"/>
+<tags11:Echo echo="#{'01-hello world'}"/>
+<tags12:Echo echo="${'02-hello world'}"/>
+<tags12:Echo echo="#{'03-hello world'}"/>
+<tags20:Echo echo="${'04-hello world'}"/>
+<tags20:Echo echo="#{'05-hello world'}"/>
+<tags21:Echo echo="${'06-hello world'}"/>
+<tags30:Echo echo="${'07-hello world'}"/>
+<tags31:Echo echo="${'08-hello world'}"/>
+</body></html>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org