diff --git a/common/src/main/java/com/sun/ts/tests/common/webclient/WebTestCase.java b/common/src/main/java/com/sun/ts/tests/common/webclient/WebTestCase.java index ca8f57fdab..762f2f7176 100644 --- a/common/src/main/java/com/sun/ts/tests/common/webclient/WebTestCase.java +++ b/common/src/main/java/com/sun/ts/tests/common/webclient/WebTestCase.java @@ -20,6 +20,7 @@ package com.sun.ts.tests.common.webclient; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -94,6 +95,8 @@ public class WebTestCase implements TestCase { */ private String _goldenfilePath = null; + private InputStream _goldenfileStream = null; + /** * A List of strings that will be searched for in the response in the order * they appear in the list. @@ -227,6 +230,17 @@ public void setGoldenFilePath(String gfPath) { _goldenfilePath = gfPath; } + + /** + * Sets the InputStream of the goldenfile the test case should use. + * + * @param in + * an InputStream value of the goldenfile. + */ + public void setGoldenFileStream(InputStream in) { + _goldenfileStream = in; + } + /** * Sets the request that should be dispatched by this test case. * @@ -458,6 +472,15 @@ public String getGoldenfilePath() { return _goldenfilePath; } + /** + * Returns the InputStream of the goldenfile. + * + * @return InputStream of the goldenfile + */ + public InputStream getGoldenfileStream() { + return _goldenfileStream; + } + /** * Returns the state for this particular test case. * diff --git a/common/src/main/java/com/sun/ts/tests/common/webclient/validation/TokenizedValidator.java b/common/src/main/java/com/sun/ts/tests/common/webclient/validation/TokenizedValidator.java index 271740db93..b74ff95a2c 100644 --- a/common/src/main/java/com/sun/ts/tests/common/webclient/validation/TokenizedValidator.java +++ b/common/src/main/java/com/sun/ts/tests/common/webclient/validation/TokenizedValidator.java @@ -20,6 +20,7 @@ package com.sun.ts.tests.common.webclient.validation; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; @@ -27,6 +28,7 @@ import com.sun.ts.lib.util.TestUtil; import com.sun.ts.tests.common.webclient.Goldenfile; +import com.sun.ts.tests.common.webclient.Util; /** *
@@ -63,7 +65,7 @@ public TokenizedValidator() {
    *           if an error occurs will processing the Goldenfile
    */
   protected boolean checkGoldenfile() throws IOException {
-    String gf;
+    String gf = null;
     String path = _case.getGoldenfilePath();
     String enc = _res.getResponseEncoding();
 
@@ -74,7 +76,13 @@ protected boolean checkGoldenfile() throws IOException {
     Goldenfile file = new Goldenfile(_case.getGoldenfilePath(), enc);
 
     try {
-      gf = file.getGoldenFileAsString();
+      File goldenFile = new File(_case.getGoldenfilePath());
+      if(goldenFile.exists()){
+        gf = file.getGoldenFileAsString();
+      }
+      else if(_case.getGoldenfileStream()!=null){
+        gf = Util.getEncodedStringFromStream(_case.getGoldenfileStream(), enc);
+      }
     } catch (IOException ioe) {
       TestUtil
           .logErr("[TokenizedValidator] Unexpected exception while accessing "
diff --git a/glassfish-runner/jsp-tck/j2ee.pass b/glassfish-runner/jsp-tck/j2ee.pass
new file mode 100644
index 0000000000..dccc3037eb
--- /dev/null
+++ b/glassfish-runner/jsp-tck/j2ee.pass
@@ -0,0 +1,17 @@
+
+#
+# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License v. 2.0, which is available at
+# http://www.eclipse.org/legal/epl-2.0.
+#
+# This Source Code may also be made available under the following Secondary
+# Licenses when the conditions for such availability set forth in the
+# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+# version 2 with the GNU Classpath Exception, which is available at
+# https://www.gnu.org/software/classpath/license.html.
+#
+# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+#
+AS_ADMIN_USERPASSWORD=j2ee
diff --git a/glassfish-runner/jsp-tck/javajoe.pass b/glassfish-runner/jsp-tck/javajoe.pass
new file mode 100644
index 0000000000..d69a7520e5
--- /dev/null
+++ b/glassfish-runner/jsp-tck/javajoe.pass
@@ -0,0 +1,16 @@
+#
+# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License v. 2.0, which is available at
+# http://www.eclipse.org/legal/epl-2.0.
+#
+# This Source Code may also be made available under the following Secondary
+# Licenses when the conditions for such availability set forth in the
+# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+# version 2 with the GNU Classpath Exception, which is available at
+# https://www.gnu.org/software/classpath/license.html.
+#
+# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+#
+AS_ADMIN_USERPASSWORD=javajoe
diff --git a/glassfish-runner/jsp-tck/pom.xml b/glassfish-runner/jsp-tck/pom.xml
new file mode 100644
index 0000000000..84fc5d9138
--- /dev/null
+++ b/glassfish-runner/jsp-tck/pom.xml
@@ -0,0 +1,327 @@
+
+
+
+    4.0.0
+
+    
+        org.glassfish
+        standalone-tck
+        10.0.0-SNAPSHOT
+        ../pom.xml
+    
+    jakarta
+    glassfish.jsp-tck
+    10.0.0-SNAPSHOT
+    jar
+
+    
+        10.0.0
+        5.9.1
+        jsp-tck
+        4.0.0
+    
+
+    
+        
+            org.junit.vintage
+            junit-vintage-engine
+            test
+        
+        
+            jakartatck
+            jsp-tck
+            10.0.0-SNAPSHOT
+        
+        
+            org.glassfish.main.common
+            simple-glassfish-api
+            ${glassfish.container.version}
+        
+        
+            org.jboss.arquillian.junit5
+            arquillian-junit5-container
+            1.7.0.Alpha10
+        
+        
+            jakarta.platform
+            jakarta.jakartaee-api
+            ${jakarta.platform.version}
+            provided
+        
+        
+            commons-httpclient
+            commons-httpclient
+            3.1
+        
+        
+            org.glassfish.hk2
+            hk2-locator
+            3.0.0
+        
+        
+            org.jboss.arquillian.container
+            arquillian-container-test-spi
+            1.7.0.Alpha10
+        
+        
+            org.omnifaces.arquillian
+            arquillian-glassfish-server-managed
+            1.2
+            test
+        
+    
+
+    
+        
+            
+                org.apache.maven.plugins
+                maven-dependency-plugin
+                3.2.0
+                
+                    
+                        unpack
+                        
+                            unpack
+                        
+                        pre-integration-test
+                        
+                            
+                                
+                                    org.glassfish.main.distributions
+                                    ${glassfish-artifact-id}
+                                    ${glassfish.container.version}
+                                    zip
+                                    true
+                                    ${project.build.directory}
+                                
+                            
+                        
+                    
+                
+            
+            
+                org.codehaus.mojo
+                exec-maven-plugin
+                
+                    
+                        1-StopDomain
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                stop-domain
+                            
+                        
+                    
+                    
+                        2-StartDomain
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                start-domain
+                            
+                        
+                    
+                    
+                        3-EnableTraceRequests
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                set
+                                server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=true
+                            
+                        
+                    
+                    
+                        4-DeleteUser-j2ee
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                --passwordfile
+                                ${project.basedir}/j2ee.pass
+                                delete-file-user
+                                j2ee
+                            
+                            
+                                0
+                                1
+                            
+                        
+                    
+                    
+                        5-AddUser-j2ee
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                --passwordfile
+                                ${project.basedir}/j2ee.pass
+                                create-file-user
+                                --groups
+                                staff:mgr
+                                j2ee
+                            
+                        
+                    
+                    
+                        6-DeleteUser-javajoe
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                --passwordfile
+                                ${project.basedir}/javajoe.pass
+                                delete-file-user
+                                javajoe
+                            
+                            
+                                0
+                                1
+                            
+                        
+                    
+                    
+                        7-AddUser-javajoe
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                --passwordfile
+                                ${project.basedir}/javajoe.pass
+                                create-file-user
+                                --groups
+                                guest
+                                javajoe
+                            
+                        
+                    
+                    
+                        8-list-users
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                list-file-users
+                            
+                        
+                    
+                    
+                        9-StopDomain
+                        
+                            exec
+                        
+                        pre-integration-test
+                        
+                            ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/bin/asadmin
+                            
+                                stop-domain
+                            
+                        
+                    
+                
+            
+            
+                maven-failsafe-plugin
+                3.0.0-M5
+                
+                    
+                        gf-tests
+                        
+                            integration-test
+                            verify
+                        
+                        
+                            
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet-api.jar
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.el-api.jar
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet.jsp-api.jar
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet.jsp.jstl-api.jar
+                            
+                            jakartatck:jsp-tck
+                            
+                                ${project.build.directory}/${glassfish.toplevel.dir}
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish
+                                ${project.build.directory}/${glassfish.toplevel.dir}
+                                glassfish
+                                ${webServerHome}/domains/domain1/autodeploy
+                                30
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.el-api.jar:${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.el.jar
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet-api.jar:${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet.jsp-api.jar
+                                ${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet.jsp.jstl.jar:${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.servlet.jsp.jstl-api.jar
+                                true
+                                j2ee
+                                j2ee
+                                javajoe
+                                javajoe
+                                true
+                                true
+                                com.sun.ts.tests.jsp.lib.implementation.sun.common.SunRIURL
+                            
+                            
+                                ${project.build.directory}/${glassfish.toplevel.dir}
+                            
+                        
+                    
+                
+            
+        
+    
+
+    
+        
+            full
+            
+                true
+            
+            
+                glassfish
+            
+        
+        
+            web
+            
+                web
+            
+        
+    
+
diff --git a/glassfish-runner/jsp-tck/src/test/resources/arquillian.xml b/glassfish-runner/jsp-tck/src/test/resources/arquillian.xml
new file mode 100644
index 0000000000..4319e6ae8d
--- /dev/null
+++ b/glassfish-runner/jsp-tck/src/test/resources/arquillian.xml
@@ -0,0 +1,18 @@
+
+
+
+  
+    
+  
+
+  
+    
+        
+            target/glassfish7
+        
+    
+  
+
+
diff --git a/jsp/pom.xml b/jsp/pom.xml
index 5cdd2ed449..8b26faad43 100644
--- a/jsp/pom.xml
+++ b/jsp/pom.xml
@@ -26,12 +26,19 @@
         10.0.0-SNAPSHOT
     
 
-    jsp
+    jsp-tck
     jar
 
     JSP
     JSP
 
+    
+        1.7.0.Alpha14
+        5.9.1
+        11
+        11
+    
+
     
         
             ${project.groupId}
@@ -69,33 +76,69 @@
             jakarta.mail
             jakarta.mail-api
         
+        
+            org.junit.jupiter
+            junit-jupiter
+            ${junit.jupiter.version}
+        
+        
+            org.jboss.arquillian.junit5
+            arquillian-junit5-container
+            ${arquillian.junit}
+        
+        
+            org.jboss.arquillian.junit5
+            arquillian-junit5-core
+            ${arquillian.junit}
+        
     
 
-    
-        
-            
-                src/main/java
-                
-                    **/**.xml
-                    **/*.tld
-                
-            
-        
-        
-            
-                org.mortbay.jetty
-                tck-extract-tests-maven-plugin
-                
-                    
-                        generate-tck-tests-list
-                        
-                            extract-tck-tests
-                        
-                        process-sources
-                    
-                
-            
-        
-    
+    
+        
+            tck-build
+            
+                true
+            
+            
+                
+                    
+                        maven-compiler-plugin
+                        2.3.2
+                    
+                    
+                        maven-surefire-plugin
+                        3.0.0-M5
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-jar-plugin
+                        3.2.0
+                        
+                            
+                                
+                                    src/main/java
+                                    
+                                        **/*.xml
+                                    
+                                
+                            
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-source-plugin
+                        
+                            
+                                attach-sources
+                                
+                                    jar
+                                
+                            
+                        
+                    
+                
+            
+        
+    
 
 
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/build.xml
deleted file mode 100644
index 7b94fd8eab..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClient.java
deleted file mode 100644
index f4fb1ec643..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.arrayelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_arrayelresolver_web");
-    setTestJsp("ArrayELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: arrayElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:3; EL:JAVADOC:4; EL:JAVADOC:5; EL:JAVADOC:6;
-   * EL:JAVADOC:7; EL:JAVADOC:8
-   * 
-   * @test_Strategy: Obtain an ArrayELResolver via the PageContext and verify
-   * that API calls work as expected: setValue() getValue() getType()
-   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void arrayElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "arrayElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClientIT.java
new file mode 100644
index 0000000000..70f7556c5f
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClientIT.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.arrayelresolver;
+
+import java.io.IOException;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil; 
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest; 
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_arrayelresolver_web");
+    setTestJsp("ArrayELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_arrayelresolver_web.war");
+    archive.addClasses(ArrayELResolverTag.class, JspTestUtil.class, 
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_arrayelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/arrayelresolver.tld", "arrayelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ArrayELResolverTest.jsp")), "ArrayELResolverTest.jsp");
+
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: arrayElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:3; EL:JAVADOC:4; EL:JAVADOC:5; EL:JAVADOC:6;
+   * EL:JAVADOC:7; EL:JAVADOC:8
+   * 
+   * @test_Strategy: Obtain an ArrayELResolver via the PageContext and verify
+   * that API calls work as expected: setValue() getValue() getType()
+   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void arrayElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "arrayElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/build.xml
deleted file mode 100644
index b249b60bfa..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClient.java
deleted file mode 100644
index 6fccadf48e..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.beanelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_beanelresolver_web");
-    setTestJsp("BeanELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: beanElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:11; EL:JAVADOC:12; EL:JAVADOC:13; EL:JAVADOC:14;
-   * EL:JAVADOC:15; EL:JAVADOC:16
-   * 
-   * @test_Strategy: Obtain an BeanELResolver via the PageContext and verify
-   * that API calls work as expected: setValue() getValue() getType()
-   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void beanElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "beanElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClientIT.java
new file mode 100644
index 0000000000..31c6e8d9b4
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClientIT.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.beanelresolver;
+
+import java.io.IOException;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_beanelresolver_web");
+    setTestJsp("BeanELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_beanelresolver_web.war");
+    archive.addClasses(BeanELResolverTag.class, SimpleBean.class,
+            JspTestUtil.class, 
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_beanelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/beanelresolver.tld", "beanelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BeanELResolverTest.jsp")), "BeanELResolverTest.jsp");
+
+    return archive;
+
+  }
+
+
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: beanElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:11; EL:JAVADOC:12; EL:JAVADOC:13; EL:JAVADOC:14;
+   * EL:JAVADOC:15; EL:JAVADOC:16
+   * 
+   * @test_Strategy: Obtain an BeanELResolver via the PageContext and verify
+   * that API calls work as expected: setValue() getValue() getType()
+   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void beanElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "beanElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/build.xml
deleted file mode 100644
index b1d1d8248a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-    
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/build.xml
deleted file mode 100644
index 09a1391a69..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClient.java
deleted file mode 100644
index f0ea0e41fc..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClient.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.compelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_compelresolver_web");
-    setTestJsp("CompositeELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: compositeElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:24; EL:JAVADOC:26; EL:JAVADOC:27; EL:JAVADOC:28;
-   * EL:JAVADOC:29; EL:JAVADOC:30; EL:JAVADOC:31
-   * 
-   * @test_Strategy: Obtain a CompositeELResolver via the PageContext and verify
-   * that API calls work as expected: add() setValue() setValue() throws
-   * PropertyNotWritableException getValue() getType() isReadOnly()
-   * getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void compositeElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "compositeElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClientIT.java
new file mode 100644
index 0000000000..ece955e83f
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClientIT.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.compelresolver;
+
+import java.io.IOException;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.InstallCompositeELResolverListener;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_compelresolver_web");
+    setTestJsp("CompositeELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_compelresolver_web.war");
+    archive.addClasses(CompositeELResolverTag.class,
+            JspTestUtil.class, 
+            InstallCompositeELResolverListener.class,
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_compelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/compelresolver.tld", "compelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CompositeELResolverTest.jsp")), "CompositeELResolverTest.jsp");
+    
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: compositeElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:24; EL:JAVADOC:26; EL:JAVADOC:27; EL:JAVADOC:28;
+   * EL:JAVADOC:29; EL:JAVADOC:30; EL:JAVADOC:31
+   * 
+   * @test_Strategy: Obtain a CompositeELResolver via the PageContext and verify
+   * that API calls work as expected: add() setValue() setValue() throws
+   * PropertyNotWritableException getValue() getType() isReadOnly()
+   * getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void compositeElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "compositeElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/build.xml
deleted file mode 100644
index 6d95feb421..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClient.java
deleted file mode 100644
index a13a91121a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.createmethexpr;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_createmethexpr_web");
-    setTestJsp("CreateMethodExpressionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: createMethodExpressionTest
-   * 
-   * @assertion_ids: EL:JAVADOC:62
-   * 
-   * @test_Strategy: Validate the behavior of
-   * ExpressionFactory.createMethodExpression().
-   */
-  public void createMethodExpressionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "createMethodExpressionTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClientIT.java
new file mode 100644
index 0000000000..66ec1fcbcb
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClientIT.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.createmethexpr;
+
+import java.io.IOException;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_createmethexpr_web");
+    setTestJsp("CreateMethodExpressionTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_createmethexpr_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_createmethexpr_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CreateMethodExpressionTest.jsp")), "CreateMethodExpressionTest.jsp");
+
+    return archive;
+
+  }
+
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: createMethodExpressionTest
+   * 
+   * @assertion_ids: EL:JAVADOC:62
+   * 
+   * @test_Strategy: Validate the behavior of
+   * ExpressionFactory.createMethodExpression().
+   */
+  @Test
+  public void createMethodExpressionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "createMethodExpressionTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/build.xml
deleted file mode 100644
index 0e437e2fa1..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClient.java
deleted file mode 100644
index 273e020827..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.createvalexpr;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_createvalexpr_web");
-    setTestJsp("CreateValueExpressionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: createValueExpressionTest
-   * 
-   * @assertion_ids: EL:JAVADOC:63
-   * 
-   * @test_Strategy: Validate the behavior of
-   * ExpressionFactory.createValueExpression().
-   */
-  public void createValueExpressionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "createValueExpressionTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClientIT.java
new file mode 100644
index 0000000000..d8d312a0b6
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClientIT.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.createvalexpr;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_createvalexpr_web");
+    setTestJsp("CreateValueExpressionTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_createvalexpr_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_createvalexpr_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CreateValueExpressionTest.jsp")), "CreateValueExpressionTest.jsp");
+
+    return archive;
+
+  }
+
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: createValueExpressionTest
+   * 
+   * @assertion_ids: EL:JAVADOC:63
+   * 
+   * @test_Strategy: Validate the behavior of
+   * ExpressionFactory.createValueExpression().
+   */
+  @Test
+  public void createValueExpressionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "createValueExpressionTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/build.xml
deleted file mode 100644
index 55167e9587..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/build.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClient.java
deleted file mode 100644
index 8f3be63d5b..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.elresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_elresolver_web");
-    setTestJsp("ELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: elResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:50; EL:JAVADOC:51; EL:JAVADOC:52; EL:JAVADOC:53;
-   * EL:JAVADOC:54; EL:JAVADOC:55
-   * 
-   * @test_Strategy: Obtain an ELResolver via the PageContext and verify that
-   * API calls work as expected: getValue() getType() setValue() isReadOnly()
-   * getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void elResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClientIT.java
new file mode 100644
index 0000000000..312b47efeb
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClientIT.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.elresolver;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import java.io.IOException;
+
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_elresolver_web");
+    setTestJsp("ELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_elresolver_web.war");
+    archive.addClasses(JspTestUtil.class,
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_elresolver_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELResolverTest.jsp")), "ELResolverTest.jsp");
+
+    return archive;
+
+  }
+
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: elResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:50; EL:JAVADOC:51; EL:JAVADOC:52; EL:JAVADOC:53;
+   * EL:JAVADOC:54; EL:JAVADOC:55
+   * 
+   * @test_Strategy: Obtain an ELResolver via the PageContext and verify that
+   * API calls work as expected: getValue() getType() setValue() isReadOnly()
+   * getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void elResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/build.xml
deleted file mode 100644
index acc04ea8d4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClient.java
deleted file mode 100644
index 06a66e016f..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.listelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_listelresolver_web");
-    setTestJsp("ListELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: listElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:68; EL:JAVADOC:69; EL:JAVADOC:70; EL:JAVADOC:71;
-   * EL:JAVADOC:72; EL:JAVADOC:73
-   * 
-   * @test_Strategy: Obtain an ListELResolver via the PageContext and verify
-   * that API calls work as expected: setValue() getValue() getType()
-   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void listElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "listElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClientIT.java
new file mode 100644
index 0000000000..d4917281f1
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClientIT.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.listelresolver;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_listelresolver_web");
+    setTestJsp("ListELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_listelresolver_web.war");
+    archive.addClasses(ListELResolverTag.class,
+            JspTestUtil.class,
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_listelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/listelresolver.tld", "listelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ListELResolverTest.jsp")), "ListELResolverTest.jsp");
+
+    return archive;
+
+  }
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: listElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:68; EL:JAVADOC:69; EL:JAVADOC:70; EL:JAVADOC:71;
+   * EL:JAVADOC:72; EL:JAVADOC:73
+   * 
+   * @test_Strategy: Obtain an ListELResolver via the PageContext and verify
+   * that API calls work as expected: setValue() getValue() getType()
+   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void listElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "listElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/build.xml
deleted file mode 100644
index 19e6619084..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClient.java
deleted file mode 100644
index 44780c5a66..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.mapelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_mapelresolver_web");
-    setTestJsp("MapELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: mapElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:76; EL:JAVADOC:77; EL:JAVADOC:78; EL:JAVADOC:79;
-   * EL:JAVADOC:80; EL:JAVADOC:83
-   * 
-   * @test_Strategy: Obtain an MapELResolver via the PageContext and verify that
-   * API calls work as expected: setValue() getValue() getType() isReadOnly()
-   * getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void mapElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "mapElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClientIT.java
new file mode 100644
index 0000000000..25ca773640
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClientIT.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.mapelresolver;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_mapelresolver_web");
+    setTestJsp("MapELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_mapelresolver_web.war");
+    archive.addClasses(MapELResolverTag.class,
+            JspTestUtil.class,
+            ResolverTest.class, 
+            BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_mapelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/mapelresolver.tld", "mapelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/MapELResolverTest.jsp")), "MapELResolverTest.jsp");
+
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: mapElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:76; EL:JAVADOC:77; EL:JAVADOC:78; EL:JAVADOC:79;
+   * EL:JAVADOC:80; EL:JAVADOC:83
+   * 
+   * @test_Strategy: Obtain an MapELResolver via the PageContext and verify that
+   * API calls work as expected: setValue() getValue() getType() isReadOnly()
+   * getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void mapElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "mapElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/build.xml
deleted file mode 100644
index 543e3608c9..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClient.java
deleted file mode 100644
index a6890a358c..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.methodinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_methodinfo_web");
-    setTestJsp("MethodInfoTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: methodInfoTest
-   * 
-   * @assertion_ids: EL:JAVADOC:84; EL:JAVADOC:85; EL:JAVADOC:87; EL:JAVADOC:88;
-   * EL:JAVADOC:89
-   * 
-   * @test_Strategy: Validate the behavior of MethodExpression and MethodInfo
-   * class methods: MethodExpression.getMethodInfo() MethodExpression.invoke()
-   * MethodInfo.getName() MethodInfo.getReturnType() MethodInfo.getParamTypes()
-   */
-  public void methodInfoTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "methodInfoTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClientIT.java
new file mode 100644
index 0000000000..202bd22128
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClientIT.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.methodinfo;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SetTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_methodinfo_web");
+    setTestJsp("MethodInfoTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_methodinfo_web.war");
+    archive.addClasses(MethodInfoTag.class,
+              JspTestUtil.class,
+              SetTag.class,
+              ExpressionTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_methodinfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/methodinfo.tld", "methodinfo.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/MethodInfoTest.jsp")), "MethodInfoTest.jsp");
+
+    return archive;
+
+  }
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: methodInfoTest
+   * 
+   * @assertion_ids: EL:JAVADOC:84; EL:JAVADOC:85; EL:JAVADOC:87; EL:JAVADOC:88;
+   * EL:JAVADOC:89
+   * 
+   * @test_Strategy: Validate the behavior of MethodExpression and MethodInfo
+   * class methods: MethodExpression.getMethodInfo() MethodExpression.invoke()
+   * MethodInfo.getName() MethodInfo.getReturnType() MethodInfo.getParamTypes()
+   */
+  @Test
+  public void methodInfoTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "methodInfoTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/build.xml
deleted file mode 100644
index 738d6560f9..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClient.java
deleted file mode 100644
index 48604add67..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.resourcebundleelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_resourcebundleelresolver_web");
-    setTestJsp("ResourceBundleELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: resourceBundleElResolverTest
-   * 
-   * @assertion_ids: EL:JAVADOC:103; EL:JAVADOC:104; EL:JAVADOC:105;
-   * EL:JAVADOC:106; EL:JAVADOC:107; EL:JAVADOC:109
-   * 
-   * @test_Strategy: Obtain an ResourceBundleELResolver via the PageContext and
-   * verify that API calls work as expected: setValue() getValue() getType()
-   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void resourceBundleElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "resourcebundleElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClientIT.java
new file mode 100644
index 0000000000..fda527b4a7
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClientIT.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.resourcebundleelresolver;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_resourcebundleelresolver_web");
+    setTestJsp("ResourceBundleELResolverTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_resourcebundleelresolver_web.war");
+    archive.addClasses(ResourceBundleELResolverTag.class,
+              JspTestUtil.class,
+              ResolverTest.class, 
+              BarELResolver.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_resourcebundleelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/resourcebundleelresolver.tld", "resourcebundleelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ResourceBundleELResolverTest.jsp")), "ResourceBundleELResolverTest.jsp");
+
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: resourceBundleElResolverTest
+   * 
+   * @assertion_ids: EL:JAVADOC:103; EL:JAVADOC:104; EL:JAVADOC:105;
+   * EL:JAVADOC:106; EL:JAVADOC:107; EL:JAVADOC:109
+   * 
+   * @test_Strategy: Obtain an ResourceBundleELResolver via the PageContext and
+   * verify that API calls work as expected: setValue() getValue() getType()
+   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void resourceBundleElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "resourcebundleElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/build.xml
deleted file mode 100644
index 3f4109ba38..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClient.java
deleted file mode 100644
index 073a9e81e7..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClient.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_el.valexpression;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_valexpr_web");
-    setTestJsp("ValueExpressionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: valueExpressionEvaluateTest
-   * 
-   * @assertion_ids: EL:JAVADOC:110; EL:JAVADOC:111; EL:JAVADOC:112;
-   * EL:JAVADOC:113; EL:JAVADOC:114; EL:JAVADOC:60
-   * 
-   * @test_Strategy: Validate the behavior of ValueExpression API and
-   * Expression.isLiteralText() ValueExpression.getValue()
-   * ValueExpression.setValue() ValueExpression.getType()
-   * ValueExpression.getExpectedType() ValueExpression.isReadOnly()
-   * Expression.isLiteralText()
-   */
-  public void valueExpressionEvaluateTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "valueExpressionEvaluateTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClientIT.java
new file mode 100644
index 0000000000..adc613ec9d
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClientIT.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_el.valexpression;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SetTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_valexpr_web");
+    setTestJsp("ValueExpressionTest");
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_valexpr_web.war");
+    archive.addClasses(ValueExpressionTag.class,
+            JspTestUtil.class,
+            SetTag.class,
+            ExpressionTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_valexpr_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/valexpression.tld", "valexpression.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ValueExpressionTest.jsp")), "ValueExpressionTest.jsp");
+
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: valueExpressionEvaluateTest
+   * 
+   * @assertion_ids: EL:JAVADOC:110; EL:JAVADOC:111; EL:JAVADOC:112;
+   * EL:JAVADOC:113; EL:JAVADOC:114; EL:JAVADOC:60
+   * 
+   * @test_Strategy: Validate the behavior of ValueExpression API and
+   * Expression.isLiteralText() ValueExpression.getValue()
+   * ValueExpression.setValue() ValueExpression.getType()
+   * ValueExpression.getExpectedType() ValueExpression.isReadOnly()
+   * Expression.isLiteralText()
+   */
+  @Test
+  public void valueExpressionEvaluateTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "valueExpressionEvaluateTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/build.xml
deleted file mode 100644
index ca917861c3..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/build.xml
deleted file mode 100644
index eaf394125c..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/build.xml
deleted file mode 100644
index 42abafbedd..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/build.xml
deleted file mode 100644
index bd270ca39e..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java
deleted file mode 100644
index 966dbb4a2a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.elexception;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_elexc_web");
-    setTestJsp("ELExceptionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: elExceptionDefaultCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:159
-   * 
-   * @test_Strategy: Validate default constructor of ELException
-   */
-  public void elExceptionDefaultCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionDefaultCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elExceptionMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:160
-   * 
-   * @test_Strategy: Validate contructor taking single string argument as the
-   * message of the Exception.
-   */
-  public void elExceptionMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elExceptionCauseCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:161
-   * 
-   * @test_Strategy: Validate constructor taking a Throwable signifying the root
-   * cause of the this ELException.
-   */
-  public void elExceptionCauseCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionCauseCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elExceptionCauseMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:162
-   * 
-   * @test_Strategy: Validate constructor taking both a message and a Throwable
-   * signifying the root cause of the ELException.
-   */
-  public void elExceptionCauseMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionCauseMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elExceptionGetRootCauseTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:163
-   * 
-   * @test_Strategy: Validate the behavior of ELException.getRootCause().
-   */
-  public void elExceptionGetRootCauseTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionGetRootCauseTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elExceptionToStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:164
-   * 
-   * @test_Strategy: Validate the behavior of ELException.toString().
-   */
-  public void elExceptionToStringTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elExceptionToStringTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClientIT.java
new file mode 100644
index 0000000000..9f6dd51f89
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClientIT.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.elexception;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_elexc_web");
+    setTestJsp("ELExceptionTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_elexc_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_elexc_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELExceptionTest.jsp")), "ELExceptionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: elExceptionDefaultCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:159
+   * 
+   * @test_Strategy: Validate default constructor of ELException
+   */
+  @Test
+  public void elExceptionDefaultCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionDefaultCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elExceptionMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:160
+   * 
+   * @test_Strategy: Validate contructor taking single string argument as the
+   * message of the Exception.
+   */
+  @Test
+  public void elExceptionMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elExceptionCauseCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:161
+   * 
+   * @test_Strategy: Validate constructor taking a Throwable signifying the root
+   * cause of the this ELException.
+   */
+  @Test
+  public void elExceptionCauseCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionCauseCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elExceptionCauseMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:162
+   * 
+   * @test_Strategy: Validate constructor taking both a message and a Throwable
+   * signifying the root cause of the ELException.
+   */
+  @Test
+  public void elExceptionCauseMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionCauseMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elExceptionGetRootCauseTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:163
+   * 
+   * @test_Strategy: Validate the behavior of ELException.getRootCause().
+   */
+  @Test
+  public void elExceptionGetRootCauseTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionGetRootCauseTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elExceptionToStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:164
+   * 
+   * @test_Strategy: Validate the behavior of ELException.toString().
+   */
+  @Test
+  public void elExceptionToStringTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elExceptionToStringTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/build.xml
deleted file mode 100644
index 1fd89b41c2..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-        
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClient.java
deleted file mode 100644
index 3d63299ee4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClient.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.elparseexception;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_elparseexc_web");
-    setTestJsp("ELParseExceptionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: elParseExceptionDefaultCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:157
-   * 
-   * @test_Strategy: Validate default constructor of ELParseException
-   */
-  public void elParseExceptionDefaultCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elParseExceptionDefaultCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: elParseExceptionMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:158
-   * 
-   * @test_Strategy: Validate contructor taking single string argument as the
-   * message of the Exception.
-   */
-  public void elParseExceptionMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "elParseExceptionMessageCtorTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClientIT.java
new file mode 100644
index 0000000000..767bea1265
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClientIT.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.elparseexception;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SetTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_elparseexc_web");
+    setTestJsp("ELParseExceptionTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_elparseexc_web.war");
+    archive.addClasses(
+            JspTestUtil.class,
+            SetTag.class,
+            ExpressionTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_elparseexc_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELParseExceptionTest.jsp")), "ELParseExceptionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: elParseExceptionDefaultCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:157
+   * 
+   * @test_Strategy: Validate default constructor of ELParseException
+   */
+  @Test
+  public void elParseExceptionDefaultCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elParseExceptionDefaultCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: elParseExceptionMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:158
+   * 
+   * @test_Strategy: Validate contructor taking single string argument as the
+   * message of the Exception.
+   */
+  @Test
+  public void elParseExceptionMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "elParseExceptionMessageCtorTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClient.java
deleted file mode 100644
index 3cd7971e80..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClient.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.expression;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_expr_web");
-    setTestJsp("ExpressionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: expressionEvaluateTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:174
-   * 
-   * @test_Strategy: Validate the behavior of Expression.evaluate().
-   */
-  public void expressionEvaluateTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "expressionEvaluateTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClientIT.java
new file mode 100644
index 0000000000..2ebba4db8b
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClientIT.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.expression;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.TSFunctionMapper;
+import com.sun.ts.tests.jsp.common.util.JspFunctions;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_expr_web");
+    setTestJsp("ExpressionTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_expr_web.war");
+    archive.addClasses(
+            JspTestUtil.class,
+            TSFunctionMapper.class,
+            JspFunctions.class);
+archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_expr_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ExpressionTest.jsp")), "ExpressionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: expressionEvaluateTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:174
+   * 
+   * @test_Strategy: Validate the behavior of Expression.evaluate().
+   */
+  @Test
+  public void expressionEvaluateTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "expressionEvaluateTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClient.java
deleted file mode 100644
index 77a01912d4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClient.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.expressionevaluator;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_expreval_web");
-    setTestJsp("ExpressionEvaluatorTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: expressionEvaluatorParseExpressionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:168
-   * 
-   * @test_Strategy: Validate the following: - An expression can be prepared
-   * using a FunctionMapper. - An expression can be prepared passing a null
-   * reference for the FunctionMapper - If the expression uses a function an no
-   * prefix is provided, the default prefix will be used.
-   */
-  public void expressionEvaluatorParseExpressionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "expressionEvaluatorParseExpressionTest");
-    invoke();
-  }
-
-  /*
-   * @testName: expressionEvaluatorEvaluateTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:171;JSP:JAVADOC:165
-   * 
-   * @test_Strategy: Validate the following: - Evaluation can occur using a
-   * FunctionMapper. - Evaluation can occur when a null reference passed as the
-   * FunctionMapper - If the expression uses a function an no prefix is
-   * provided, the default prefix will be used. - When the FunctionMapper is
-   * used, the resolveFunction method must be called. - Validate the the
-   * provided VariableResolver is used. - Validate the result of the
-   * expressions.
-   */
-  public void expressionEvaluatorEvaluateTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "expressionEvaluatorEvaluateTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClientIT.java
new file mode 100644
index 0000000000..d4548bf62b
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClientIT.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.expressionevaluator;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.TSFunctionMapper;
+import com.sun.ts.tests.jsp.common.util.JspFunctions;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_expreval_web");
+    setTestJsp("ExpressionEvaluatorTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_expreval_web.war");
+    archive.addClasses(
+            JspTestUtil.class,
+            TSFunctionMapper.class,
+            JspFunctions.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_expreval_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ExpressionEvaluatorTest.jsp")), "ExpressionEvaluatorTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: expressionEvaluatorParseExpressionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:168
+   * 
+   * @test_Strategy: Validate the following: - An expression can be prepared
+   * using a FunctionMapper. - An expression can be prepared passing a null
+   * reference for the FunctionMapper - If the expression uses a function an no
+   * prefix is provided, the default prefix will be used.
+   */
+  @Test
+  public void expressionEvaluatorParseExpressionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "expressionEvaluatorParseExpressionTest");
+    invoke();
+  }
+
+  /*
+   * @testName: expressionEvaluatorEvaluateTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:171;JSP:JAVADOC:165
+   * 
+   * @test_Strategy: Validate the following: - Evaluation can occur using a
+   * FunctionMapper. - Evaluation can occur when a null reference passed as the
+   * FunctionMapper - If the expression uses a function an no prefix is
+   * provided, the default prefix will be used. - When the FunctionMapper is
+   * used, the resolveFunction method must be called. - Validate the the
+   * provided VariableResolver is used. - Validate the result of the
+   * expressions.
+   */
+  @Test
+  public void expressionEvaluatorEvaluateTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "expressionEvaluatorEvaluateTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClient.java
deleted file mode 100644
index 1b058afbee..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClient.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.implicitobjelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_implicitobjelresolver_web");
-    setTestJsp("ImplicitObjELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: implicitObjElResolverTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:420; JSP:JAVADOC:421; JSP:JAVADOC:422;
-   * JSP:JAVADOC:423; JSP:JAVADOC:425; JSP:JAVADOC:426
-   * 
-   * @test_Strategy: Obtain an ImplicitObjectELResolver via the PageContext and
-   * verify that API calls work as expected: setValue() setValue() throws
-   * PropertyNotWritableException getValue() getType() isReadOnly()
-   * getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void implicitObjElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "implicitObjElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClientIT.java
new file mode 100644
index 0000000000..75205f977f
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClientIT.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.implicitobjelresolver;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.JspResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_implicitobjelresolver_web");
+    setTestJsp("ImplicitObjELResolverTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_implicitobjelresolver_web.war");
+    archive.addClasses(ImplicitObjELResolverTag.class,
+            JspTestUtil.class,
+            JspResolverTest.class,
+            BarELResolver.class,
+            ResolverTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_implicitobjelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/implicitobjelresolver.tld", "implicitobjelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitObjELResolverTest.jsp")), "ImplicitObjELResolverTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: implicitObjElResolverTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:420; JSP:JAVADOC:421; JSP:JAVADOC:422;
+   * JSP:JAVADOC:423; JSP:JAVADOC:425; JSP:JAVADOC:426
+   * 
+   * @test_Strategy: Obtain an ImplicitObjectELResolver via the PageContext and
+   * verify that API calls work as expected: setValue() setValue() throws
+   * PropertyNotWritableException getValue() getType() isReadOnly()
+   * getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void implicitObjElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "implicitObjElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClient.java
deleted file mode 100644
index 0ac91613eb..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * @(#)URLClient.java	
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.scopedattrelresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_scopedattrelresolver_web");
-    setTestJsp("ScopedAttrELResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: scopedAttrElResolverTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:427; JSP:JAVADOC:428; JSP:JAVADOC:429;
-   * JSP:JAVADOC:430; JSP:JAVADOC:431; JSP:JAVADOC:433
-   * 
-   * @test_Strategy: Obtain an ScopedAttributeELResolver via the PageContext and
-   * verify that API calls work as expected: setValue() getValue() getType()
-   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
-   */
-  public void scopedAttrElResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "scopedAttrElResolverTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClientIT.java
new file mode 100644
index 0000000000..2244f3c75e
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClientIT.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * @(#)URLClient.java	
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.scopedattrelresolver;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.JspResolverTest;
+import com.sun.ts.tests.common.el.api.resolver.BarELResolver;
+import com.sun.ts.tests.common.el.api.resolver.ResolverTest;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_scopedattrelresolver_web");
+    setTestJsp("ScopedAttrELResolverTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_scopedattrelresolver_web.war");
+    archive.addClasses(ScopedAttrELResolverTag.class,
+            JspTestUtil.class,
+            JspResolverTest.class,
+            BarELResolver.class,
+            ResolverTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_scopedattrelresolver_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/scopedattrelresolver.tld", "scopedattrelresolver.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ScopedAttrELResolverTest.jsp")), "ScopedAttrELResolverTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: scopedAttrElResolverTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:427; JSP:JAVADOC:428; JSP:JAVADOC:429;
+   * JSP:JAVADOC:430; JSP:JAVADOC:431; JSP:JAVADOC:433
+   * 
+   * @test_Strategy: Obtain an ScopedAttributeELResolver via the PageContext and
+   * verify that API calls work as expected: setValue() getValue() getType()
+   * isReadOnly() getCommonPropertyType() getFeatureDescriptors()
+   */
+  @Test
+  public void scopedAttrElResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "scopedAttrElResolverTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClient.java
deleted file mode 100644
index 596e2cd31f..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClient.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.variableresolver;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_varresolver_web");
-    setTestJsp("VariableResolverTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: variableResolverResolveVariableTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:384
-   * 
-   * @test_Strategy: Validate behavior of VariableResolver.resolveVariable().
-   */
-  public void variableResolverResolveVariableTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableResolverResolveVariableTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClientIT.java
new file mode 100644
index 0000000000..4dd8531ec6
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClientIT.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.variableresolver;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SetTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_varresolver_web");
+    setTestJsp("VariableResolverTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_varresolver_web.war");
+    archive.addClasses(
+            JspTestUtil.class,
+            SetTag.class,
+            ExpressionTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_varresolver_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/VariableResolverTest.jsp")), "VariableResolverTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: variableResolverResolveVariableTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:384
+   * 
+   * @test_Strategy: Validate behavior of VariableResolver.resolveVariable().
+   */
+  @Test
+  public void variableResolverResolveVariableTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableResolverResolveVariableTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java
deleted file mode 100644
index 81d9f5a920..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.errordata;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_errordata_web");
-    setTestJsp("ErrorDataTest");
-    System.out.println("Running TESTS");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: errorDataConstructorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:1
-   * 
-   * @test_Strategy: Validate proper construction of ErrorData object directly
-   * via API.
-   */
-  public void errorDataConstructorTest() throws Exception {
-    System.out.println("In test method");
-    TEST_PROPS.setProperty(APITEST, "errorDataConstructorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: errorDataGetThrowableTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:2
-   * 
-   * @test_Strategy: Validate behavior of ErrorData.getThrowable().
-   */
-  public void errorDataGetThrowableTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "errorDataGetThrowableTest");
-    invoke();
-  }
-
-  /*
-   * @testName: errorDataGetStatusCodeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:3
-   * 
-   * @test_Strategy: Validate behavior of ErrorData.getStatusCode().
-   */
-  public void errorDataGetStatusCodeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "errorDataGetStatusCodeTest");
-    invoke();
-  }
-
-  /*
-   * @testName: errorDataGetRequestURITest
-   * 
-   * @assertion_ids: JSP:JAVADOC:4
-   * 
-   * @test_Strategy: Validate behavior of ErrorData.getRequestURI()
-   */
-  public void errorDataGetRequestURITest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "errorDataGetRequestURITest");
-    invoke();
-  }
-
-  /*
-   * @testName: errorDataGetServletNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:5
-   * 
-   * @test_Strategy: Validate behavior of ErrorData.getServletName().
-   */
-  public void errorDataGetServletNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "errorDataGetServletNameTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClientIT.java
new file mode 100644
index 0000000000..34f35e68b3
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClientIT.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.errordata;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_errordata_web");
+    setTestJsp("ErrorDataTest");
+    System.out.println("Running TESTS");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_errordata_web.war");
+    archive.addClasses(
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_errordata_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorDataTest.jsp")), "ErrorDataTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: errorDataConstructorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:1
+   * 
+   * @test_Strategy: Validate proper construction of ErrorData object directly
+   * via API.
+   */
+  @Test
+  public void errorDataConstructorTest() throws Exception {
+    System.out.println("In test method");
+    TEST_PROPS.setProperty(APITEST, "errorDataConstructorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: errorDataGetThrowableTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:2
+   * 
+   * @test_Strategy: Validate behavior of ErrorData.getThrowable().
+   */
+  @Test
+  public void errorDataGetThrowableTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "errorDataGetThrowableTest");
+    invoke();
+  }
+
+  /*
+   * @testName: errorDataGetStatusCodeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:3
+   * 
+   * @test_Strategy: Validate behavior of ErrorData.getStatusCode().
+   */
+  @Test
+  public void errorDataGetStatusCodeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "errorDataGetStatusCodeTest");
+    invoke();
+  }
+
+  /*
+   * @testName: errorDataGetRequestURITest
+   * 
+   * @assertion_ids: JSP:JAVADOC:4
+   * 
+   * @test_Strategy: Validate behavior of ErrorData.getRequestURI()
+   */
+  @Test
+  public void errorDataGetRequestURITest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "errorDataGetRequestURITest");
+    invoke();
+  }
+
+  /*
+   * @testName: errorDataGetServletNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:5
+   * 
+   * @test_Strategy: Validate behavior of ErrorData.getServletName().
+   */
+  @Test
+  public void errorDataGetServletNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "errorDataGetServletNameTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/build.xml
deleted file mode 100644
index e26ebfdb79..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	 
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClient.java
deleted file mode 100644
index edf605e68a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClient.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspapplicationcontext;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspapplicationcontext_web");
-    setTestJsp("JspApplicationContextTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: addELResolverTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:410
-   * 
-   * @test_Strategy: Validate the behavior of
-   * JspApplicationContext.addELResolver() Verify that once an ELResolver has
-   * been registered with the JSP container it performs as expected.
-   */
-  public void addELResolverTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspapplicationcontext_web/AddELResolverTest.jsp HTTP 1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: invokeIllegalStateExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:410
-   * 
-   * @test_Strategy: Validate the behavior of
-   * JspApplicationContext.addELResolver() throws IllegalStateException Verify
-   * that once an application has received a request from the clienT, A call to
-   * JspApplicationContext.addELResolver() will cause the container to throw an
-   * IllegalStateException.
-   */
-  public void invokeIllegalStateExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspapplicationcontext_web/IllegalStateExceptionTest.jsp HTTP 1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClientIT.java
new file mode 100644
index 0000000000..db8ed0d7e3
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClientIT.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspapplicationcontext;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jspapplicationcontext_web");
+    setTestJsp("JspApplicationContextTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspapplicationcontext_web.war");
+    archive.addClasses(FooELResolver.class, InstallFooListener.class,
+            JspTestUtil.class);    
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspapplicationcontext_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/AddELResolverTest.jsp")), "AddELResolverTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IllegalStateExceptionTest.jsp")), "IllegalStateExceptionTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: addELResolverTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:410
+   * 
+   * @test_Strategy: Validate the behavior of
+   * JspApplicationContext.addELResolver() Verify that once an ELResolver has
+   * been registered with the JSP container it performs as expected.
+   */
+  @Test
+  public void addELResolverTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspapplicationcontext_web/AddELResolverTest.jsp HTTP 1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: invokeIllegalStateExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:410
+   * 
+   * @test_Strategy: Validate the behavior of
+   * JspApplicationContext.addELResolver() throws IllegalStateException Verify
+   * that once an application has received a request from the clienT, A call to
+   * JspApplicationContext.addELResolver() will cause the container to throw an
+   * IllegalStateException.
+   */
+  @Test
+  public void invokeIllegalStateExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspapplicationcontext_web/IllegalStateExceptionTest.jsp HTTP 1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/build.xml
deleted file mode 100644
index 05e0b1930d..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/build.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClient.java
deleted file mode 100644
index 2024adfb46..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspengineinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspengineinfo_web");
-    setTestJsp("JspEngineInfoTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: jspEngineInfoGetSpecificationVersionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:131
-   * 
-   * @test_Strategy: Validate the behavior of
-   * JspEngineInfo.getSpecificationVersion().
-   */
-  public void jspEngineInfoGetSpecificationVersionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspEngineInfoGetSpecificationVersionTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClientIT.java
new file mode 100644
index 0000000000..ca08dc97ce
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClientIT.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspengineinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jspengineinfo_web");
+    setTestJsp("JspEngineInfoTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspengineinfo_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspengineinfo_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspEngineInfoTest.jsp")), "JspEngineInfoTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: jspEngineInfoGetSpecificationVersionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:131
+   * 
+   * @test_Strategy: Validate the behavior of
+   * JspEngineInfo.getSpecificationVersion().
+   */
+  @Test
+  public void jspEngineInfoGetSpecificationVersionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspEngineInfoGetSpecificationVersionTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/build.xml
deleted file mode 100644
index 8367193a22..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java
deleted file mode 100644
index 7528a72ac4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspexception;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspexc_web");
-    setTestJsp("JspExceptionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: jspExceptionDefaultCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:125
-   * 
-   * @test_Strategy: Validate default constructor of JspException
-   */
-  public void jspExceptionDefaultCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspExceptionDefaultCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspExceptionMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:126
-   * 
-   * @test_Strategy: Validate contructor taking single string argument as the
-   * message of the Exception.
-   */
-  public void jspExceptionMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspExceptionMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspExceptionCauseCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:128
-   * 
-   * @test_Strategy: Validate constructor taking a Throwable signifying the root
-   * cause of the this JspException.
-   */
-  public void jspExceptionCauseCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspExceptionCauseCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspExceptionCauseMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:127
-   * 
-   * @test_Strategy: Validate constructor taking both a message and a Throwable
-   * signifying the root cause of the JspException.
-   */
-  public void jspExceptionCauseMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspExceptionCauseMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspExceptionGetRootCauseTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:129
-   * 
-   * @test_Strategy: Validate the behavior of JspException.getRootCause().
-   */
-  public void jspExceptionGetRootCauseTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspExceptionGetRootCauseTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClientIT.java
new file mode 100644
index 0000000000..1dd98aee43
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClientIT.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspexception;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jspexc_web");
+    setTestJsp("JspExceptionTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspexc_web.war");
+    archive.addClasses(com.sun.ts.tests.jsp.common.util.JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspexc_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspExceptionTest.jsp")), "JspExceptionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: jspExceptionDefaultCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:125
+   * 
+   * @test_Strategy: Validate default constructor of JspException
+   */
+  @Test
+  public void jspExceptionDefaultCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspExceptionDefaultCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspExceptionMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:126
+   * 
+   * @test_Strategy: Validate contructor taking single string argument as the
+   * message of the Exception.
+   */
+  @Test
+  public void jspExceptionMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspExceptionMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspExceptionCauseCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:128
+   * 
+   * @test_Strategy: Validate constructor taking a Throwable signifying the root
+   * cause of the this JspException.
+   */
+  @Test
+  public void jspExceptionCauseCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspExceptionCauseCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspExceptionCauseMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:127
+   * 
+   * @test_Strategy: Validate constructor taking both a message and a Throwable
+   * signifying the root cause of the JspException.
+   */
+  @Test
+  public void jspExceptionCauseMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspExceptionCauseMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspExceptionGetRootCauseTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:129
+   * 
+   * @test_Strategy: Validate the behavior of JspException.getRootCause().
+   */
+  @Test
+  public void jspExceptionGetRootCauseTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspExceptionGetRootCauseTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/build.xml
deleted file mode 100644
index 949610c129..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/build.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java
deleted file mode 100644
index 483679524b..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspfactory;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspfactory_web");
-    setTestJsp("JspFactoryTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: jspFactoryGetDefaultFactoryTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:121
-   * 
-   * @test_Strategy: Validate the behavior of JspFactory.getDefaultFactory().
-   */
-  public void jspFactoryGetDefaultFactoryTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspFactoryGetDefaultFactoryTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspFactoryGetPageContextTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:122
-   * 
-   * @test_Strategy: Validate the behavior of JspFactory.getPageContext().
-   */
-  public void jspFactoryGetPageContextTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspFactoryGetPageContextTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspFactoryGetEngineInfoTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:124
-   * 
-   * @test_Strategy: Validate the behavior of JspFactory.getEngineInfo().
-   */
-  public void jspFactoryGetEngineInfoTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspFactoryGetEngineInfoTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClientIT.java
new file mode 100644
index 0000000000..4819d8512b
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClientIT.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspfactory;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.SimpleContext;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jspfactory_web");
+    setTestJsp("JspFactoryTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspfactory_web.war");
+    archive.addClasses(
+            JspTestUtil.class,
+            SimpleContext.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspfactory_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspFactoryTest.jsp")), "JspFactoryTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: jspFactoryGetDefaultFactoryTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:121
+   * 
+   * @test_Strategy: Validate the behavior of JspFactory.getDefaultFactory().
+   */
+  @Test
+  public void jspFactoryGetDefaultFactoryTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspFactoryGetDefaultFactoryTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspFactoryGetPageContextTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:122
+   * 
+   * @test_Strategy: Validate the behavior of JspFactory.getPageContext().
+   */
+  @Test
+  public void jspFactoryGetPageContextTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspFactoryGetPageContextTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspFactoryGetEngineInfoTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:124
+   * 
+   * @test_Strategy: Validate the behavior of JspFactory.getEngineInfo().
+   */
+  @Test
+  public void jspFactoryGetEngineInfoTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspFactoryGetEngineInfoTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/build.xml
deleted file mode 100644
index 789db85643..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/build.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java
deleted file mode 100644
index 6c8741523e..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jsptagexception;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jsptagexc_web");
-    setTestJsp("JspTagExceptionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: jspTagExceptionDefaultCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:116
-   * 
-   * @test_Strategy: Validate default constructor of JspTagException
-   */
-  public void jspTagExceptionDefaultCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspTagExceptionDefaultCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspTagExceptionMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:115
-   * 
-   * @test_Strategy: Validate contructor taking single string argument as the
-   * message of the Exception.
-   */
-  public void jspTagExceptionMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspTagExceptionMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspTagExceptionCauseCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:118
-   * 
-   * @test_Strategy: Validate constructor taking a Throwable signifying the root
-   * cause of the this JspTagException.
-   */
-  public void jspTagExceptionCauseCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspTagExceptionCauseCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspTagExceptionCauseMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:117
-   * 
-   * @test_Strategy: Validate constructor taking both a message and a Throwable
-   * signifying the root cause of the JspTagException.
-   */
-  public void jspTagExceptionCauseMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspTagExceptionCauseMessageCtorTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClientIT.java
new file mode 100644
index 0000000000..b83b082fd6
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClientIT.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jsptagexception;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jsptagexc_web");
+    setTestJsp("JspTagExceptionTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jsptagexc_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jsptagexc_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagExceptionTest.jsp")), "JspTagExceptionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: jspTagExceptionDefaultCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:116
+   * 
+   * @test_Strategy: Validate default constructor of JspTagException
+   */
+  @Test
+  public void jspTagExceptionDefaultCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspTagExceptionDefaultCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspTagExceptionMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:115
+   * 
+   * @test_Strategy: Validate contructor taking single string argument as the
+   * message of the Exception.
+   */
+  @Test
+  public void jspTagExceptionMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspTagExceptionMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspTagExceptionCauseCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:118
+   * 
+   * @test_Strategy: Validate constructor taking a Throwable signifying the root
+   * cause of the this JspTagException.
+   */
+  @Test
+  public void jspTagExceptionCauseCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspTagExceptionCauseCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspTagExceptionCauseMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:117
+   * 
+   * @test_Strategy: Validate constructor taking both a message and a Throwable
+   * signifying the root cause of the JspTagException.
+   */
+  @Test
+  public void jspTagExceptionCauseMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspTagExceptionCauseMessageCtorTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/build.xml
deleted file mode 100644
index 0b3eec4875..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java
deleted file mode 100644
index de18cf59cc..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspwriter;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  private static final char[] CHARS = new char[89];
-
-  private static final String EOL = "#eol#";
-
-  private static final String JSP_WRITER_VALIDATOR = "com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspwriter.JspWriterValidator";
-
-  public URLClient() {
-    for (short i = 33, idx = 0; i < 90; i++, idx++) {
-      CHARS[idx] = (char) i;
-    }
-  }
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspwriter_web");
-    setTestJsp("JspWriterTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: jspWriterNewLineTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:63
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.newLine().
-   */
-  public void jspWriterNewLineTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterNewLineTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, "new line" + EOL);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintBooleanTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:65
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(boolean).
-   */
-  public void jspWriterPrintBooleanTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintBooleanTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "truefalse");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintCharTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:67
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(char).
-   */
-  public void jspWriterPrintCharTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintCharTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "cb");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintIntTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:69
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(int).
-   */
-  public void jspWriterPrintIntTest() throws Exception {
-    String result = new StringBuffer().append(Integer.MIN_VALUE)
-        .append(Integer.MAX_VALUE).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintIntTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintLongTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:71
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(long).
-   */
-  public void jspWriterPrintLongTest() throws Exception {
-    String result = new StringBuffer().append(Long.MIN_VALUE)
-        .append(Long.MAX_VALUE).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintLongTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintFloatTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:73
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(Float).
-   */
-  public void jspWriterPrintFloatTest() throws Exception {
-    String result = new StringBuffer().append(Float.MIN_VALUE)
-        .append(Float.MAX_VALUE).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintFloatTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintDoubleTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:75
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(double).
-   */
-  public void jspWriterPrintDoubleTest() throws Exception {
-    String result = new StringBuffer().append(Double.MIN_VALUE)
-        .append(Double.MAX_VALUE).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintDoubleTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintCharArrayTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:77
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(char[]).
-   */
-  public void jspWriterPrintCharArrayTest() throws Exception {
-    String result = new StringBuffer().append(CHARS).append(CHARS).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintCharArrayTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:80
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(String).
-   */
-  public void jspWriterPrintStringTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintStringTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintNullStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:80
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(String) where the
-   * argument is null.
-   */
-  public void jspWriterPrintNullStringTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintNullStringTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "null");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintObjectTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:82
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.print(Object).
-   */
-  public void jspWriterPrintObjectTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintObjectTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:84
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println().
-   */
-  public void jspWriterPrintlnTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed" + EOL);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnBooleanTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:86
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(boolean).
-   */
-  public void jspWriterPrintlnBooleanTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnBooleanTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, "true" + EOL + "false" + EOL);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnCharTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:88
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(char).
-   */
-  public void jspWriterPrintlnCharTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnCharTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, "a" + EOL + "B" + EOL);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnIntTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:90
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(int).
-   */
-  public void jspWriterPrintlnIntTest() throws Exception {
-    String result = new StringBuffer().append(Integer.MIN_VALUE).append(EOL)
-        .append(Integer.MAX_VALUE).append(EOL).toString();
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnIntTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnLongTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:92
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(long).
-   */
-  public void jspWriterPrintlnLongTest() throws Exception {
-    String result = new StringBuffer().append(Long.MIN_VALUE).append(EOL)
-        .append(Long.MAX_VALUE).append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnLongTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnFloatTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:94
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(float).
-   */
-  public void jspWriterPrintlnFloatTest() throws Exception {
-    String result = new StringBuffer().append(Float.MIN_VALUE).append(EOL)
-        .append(Float.MAX_VALUE).append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnFloatTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnDoubleTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:96
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(double).
-   */
-  public void jspWriterPrintlnDoubleTest() throws Exception {
-    String result = new StringBuffer().append(Double.MIN_VALUE).append(EOL)
-        .append(Double.MAX_VALUE).append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnDoubleTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnCharArrayTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:98
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(double).
-   */
-  public void jspWriterPrintlnCharArrayTest() throws Exception {
-    String result = new StringBuffer().append(CHARS).append(EOL).append(CHARS)
-        .append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnCharArrayTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:100
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(String).
-   */
-  public void jspWriterPrintlnStringTest() throws Exception {
-    String result = new StringBuffer().append("Test ").append(EOL)
-        .append("Passed").append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnStringTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnNullStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:100
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(String) where
-   * the argument is null.
-   */
-  public void jspWriterPrintlnNullStringTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnNullStringTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "null");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterPrintlnObjectTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:102
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.println(Object).
-   */
-  public void jspWriterPrintlnObjectTest() throws Exception {
-    String result = new StringBuffer().append("Test ").append(EOL)
-        .append("Passed").append(EOL).toString();
-    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnObjectTest");
-    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
-    TEST_PROPS.setProperty(SEARCH_STRING, result);
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterClearTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:104
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.clear().
-   */
-  public void jspWriterClearTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterClearTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterClearIOExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:105
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.clear(). An IOException
-   * must be thrown if the response has been committed, and JspWriter.clear() is
-   * subsequently called.
-   */
-  public void jspWriterClearIOExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterClearIOExceptionTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterClearBufferTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:106
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.clearBuffer().
-   */
-  public void jspWriterClearBufferTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterClearBufferTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterFlushTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:108
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.flush().
-   */
-  public void jspWriterFlushTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterFlushTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterCloseTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:110;JSP:JAVADOC:109
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.close().
-   */
-  public void jspWriterCloseTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspwriter_web/JspWriterTest.jsp?testname=jspWriterCloseTest HTTP/1.1");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspwriter_web/CloseValidator.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterGetBufferSizeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:112
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.getBufferSize().
-   */
-  public void jspWriterGetBufferSizeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterGetBufferSizeTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterGetRemainingTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:113
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.getRemaining().
-   */
-  public void jspWriterGetRemainingTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterGetRemainingTest");
-    invoke();
-  }
-
-  /*
-   * @testName: jspWriterIsAutoFlushTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:114
-   * 
-   * @test_Strategy: Validate the behavior of JspWriter.isAutoFlush().
-   */
-  public void jspWriterIsAutoFlushTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "jspWriterIsAutoFlushTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClientIT.java
new file mode 100644
index 0000000000..176107bb1e
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClientIT.java
@@ -0,0 +1,536 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspwriter;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil; 
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  private static final char[] CHARS = new char[89];
+
+  private static final String EOL = "#eol#";
+
+  private static final String JSP_WRITER_VALIDATOR = "com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspwriter.JspWriterValidator";
+
+  public URLClientIT() throws Exception {
+    for (short i = 33, idx = 0; i < 90; i++, idx++) {
+      CHARS[idx] = (char) i;
+    }
+
+    setContextRoot("/jsp_jspwriter_web");
+    setTestJsp("JspWriterTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspwriter_web.war");
+    archive.addClasses(JspWriterValidator.class, JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspwriter_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspWriterTest.jsp")), "JspWriterTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CloseValidator.jsp")), "CloseValidator.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: jspWriterNewLineTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:63
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.newLine().
+   */
+  @Test
+  public void jspWriterNewLineTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterNewLineTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, "new line" + EOL);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintBooleanTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:65
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(boolean).
+   */
+  @Test
+  public void jspWriterPrintBooleanTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintBooleanTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "truefalse");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintCharTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:67
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(char).
+   */
+  @Test
+  public void jspWriterPrintCharTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintCharTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "cb");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintIntTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:69
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(int).
+   */
+  @Test
+  public void jspWriterPrintIntTest() throws Exception {
+    String result = new StringBuffer().append(Integer.MIN_VALUE)
+        .append(Integer.MAX_VALUE).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintIntTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintLongTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:71
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(long).
+   */
+  @Test
+  public void jspWriterPrintLongTest() throws Exception {
+    String result = new StringBuffer().append(Long.MIN_VALUE)
+        .append(Long.MAX_VALUE).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintLongTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintFloatTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:73
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(Float).
+   */
+  @Test
+  public void jspWriterPrintFloatTest() throws Exception {
+    String result = new StringBuffer().append(Float.MIN_VALUE)
+        .append(Float.MAX_VALUE).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintFloatTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintDoubleTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:75
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(double).
+   */
+  @Test
+  public void jspWriterPrintDoubleTest() throws Exception {
+    String result = new StringBuffer().append(Double.MIN_VALUE)
+        .append(Double.MAX_VALUE).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintDoubleTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintCharArrayTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:77
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(char[]).
+   */
+  @Test
+  public void jspWriterPrintCharArrayTest() throws Exception {
+    String result = new StringBuffer().append(CHARS).append(CHARS).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintCharArrayTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:80
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(String).
+   */
+  @Test
+  public void jspWriterPrintStringTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintStringTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintNullStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:80
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(String) where the
+   * argument is null.
+   */
+  @Test
+  public void jspWriterPrintNullStringTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintNullStringTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "null");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintObjectTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:82
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.print(Object).
+   */
+  @Test
+  public void jspWriterPrintObjectTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintObjectTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:84
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println().
+   */
+  @Test
+  public void jspWriterPrintlnTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test Passed" + EOL);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnBooleanTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:86
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(boolean).
+   */
+  @Test
+  public void jspWriterPrintlnBooleanTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnBooleanTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, "true" + EOL + "false" + EOL);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnCharTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:88
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(char).
+   */
+  @Test
+  public void jspWriterPrintlnCharTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnCharTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, "a" + EOL + "B" + EOL);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnIntTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:90
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(int).
+   */
+  @Test
+  public void jspWriterPrintlnIntTest() throws Exception {
+    String result = new StringBuffer().append(Integer.MIN_VALUE).append(EOL)
+        .append(Integer.MAX_VALUE).append(EOL).toString();
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnIntTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnLongTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:92
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(long).
+   */
+  @Test
+  public void jspWriterPrintlnLongTest() throws Exception {
+    String result = new StringBuffer().append(Long.MIN_VALUE).append(EOL)
+        .append(Long.MAX_VALUE).append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnLongTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnFloatTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:94
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(float).
+   */
+  @Test
+  public void jspWriterPrintlnFloatTest() throws Exception {
+    String result = new StringBuffer().append(Float.MIN_VALUE).append(EOL)
+        .append(Float.MAX_VALUE).append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnFloatTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnDoubleTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:96
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(double).
+   */
+  @Test
+  public void jspWriterPrintlnDoubleTest() throws Exception {
+    String result = new StringBuffer().append(Double.MIN_VALUE).append(EOL)
+        .append(Double.MAX_VALUE).append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnDoubleTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnCharArrayTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:98
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(double).
+   */
+  @Test
+  public void jspWriterPrintlnCharArrayTest() throws Exception {
+    String result = new StringBuffer().append(CHARS).append(EOL).append(CHARS)
+        .append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnCharArrayTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:100
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(String).
+   */
+  @Test
+  public void jspWriterPrintlnStringTest() throws Exception {
+    String result = new StringBuffer().append("Test ").append(EOL)
+        .append("Passed").append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnStringTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnNullStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:100
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(String) where
+   * the argument is null.
+   */
+  @Test
+  public void jspWriterPrintlnNullStringTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnNullStringTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "null");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterPrintlnObjectTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:102
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.println(Object).
+   */
+  @Test
+  public void jspWriterPrintlnObjectTest() throws Exception {
+    String result = new StringBuffer().append("Test ").append(EOL)
+        .append("Passed").append(EOL).toString();
+    TEST_PROPS.setProperty(APITEST1, "jspWriterPrintlnObjectTest");
+    TEST_PROPS.setProperty(STRATEGY, JSP_WRITER_VALIDATOR);
+    TEST_PROPS.setProperty(SEARCH_STRING, result);
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterClearTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:104
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.clear().
+   */
+  @Test
+  public void jspWriterClearTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterClearTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterClearIOExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:105
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.clear(). An IOException
+   * must be thrown if the response has been committed, and JspWriter.clear() is
+   * subsequently called.
+   */
+  @Test
+  public void jspWriterClearIOExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterClearIOExceptionTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterClearBufferTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:106
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.clearBuffer().
+   */
+  @Test
+  public void jspWriterClearBufferTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterClearBufferTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterFlushTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:108
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.flush().
+   */
+  @Test
+  public void jspWriterFlushTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterFlushTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterCloseTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:110;JSP:JAVADOC:109
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.close().
+   */
+  @Test
+  public void jspWriterCloseTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspwriter_web/JspWriterTest.jsp?testname=jspWriterCloseTest HTTP/1.1");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspwriter_web/CloseValidator.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterGetBufferSizeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:112
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.getBufferSize().
+   */
+  @Test
+  public void jspWriterGetBufferSizeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterGetBufferSizeTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterGetRemainingTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:113
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.getRemaining().
+   */
+  @Test
+  public void jspWriterGetRemainingTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterGetRemainingTest");
+    invoke();
+  }
+
+  /*
+   * @testName: jspWriterIsAutoFlushTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:114
+   * 
+   * @test_Strategy: Validate the behavior of JspWriter.isAutoFlush().
+   */
+  @Test
+  public void jspWriterIsAutoFlushTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "jspWriterIsAutoFlushTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/build.xml
deleted file mode 100644
index a9ab0970cc..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/build.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java
deleted file mode 100644
index 2011d9f0e0..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.pagecontext;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setTestJsp("PageContextTest");
-    setContextRoot("/jsp_pagecontext_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /**
-   * @testName: pageContextGetSessionTest
-   * @assertion_ids: JSP:JAVADOC:16
-   * @test_Strategy: Validate PageContext.getSession().
-   */
-  public void pageContextGetSessionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetSessionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetPageTest
-   * @assertion_ids: JSP:JAVADOC:17
-   * @test_Strategy: Validate PageContext.getPage().
-   */
-  public void pageContextGetPageTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetPageTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetRequestTest
-   * @assertion_ids: JSP:JAVADOC:18
-   * @test_Strategy: Validate PageContext.getRequest().
-   */
-  public void pageContextGetRequestTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetRequestTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetResponseTest
-   * @assertion_ids: JSP:JAVADOC:19
-   * @test_Strategy: Validate PageContext.getResponse().
-   */
-  public void pageContextGetResponseTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetResponseTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetExceptionTest
-   * @assertion_ids: JSP:JAVADOC:20
-   * @test_Strategy: Validate PageContext.getException().
-   */
-  public void pageContextGetExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(TEST_NAME, "pageContextGetExceptionTest");
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_pagecontext_web/PageContextTest.jsp?testname=pageContextGetExceptionTest HTTP/1.1");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED (getException)");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetServletConfigTest
-   * @assertion_ids: JSP:JAVADOC:21
-   * @test_Strategy: Validate PageContext.getServletConfig().
-   */
-  public void pageContextGetServletConfigTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetServletConfigTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetServletContextTest
-   * @assertion_ids: JSP:JAVADOC:22
-   * @test_Strategy: Validate PageContext.getServletContext().
-   */
-  public void pageContextGetServletContextTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetServletContextTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextForwardContextPathTest
-   * @assertion_ids: JSP:JAVADOC:23
-   * @test_Strategy: Validate PageContext.forward() passing in a resource
-   *                 identified by a context-relative path.
-   */
-  public void pageContextForwardContextPathTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextForwardContextPathTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextForwardPagePathTest
-   * @assertion_ids: JSP:JAVADOC:24
-   * @test_Strategy: Validate PageContext.forward() passing in a resource
-   *                 identified by a page-relative path.
-   */
-  public void pageContextForwardPagePathTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextForwardPagePathTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * -- Removed due to the way we capture the exception. -- testName:
-   * pageContextForwardServletExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:26
-   * @test_Strategy: Validate PageContext.forward() throws a ServletException if
-   *                 a ServletException occurs during the forward process.
-   * 
-   *                 public void pageContextForwardServletExceptionTest() throws
-   *                 Fault { TEST_PROPS.setProperty(APITEST,
-   *                 "pageContextForwardServletExceptionTest");
-   *                 TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error
-   *                 page invoked"); invoke(); }
-   */
-
-  /**
-   * -- Removed due to the way we capture the exception. -- testName:
-   * pageContextForwardIOExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:27
-   * @test_Strategy: Validate PageContext.forward() throws an IOExcpetion if an
-   *                 IOException occurs during the forward process.
-   * 
-   *                 public void pageContextForwardIOExceptionTest() throws
-   *                 Fault { TEST_PROPS.setProperty(APITEST,
-   *                 "pageContextForwardIOExceptionTest");
-   *                 TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error
-   *                 page invoked"); invoke(); }
-   */
-
-  /**
-   * @testName: pageContextForwardIllegalStateExceptionTest
-   * @assertion_ids: JSP:JAVADOC:29
-   * @test_Strategy: Valdiate PageContext.forward() throws an
-   *                 IllegalStateException if ServletResponse is not in the
-   *                 proper state to perform a forward.
-   */
-  public void pageContextForwardIllegalStateExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_pagecontext_web/PageContextTest.jsp?testname=pageContextForwardIllegalStateExceptionTest HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Arbitrary text|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeContextPathTest
-   * @assertion_ids: JSP:JAVADOC:31
-   * @test_Strategy: Validate PageContext.include() where the inclusion resource
-   *                 is identified by a context-relative path.
-   */
-  public void pageContextIncludeContextPathTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeContextPathTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludePagePathTest
-   * @assertion_ids: JSP:JAVADOC:32
-   * @test_Strategy: Validate PageContext.include() where the inclusion resource
-   *                 is identified by a page-relative path.
-   */
-  public void pageContextIncludePagePathTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludePagePathTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeFlushTrueTest
-   * @assertion_ids: JSP:JAVADOC:40;JSP:JAVADOC:39
-   * @test_Strategy: Validate PageContext.include() with flush argument provided
-   *                 and set to true. Response should be commited after the
-   *                 flush. Test validates this by perfoming an action against
-   *                 the response that would cause an IllegalStateException if
-   *                 the response has been comitted. This also validated the
-   *                 inclusion of a resource identified by a page-relative path.
-   */
-  public void pageContextIncludeFlushTrueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushTrueTest");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Stream was properly flushed");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeFlushFalseTest
-   * @assertion_ids: JSP:JAVADOC:385;JSP:JAVADOC:38
-   * @test_Strategy: Validate PageContext.include() with flush argument provided
-   *                 and set to false. Response should not have been flushed.
-   *                 Verify by preforming an action against the response that
-   *                 will throw an IllegalStateException if the response has
-   *                 been flushed to the client. This also validated the
-   *                 inclusion of a resource identified by a context-relative
-   *                 path.
-   */
-  public void pageContextIncludeFlushFalseTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushFalseTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "Test PASSED.|Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextHandlePageExceptionExcTest
-   * @assertion_ids: JSP:JAVADOC:46
-   * @test_Strategy: Validate PageContext.handlePageException(Exception) invokes
-   *                 the defined error page.
-   */
-  public void pageContextHandlePageExceptionExcTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionExcTest");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-    TEST_PROPS.setProperty(SEARCH_STRING, "java.lang.RuntimeException");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextHandlePageExceptionThrTest
-   * @assertion_ids: JSP:JAVADOC:53
-   * @test_Strategy: Validate PageContext.handlePageException(Throwable) invokes
-   *                 the defined error page.
-   */
-  public void pageContextHandlePageExceptionThrTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionThrTest");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-    TEST_PROPS.setProperty(SEARCH_STRING, "java.lang.Throwable");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextHandlePageExceptionExcNPETest
-   * @assertion_ids: JSP:JAVADOC:51
-   * @test_Strategy: Validate PageContext.handlePageException(Exception) throws
-   *                 a NullPointerException if an null argument is provided.
-   */
-  public void pageContextHandlePageExceptionExcNPETest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionExcNPETest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextHandlePageExceptionThrNPETest
-   * @assertion_ids: JSP:JAVADOC:58
-   * @test_Strategy: Validate PageContext.handlePageException(Throwable) throws
-   *                 a NullPointerException if an null argument is provided.
-   */
-  public void pageContextHandlePageExceptionThrNPETest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionThrNPETest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextPushPopBodyTest
-   * @assertion_ids: JSP:JAVADOC:60;JSP:JAVADOC:61;JSP:JAVADOC:380;JSP:JAVADOC:
-   *                 381
-   * @test_Strategy: Validate behavior of PageContext.pushBody() and
-   *                 PageContext.popBody().
-   */
-  public void pageContextPushPopBodyTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextPushPopBodyTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetErrorDataTest
-   * @assertion_ids: JSP:JAVADOC:62
-   * @test_Strategy: Validate behavior of PageContext.getErrorData().
-   */
-  public void pageContextGetErrorDataTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetErrorDataTest");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-    TEST_PROPS.setProperty(SEARCH_STRING, "ErrorData object obtained");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeIOExceptionTest
-   * @assertion_ids: JSP:JAVADOC:35
-   * @test_Strategy: Validate PageContext.include() throws an IOException if
-   *                 included resource throws an IOException.
-   */
-  public void pageContextIncludeIOExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeIOExceptionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeServletExceptionTest
-   * @assertion_ids: JSP:JAVADOC:34
-   * @test_Strategy: Validate PageContext.include() throws a ServletException if
-   *                 target resource throws a ServletException.
-   */
-  public void pageContextIncludeServletExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeServletExceptionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeFlushIOExceptionTest
-   * @assertion_ids: JSP:JAVADOC:43
-   * @test_Strategy: Validate PageContext.include() with flush argument
-   *                 provided, throws an IOException if the target resource
-   *                 cannot be accessed by the caller.
-   */
-  public void pageContextIncludeFlushIOExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushIOExceptionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextIncludeFlushServletExceptionTest
-   * @assertion_ids: JSP:JAVADOC:42
-   * @test_Strategy: Validate PageContext.include() with flush argument
-   *                 provided, throws a ServletException if the target resource
-   *                 cannot be accessed by the caller.
-   */
-  public void pageContextIncludeFlushServletExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextIncludeFlushServletExceptionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetSetAttributeTest
-   * @assertion_ids: JSP:JAVADOC:133;JSP:JAVADOC:138
-   * @test_Strategy: Validate PageContext.getAttribute(String),
-   *                 PageContext.setAttribute(String). Note: These are inherited
-   *                 from JspContext.
-   */
-  public void pageContextGetSetAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetSetAttributeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextSetAttributeNPETest
-   * @assertion_ids: JSP:JAVADOC:134;JSP:JAVADOC:396
-   * @test_Strategy: Validate a NullPointerException is thrown if the attribute
-   *                 name provided is null, but not when the provided value is
-   *                 null. Note: This is inherited from JspContext.
-   */
-  public void pageContextSetAttributeNPETest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeNPETest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetSetAttributeInScopeTest
-   * @assertion_ids: JSP:JAVADOC:135;JSP:JAVADOC:141
-   * @test_Strategy: Validate PageContext.getAttribute() and
-   *                 PageContext.setAttribute() when provided with scope
-   *                 arguments. Note: These are inherited from JspContext.
-   */
-  public void pageContextGetSetAttributeInScopeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetSetAttributeInScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextSetAttributeInScopeNPETest
-   * @assertion_ids: JSP:JAVADOC:136;JSP:JAVADOC:397
-   * @test_Strategy: Validate a NullPointerException is thrown if the attribute
-   *                 name provided is null, but not when the provided value is
-   *                 null. Note: This is inherited from JspContext.
-   */
-  public void pageContextSetAttributeInScopeNPETest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeInScopeNPETest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextSetAttributeInScopeIllegalArgumentExceptionTest
-   * @assertion_ids: JSP:JAVADOC:137;JSP:JAVADOC:398
-   * @test_Strategy: Validate an IllegalArgumentException is thrown if
-   *                 PageContext.setAttribute() is provided an invalid scope.
-   *                 Note: This is inherited from JspContext.
-   */
-  public void pageContextSetAttributeInScopeIllegalArgumentExceptionTest()
-      throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextSetAttributeInScopeIllegalArgumentExcTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributeNPETest
-   * @assertion_ids: JSP:JAVADOC:139;JSP:JAVADOC:142
-   * @test_Strategy: Validate a NullPointerException is thrown if
-   *                 PageContext.getAttriubte() is provided a null argument.
-   *                 Note: This is inherited from JspContext.
-   */
-  public void pageContextGetAttributeNPETest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeNPETest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributeInScopeIllegalArgumentExceptionTest
-   * @assertion_ids: JSP:JAVADOC:143
-   * @test_Strategy: Validate an IllegalArgumentException is thrown if
-   *                 PageContext.getAttribute() is provided an invalid value for
-   *                 scope. Note: This is inherited from JspContext.
-   */
-  public void pageContextGetAttributeInScopeIllegalArgumentExceptionTest()
-      throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextGetAttributeInScopeIllegalArgumentExceptionTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextFindAttributeTest
-   * @assertion_ids: JSP:JAVADOC:144
-   * @test_Strategy: Validate behavior of PageContext.findAttribute(). Note:
-   *                 This is inherited from JspContext.
-   */
-  public void pageContextFindAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextFindAttributeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextRemoveAttributeTest
-   * @assertion_ids: JSP:JAVADOC:145
-   * @test_Strategy: Validate the behavior of PageContext.removeAttribute().
-   *                 Note: This is inhertied from JspContext
-   */
-  public void pageContextRemoveAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextRemoveAttributeFromScopeTest
-   * @assertion_ids: JSP:JAVADOC:146
-   * @test_Strategy: Validate the behavior of PageContext.remoteAttribute() when
-   *                 provided a scope. Note: This is inherited from JspContext.
-   */
-  public void pageContextRemoveAttributeFromScopeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeFromScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextRemoveAttributeFromScopeIllegalScopeTest
-   * @assertion_ids: JSP:JAVADOC:392
-   * @test_Strategy: Validate an IllegalArgumentException is thrown if the scope
-   *                 argument is provided an illegal scope.
-   */
-  public void pageContextRemoveAttributeFromScopeIllegalScopeTest()
-      throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextRemoveAttributeFromScopeIllegalScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributeScopeTest
-   * @assertion_ids: JSP:JAVADOC:147
-   * @test_Strategy: Validate the behavior of PageContext.getAttributeScope().
-   *                 Note: This is inherited from JspContext.
-   */
-  public void pageContextGetAttributeScopeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributeNamesInScopeTest
-   * @assertion_ids: JSP:JAVADOC:148
-   * @test_Strategy: Validate the behavior of
-   *                 PageContext.getAttributeNamesInScope(). Note: This is
-   *                 inherited from JspContext
-   */
-  public void pageContextGetAttributeNamesInScopeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeNamesInScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributeNamesInScopeIllegalScopeTest
-   * @assertion_ids: JSP:JAVADOC:401
-   * @test_Strategy: Validate an IllegalArgumentException is thrown if the scope
-   *                 argument is provided an illegal scope.
-   */
-  public void pageContextGetAttributeNamesInScopeIllegalScopeTest()
-      throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextGetAttributeNamesInScopeIllegalScopeTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetOutTest
-   * @assertion_ids: JSP:JAVADOC:149
-   * @test_Strategy: Validate the behavior of PageContext.getOut. Note: This is
-   *                 inherited from JspContext.
-   */
-  public void pageContextGetOutTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetOutTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetExpressionEvaluatorTest
-   * @assertion_ids: JSP:JAVADOC:150
-   * @test_Strategy: Validate the behavior of
-   *                 PageContext.getExpressionEvaluator. Note: This is inherited
-   *                 from JspContext.
-   */
-  public void pageContextGetExpressionEvaluatorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetExpressionEvaluatorTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetVariableResolverTest
-   * @assertion_ids: JSP:JAVADOC:151
-   * @test_Strategy: Validate the behavior of PageContext.getVariableResolver().
-   *                 Note: This is inherited from JspContext.
-   */
-  public void pageContextGetVariableResolverTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextGetVariableResolverTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextFindAttributeNullNameTest
-   * @assertion_ids: JSP:JAVADOC:387
-   * @test_Strategy: Validate a NullPointerException is thrown if a null value
-   *                 is provided for the name parameter.
-   */
-  public void pageContextFindAttributeNullNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextFindAttributeNullNameTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextGetAttributesScopeNullNameTest
-   * @assertion_ids: JSP:JAVADOC:389
-   * @test_Strategy: Validate a NullPointerException is thrown if a null value
-   *                 is provided to the name argument.
-   */
-  public void pageContextGetAttributesScopeNullNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST,
-        "pageContextGetAttributesScopeNullNameTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextRemoveAttributeNullNameTest
-   * @assertion_ids: JSP:JAVADOC:393;JSP:JAVADOC:391
-   * @test_Strategy: Validate a NullPointerException is thrown if the name
-   *                 argument is provided a null value.
-   */
-  public void pageContextRemoveAttributeNullNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeNullNameTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-
-  /**
-   * @testName: pageContextSetAttributeNullValueTest
-   * @assertion_ids: JSP:JAVADOC:396;JSP:JAVADOC:397
-   * @test_Strategy: Validate that if a null value is provided to either
-   *                 setAttribute(String, Object) or setAttribute(String,
-   *                 Object, int) it has the same affect as calling
-   *                 removeAttribute(String) or removeAttribute(String, int).
-   */
-  public void pageContextSetAttributeNullValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeNullValueTest");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClientIT.java
new file mode 100644
index 0000000000..2008b3b138
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClientIT.java
@@ -0,0 +1,723 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.pagecontext;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setTestJsp("PageContextTest");
+    setContextRoot("/jsp_pagecontext_web");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_pagecontext_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_pagecontext_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/PageContextTest.jsp")), "PageContextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorPage.jsp")), "ErrorPage.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/Resource.jsp")), "Resource.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /**
+   * @testName: pageContextGetSessionTest
+   * @assertion_ids: JSP:JAVADOC:16
+   * @test_Strategy: Validate PageContext.getSession().
+   */
+  @Test
+  public void pageContextGetSessionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetSessionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetPageTest
+   * @assertion_ids: JSP:JAVADOC:17
+   * @test_Strategy: Validate PageContext.getPage().
+   */
+  @Test
+  public void pageContextGetPageTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetPageTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetRequestTest
+   * @assertion_ids: JSP:JAVADOC:18
+   * @test_Strategy: Validate PageContext.getRequest().
+   */
+  @Test
+  public void pageContextGetRequestTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetRequestTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetResponseTest
+   * @assertion_ids: JSP:JAVADOC:19
+   * @test_Strategy: Validate PageContext.getResponse().
+   */
+  @Test
+  public void pageContextGetResponseTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetResponseTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetExceptionTest
+   * @assertion_ids: JSP:JAVADOC:20
+   * @test_Strategy: Validate PageContext.getException().
+   */
+  @Test
+  public void pageContextGetExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(TEST_NAME, "pageContextGetExceptionTest");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_pagecontext_web/PageContextTest.jsp?testname=pageContextGetExceptionTest HTTP/1.1");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED (getException)");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetServletConfigTest
+   * @assertion_ids: JSP:JAVADOC:21
+   * @test_Strategy: Validate PageContext.getServletConfig().
+   */
+  @Test
+  public void pageContextGetServletConfigTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetServletConfigTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetServletContextTest
+   * @assertion_ids: JSP:JAVADOC:22
+   * @test_Strategy: Validate PageContext.getServletContext().
+   */
+  @Test
+  public void pageContextGetServletContextTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetServletContextTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextForwardContextPathTest
+   * @assertion_ids: JSP:JAVADOC:23
+   * @test_Strategy: Validate PageContext.forward() passing in a resource
+   *                 identified by a context-relative path.
+   */
+  @Test
+  public void pageContextForwardContextPathTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextForwardContextPathTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextForwardPagePathTest
+   * @assertion_ids: JSP:JAVADOC:24
+   * @test_Strategy: Validate PageContext.forward() passing in a resource
+   *                 identified by a page-relative path.
+   */
+  @Test
+  public void pageContextForwardPagePathTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextForwardPagePathTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * -- Removed due to the way we capture the exception. -- testName:
+   * pageContextForwardServletExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:26
+   * @test_Strategy: Validate PageContext.forward() throws a ServletException if
+   *                 a ServletException occurs during the forward process.
+   * 
+   *                 public void pageContextForwardServletExceptionTest() throws
+   *                 Fault { TEST_PROPS.setProperty(APITEST,
+   *                 "pageContextForwardServletExceptionTest");
+   *                 TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error
+   *                 page invoked"); invoke(); }
+   */
+
+  /**
+   * -- Removed due to the way we capture the exception. -- testName:
+   * pageContextForwardIOExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:27
+   * @test_Strategy: Validate PageContext.forward() throws an IOExcpetion if an
+   *                 IOException occurs during the forward process.
+   * 
+   *                 public void pageContextForwardIOExceptionTest() throws
+   *                 Fault { TEST_PROPS.setProperty(APITEST,
+   *                 "pageContextForwardIOExceptionTest");
+   *                 TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error
+   *                 page invoked"); invoke(); }
+   */
+
+  /**
+   * @testName: pageContextForwardIllegalStateExceptionTest
+   * @assertion_ids: JSP:JAVADOC:29
+   * @test_Strategy: Valdiate PageContext.forward() throws an
+   *                 IllegalStateException if ServletResponse is not in the
+   *                 proper state to perform a forward.
+   */
+  @Test
+  public void pageContextForwardIllegalStateExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_pagecontext_web/PageContextTest.jsp?testname=pageContextForwardIllegalStateExceptionTest HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Arbitrary text|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeContextPathTest
+   * @assertion_ids: JSP:JAVADOC:31
+   * @test_Strategy: Validate PageContext.include() where the inclusion resource
+   *                 is identified by a context-relative path.
+   */
+  @Test
+  public void pageContextIncludeContextPathTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeContextPathTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludePagePathTest
+   * @assertion_ids: JSP:JAVADOC:32
+   * @test_Strategy: Validate PageContext.include() where the inclusion resource
+   *                 is identified by a page-relative path.
+   */
+  @Test
+  public void pageContextIncludePagePathTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludePagePathTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeFlushTrueTest
+   * @assertion_ids: JSP:JAVADOC:40;JSP:JAVADOC:39
+   * @test_Strategy: Validate PageContext.include() with flush argument provided
+   *                 and set to true. Response should be commited after the
+   *                 flush. Test validates this by perfoming an action against
+   *                 the response that would cause an IllegalStateException if
+   *                 the response has been comitted. This also validated the
+   *                 inclusion of a resource identified by a page-relative path.
+   */
+  @Test
+  public void pageContextIncludeFlushTrueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushTrueTest");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Stream was properly flushed");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeFlushFalseTest
+   * @assertion_ids: JSP:JAVADOC:385;JSP:JAVADOC:38
+   * @test_Strategy: Validate PageContext.include() with flush argument provided
+   *                 and set to false. Response should not have been flushed.
+   *                 Verify by preforming an action against the response that
+   *                 will throw an IllegalStateException if the response has
+   *                 been flushed to the client. This also validated the
+   *                 inclusion of a resource identified by a context-relative
+   *                 path.
+   */
+  @Test
+  public void pageContextIncludeFlushFalseTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushFalseTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "Test PASSED.|Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextHandlePageExceptionExcTest
+   * @assertion_ids: JSP:JAVADOC:46
+   * @test_Strategy: Validate PageContext.handlePageException(Exception) invokes
+   *                 the defined error page.
+   */
+  @Test
+  public void pageContextHandlePageExceptionExcTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionExcTest");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+    TEST_PROPS.setProperty(SEARCH_STRING, "java.lang.RuntimeException");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextHandlePageExceptionThrTest
+   * @assertion_ids: JSP:JAVADOC:53
+   * @test_Strategy: Validate PageContext.handlePageException(Throwable) invokes
+   *                 the defined error page.
+   */
+  @Test
+  public void pageContextHandlePageExceptionThrTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionThrTest");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+    TEST_PROPS.setProperty(SEARCH_STRING, "java.lang.Throwable");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextHandlePageExceptionExcNPETest
+   * @assertion_ids: JSP:JAVADOC:51
+   * @test_Strategy: Validate PageContext.handlePageException(Exception) throws
+   *                 a NullPointerException if an null argument is provided.
+   */
+  @Test
+  public void pageContextHandlePageExceptionExcNPETest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionExcNPETest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextHandlePageExceptionThrNPETest
+   * @assertion_ids: JSP:JAVADOC:58
+   * @test_Strategy: Validate PageContext.handlePageException(Throwable) throws
+   *                 a NullPointerException if an null argument is provided.
+   */
+  @Test
+  public void pageContextHandlePageExceptionThrNPETest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextHandlePageExceptionThrNPETest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextPushPopBodyTest
+   * @assertion_ids: JSP:JAVADOC:60;JSP:JAVADOC:61;JSP:JAVADOC:380;JSP:JAVADOC:
+   *                 381
+   * @test_Strategy: Validate behavior of PageContext.pushBody() and
+   *                 PageContext.popBody().
+   */
+  @Test
+  public void pageContextPushPopBodyTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextPushPopBodyTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetErrorDataTest
+   * @assertion_ids: JSP:JAVADOC:62
+   * @test_Strategy: Validate behavior of PageContext.getErrorData().
+   */
+  @Test
+  public void pageContextGetErrorDataTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetErrorDataTest");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+    TEST_PROPS.setProperty(SEARCH_STRING, "ErrorData object obtained");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeIOExceptionTest
+   * @assertion_ids: JSP:JAVADOC:35
+   * @test_Strategy: Validate PageContext.include() throws an IOException if
+   *                 included resource throws an IOException.
+   */
+  @Test
+  public void pageContextIncludeIOExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeIOExceptionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeServletExceptionTest
+   * @assertion_ids: JSP:JAVADOC:34
+   * @test_Strategy: Validate PageContext.include() throws a ServletException if
+   *                 target resource throws a ServletException.
+   */
+  @Test
+  public void pageContextIncludeServletExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeServletExceptionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeFlushIOExceptionTest
+   * @assertion_ids: JSP:JAVADOC:43
+   * @test_Strategy: Validate PageContext.include() with flush argument
+   *                 provided, throws an IOException if the target resource
+   *                 cannot be accessed by the caller.
+   */
+  @Test
+  public void pageContextIncludeFlushIOExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextIncludeFlushIOExceptionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextIncludeFlushServletExceptionTest
+   * @assertion_ids: JSP:JAVADOC:42
+   * @test_Strategy: Validate PageContext.include() with flush argument
+   *                 provided, throws a ServletException if the target resource
+   *                 cannot be accessed by the caller.
+   */
+  @Test
+  public void pageContextIncludeFlushServletExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextIncludeFlushServletExceptionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetSetAttributeTest
+   * @assertion_ids: JSP:JAVADOC:133;JSP:JAVADOC:138
+   * @test_Strategy: Validate PageContext.getAttribute(String),
+   *                 PageContext.setAttribute(String). Note: These are inherited
+   *                 from JspContext.
+   */
+  @Test
+  public void pageContextGetSetAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetSetAttributeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextSetAttributeNPETest
+   * @assertion_ids: JSP:JAVADOC:134;JSP:JAVADOC:396
+   * @test_Strategy: Validate a NullPointerException is thrown if the attribute
+   *                 name provided is null, but not when the provided value is
+   *                 null. Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextSetAttributeNPETest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeNPETest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetSetAttributeInScopeTest
+   * @assertion_ids: JSP:JAVADOC:135;JSP:JAVADOC:141
+   * @test_Strategy: Validate PageContext.getAttribute() and
+   *                 PageContext.setAttribute() when provided with scope
+   *                 arguments. Note: These are inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetSetAttributeInScopeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetSetAttributeInScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextSetAttributeInScopeNPETest
+   * @assertion_ids: JSP:JAVADOC:136;JSP:JAVADOC:397
+   * @test_Strategy: Validate a NullPointerException is thrown if the attribute
+   *                 name provided is null, but not when the provided value is
+   *                 null. Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextSetAttributeInScopeNPETest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeInScopeNPETest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextSetAttributeInScopeIllegalArgumentExceptionTest
+   * @assertion_ids: JSP:JAVADOC:137;JSP:JAVADOC:398
+   * @test_Strategy: Validate an IllegalArgumentException is thrown if
+   *                 PageContext.setAttribute() is provided an invalid scope.
+   *                 Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextSetAttributeInScopeIllegalArgumentExceptionTest()
+      throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextSetAttributeInScopeIllegalArgumentExcTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributeNPETest
+   * @assertion_ids: JSP:JAVADOC:139;JSP:JAVADOC:142
+   * @test_Strategy: Validate a NullPointerException is thrown if
+   *                 PageContext.getAttriubte() is provided a null argument.
+   *                 Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetAttributeNPETest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeNPETest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributeInScopeIllegalArgumentExceptionTest
+   * @assertion_ids: JSP:JAVADOC:143
+   * @test_Strategy: Validate an IllegalArgumentException is thrown if
+   *                 PageContext.getAttribute() is provided an invalid value for
+   *                 scope. Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetAttributeInScopeIllegalArgumentExceptionTest()
+      throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextGetAttributeInScopeIllegalArgumentExceptionTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextFindAttributeTest
+   * @assertion_ids: JSP:JAVADOC:144
+   * @test_Strategy: Validate behavior of PageContext.findAttribute(). Note:
+   *                 This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextFindAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextFindAttributeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextRemoveAttributeTest
+   * @assertion_ids: JSP:JAVADOC:145
+   * @test_Strategy: Validate the behavior of PageContext.removeAttribute().
+   *                 Note: This is inhertied from JspContext
+   */
+  @Test
+  public void pageContextRemoveAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextRemoveAttributeFromScopeTest
+   * @assertion_ids: JSP:JAVADOC:146
+   * @test_Strategy: Validate the behavior of PageContext.remoteAttribute() when
+   *                 provided a scope. Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextRemoveAttributeFromScopeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeFromScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextRemoveAttributeFromScopeIllegalScopeTest
+   * @assertion_ids: JSP:JAVADOC:392
+   * @test_Strategy: Validate an IllegalArgumentException is thrown if the scope
+   *                 argument is provided an illegal scope.
+   */
+  @Test
+  public void pageContextRemoveAttributeFromScopeIllegalScopeTest()
+      throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextRemoveAttributeFromScopeIllegalScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributeScopeTest
+   * @assertion_ids: JSP:JAVADOC:147
+   * @test_Strategy: Validate the behavior of PageContext.getAttributeScope().
+   *                 Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetAttributeScopeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributeNamesInScopeTest
+   * @assertion_ids: JSP:JAVADOC:148
+   * @test_Strategy: Validate the behavior of
+   *                 PageContext.getAttributeNamesInScope(). Note: This is
+   *                 inherited from JspContext
+   */
+  @Test
+  public void pageContextGetAttributeNamesInScopeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetAttributeNamesInScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributeNamesInScopeIllegalScopeTest
+   * @assertion_ids: JSP:JAVADOC:401
+   * @test_Strategy: Validate an IllegalArgumentException is thrown if the scope
+   *                 argument is provided an illegal scope.
+   */
+  @Test
+  public void pageContextGetAttributeNamesInScopeIllegalScopeTest()
+      throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextGetAttributeNamesInScopeIllegalScopeTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetOutTest
+   * @assertion_ids: JSP:JAVADOC:149
+   * @test_Strategy: Validate the behavior of PageContext.getOut. Note: This is
+   *                 inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetOutTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetOutTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetExpressionEvaluatorTest
+   * @assertion_ids: JSP:JAVADOC:150
+   * @test_Strategy: Validate the behavior of
+   *                 PageContext.getExpressionEvaluator. Note: This is inherited
+   *                 from JspContext.
+   */
+  @Test
+  public void pageContextGetExpressionEvaluatorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetExpressionEvaluatorTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetVariableResolverTest
+   * @assertion_ids: JSP:JAVADOC:151
+   * @test_Strategy: Validate the behavior of PageContext.getVariableResolver().
+   *                 Note: This is inherited from JspContext.
+   */
+  @Test
+  public void pageContextGetVariableResolverTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextGetVariableResolverTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextFindAttributeNullNameTest
+   * @assertion_ids: JSP:JAVADOC:387
+   * @test_Strategy: Validate a NullPointerException is thrown if a null value
+   *                 is provided for the name parameter.
+   */
+  @Test
+  public void pageContextFindAttributeNullNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextFindAttributeNullNameTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextGetAttributesScopeNullNameTest
+   * @assertion_ids: JSP:JAVADOC:389
+   * @test_Strategy: Validate a NullPointerException is thrown if a null value
+   *                 is provided to the name argument.
+   */
+  @Test
+  public void pageContextGetAttributesScopeNullNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST,
+        "pageContextGetAttributesScopeNullNameTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextRemoveAttributeNullNameTest
+   * @assertion_ids: JSP:JAVADOC:393;JSP:JAVADOC:391
+   * @test_Strategy: Validate a NullPointerException is thrown if the name
+   *                 argument is provided a null value.
+   */
+  @Test
+  public void pageContextRemoveAttributeNullNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextRemoveAttributeNullNameTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+
+  /**
+   * @testName: pageContextSetAttributeNullValueTest
+   * @assertion_ids: JSP:JAVADOC:396;JSP:JAVADOC:397
+   * @test_Strategy: Validate that if a null value is provided to either
+   *                 setAttribute(String, Object) or setAttribute(String,
+   *                 Object, int) it has the same affect as calling
+   *                 removeAttribute(String) or removeAttribute(String, int).
+   */
+  @Test
+  public void pageContextSetAttributeNullValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "pageContextSetAttributeNullValueTest");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Error page invoked");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/build.xml
deleted file mode 100644
index c50aef7fd0..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java
deleted file mode 100644
index bc9f45ac45..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.skippageexception;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_skippageexc_web");
-    setTestJsp("SkipPageExceptionTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: skipPageExceptionDefaultCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:6
-   * 
-   * @test_Strategy: Validate default constructor of SkipPageException
-   */
-  public void skipPageExceptionDefaultCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "skipPageExceptionDefaultCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: skipPageExceptionMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:7
-   * 
-   * @test_Strategy: Validate contructor taking single string argument as the
-   * message of the Exception.
-   */
-  public void skipPageExceptionMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "skipPageExceptionMessageCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: skipPageExceptionCauseCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:8
-   * 
-   * @test_Strategy: Validate constructor taking a Throwable signifying the root
-   * cause of the this SkipPageException.
-   */
-  public void skipPageExceptionCauseCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "skipPageExceptionCauseCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: skipPageExceptionCauseMessageCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:9
-   * 
-   * @test_Strategy: Validate constructor taking both a message and a Throwable
-   * signifying the root cause of the SkipPageException.
-   */
-  public void skipPageExceptionCauseMessageCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "skipPageExceptionCauseMessageCtorTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClientIT.java
new file mode 100644
index 0000000000..7343d8a289
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClientIT.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.skippageexception;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_skippageexc_web");
+    setTestJsp("SkipPageExceptionTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_skippageexc_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_skippageexc_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SkipPageExceptionTest.jsp")), "SkipPageExceptionTest.jsp");
+
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: skipPageExceptionDefaultCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:6
+   * 
+   * @test_Strategy: Validate default constructor of SkipPageException
+   */
+  @Test
+  public void skipPageExceptionDefaultCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "skipPageExceptionDefaultCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: skipPageExceptionMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:7
+   * 
+   * @test_Strategy: Validate contructor taking single string argument as the
+   * message of the Exception.
+   */
+  @Test
+  public void skipPageExceptionMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "skipPageExceptionMessageCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: skipPageExceptionCauseCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:8
+   * 
+   * @test_Strategy: Validate constructor taking a Throwable signifying the root
+   * cause of the this SkipPageException.
+   */
+  @Test
+  public void skipPageExceptionCauseCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "skipPageExceptionCauseCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: skipPageExceptionCauseMessageCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:9
+   * 
+   * @test_Strategy: Validate constructor taking both a message and a Throwable
+   * signifying the root cause of the SkipPageException.
+   */
+  @Test
+  public void skipPageExceptionCauseMessageCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "skipPageExceptionCauseMessageCtorTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/build.xml
deleted file mode 100644
index 0f8d095c20..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/build.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java
deleted file mode 100644
index 68c18d6ade..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for BodyContent
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: bodyContentFlushTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:332
-   * 
-   * @test_Strategy: Validates that an IOException is thrown when
-   * BodyContent.flush() is called.
-   */
-  public void bodyContentFlushTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodycontent_web/BodyContentFlushTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyContentClearBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:333
-   * 
-   * @test_Strategy: Validate that clearBuffer() works as expected.
-   */
-  public void bodyContentClearBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodycontent_web/BodyContentClearBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyContentReadWriteTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:334;JSP:JAVADOC:338
-   * 
-   * @test_Strategy: Validate that a reader can be obtained containing the
-   * bodycontent of the tag. Using the content that is read in, obtain a writer
-   * and write the content to that writer.
-   */
-  public void bodyContentReadWriteTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodycontent_web/BodyContentReadWriteTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "#TestPASSED#");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyContentWriteOutTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:336
-   * 
-   * @test_Strategy: Validate the behavior of BodyContent.writeOut().
-   */
-  public void bodyContentWriteOutTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodycontent_web/BodyContentWriteOutTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyContentGetStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:335
-   * 
-   * @test_Strategy: Validate the behavior of BodyContent.getString().
-   */
-  public void bodyContentGetStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodycontent_web/BodyContentGetStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClientIT.java
new file mode 100644
index 0000000000..fcf7c8aa7a
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClientIT.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+/**
+ * Test client for BodyContent
+ */
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+  public URLClientIT() throws Exception {
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_bodycontent_web.war");
+    archive.addClasses(BodyContentClearBodyTag.class,
+            BodyContentFlushTag.class, BodyContentGetStringTag.class,
+            BodyContentReadWriteTag.class, BodyContentWriteOutTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_bodycontent_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/bodycontent.tld", "bodycontent.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyContentClearBodyTest.jsp")), "BodyContentClearBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyContentFlushTest.jsp")), "BodyContentFlushTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyContentGetStringTest.jsp")), "BodyContentGetStringTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyContentReadWriteTest.jsp")), "BodyContentReadWriteTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyContentWriteOutTest.jsp")), "BodyContentWriteOutTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: bodyContentFlushTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:332
+   * 
+   * @test_Strategy: Validates that an IOException is thrown when
+   * BodyContent.flush() is called.
+   */
+  @Test
+  public void bodyContentFlushTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodycontent_web/BodyContentFlushTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyContentClearBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:333
+   * 
+   * @test_Strategy: Validate that clearBuffer() works as expected.
+   */
+  @Test
+  public void bodyContentClearBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodycontent_web/BodyContentClearBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyContentReadWriteTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:334;JSP:JAVADOC:338
+   * 
+   * @test_Strategy: Validate that a reader can be obtained containing the
+   * bodycontent of the tag. Using the content that is read in, obtain a writer
+   * and write the content to that writer.
+   */
+  @Test
+  public void bodyContentReadWriteTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodycontent_web/BodyContentReadWriteTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "#TestPASSED#");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyContentWriteOutTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:336
+   * 
+   * @test_Strategy: Validate the behavior of BodyContent.writeOut().
+   */
+  @Test
+  public void bodyContentWriteOutTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodycontent_web/BodyContentWriteOutTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyContentGetStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:335
+   * 
+   * @test_Strategy: Validate the behavior of BodyContent.getString().
+   */
+  @Test
+  public void bodyContentGetStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodycontent_web/BodyContentGetStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/build.xml
deleted file mode 100644
index 5894a8e34d..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/build.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-          
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java
deleted file mode 100644
index fe90a5c49d..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for BodyTagSupport.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_bodytagsupp_web");
-    setTestJsp("BodyTagSupportApiTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: bodyTagSupportCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:318
-   * 
-   * @test_Strategy: Validate the constructor of BodyTagSupport
-   */
-  public void bodyTagSupportCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "bodyTagSupportCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportDoStartTagTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:319
-   * 
-   * @test_Strategy: Validate the default return value of
-   * BodyTagSupport.doStartTag() is EVAL_BODY_BUFFERED.
-   */
-  public void bodyTagSupportDoStartTagTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoStartTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportDoEndTagTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:321
-   * 
-   * @test_Strategy: Validate the default return value of
-   * BodyTagSupport.doEndTag() is EVAL_PAGE.
-   */
-  public void bodyTagSupportDoEndTagTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoEndTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportDoAfterBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:326
-   * 
-   * @test_Strategy: Validate the default return value of
-   * BodyTagSupport.doAfterBody() is SKIP_BODY.
-   */
-  public void bodyTagSupportDoAfterBodyTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoAfterBodyTest");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportGetBodyContentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:323;JSP:JAVADOC:329
-   * 
-   * @test_Strategy: Validate the behavior of getBodyContent(). This indirectly
-   * ensures that the container properly called setBodyContent().
-   */
-  public void bodyTagSupportGetBodyContentTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/GetBodyContentTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportGetPreviousOutTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:330
-   * 
-   * @test_Strategy: Validate the behavior of getPreviousOut.
-   */
-  public void bodyTagSupportGetPreviousOutTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/GetPreviousOutTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportEvalBodyBufferedTest
-   * 
-   * @assertion_ids:
-   * JSP:JAVADOC:346;JSP:JAVADOC:374;JSP:JAVADOC:375;JSP:JAVADOC:324
-   * 
-   * @test_Strategy: Validate that the container properly calls setInitBody()
-   * then doInitBody() after doStartTag() is called, prior to evaluating the
-   * body.
-   */
-  public void bodyTagSupportEvalBodyBufferedTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/BodyTagEvalBodyBufferedTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportEvalBodyIncludeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:376
-   * 
-   * @test_Strategy: Validate that the container doesn't call setBodyContent()
-   * and doInitBody() if doStartTag() returns EVAL_BODY_INCLUDE.
-   */
-  public void bodyTagSupportEvalBodyIncludeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/BodyTagEvalBodyIncludeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportSkipBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:402
-   * 
-   * @test_Strategy: Validate that the container doesn't call setInitBody() and
-   * doInitBody() after doStartTag() returns SKIP_BODY.
-   */
-  public void bodyTagSupportSkipBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/BodyTagSkipBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportEmptyTagTest
-   *
-   * @assertion_ids: JSP:JAVADOC:376;
-   *
-   * @test_Strategy: Validate that the container only calls setInitBody() and
-   * doInitBody() if the tag is empty. 1. Empty Tag1:  2. Empty Tag2:
-   *  3. Non-Empty Tag2:  
-   */
-  public void bodyTagSupportEmptyTagTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/BodyTagEmptyTagTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Empty Tag1: Test PASSED|Empty Tag2: Test PASSED|Non-Empty Tag3: Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: bodyTagSupportVariableSynchronizationTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:377
-   * 
-   * @test_Strategy: Validate scripting variables are properly synchornized.
-   */
-  public void bodyTagSupportVariableSynchronizationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_bodytagsupp_web/BodyTagSupportSynchronizationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClientIT.java
new file mode 100644
index 0000000000..7c562df7e1
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClientIT.java
@@ -0,0 +1,257 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.ContainerInteractionTag;
+import com.sun.ts.tests.jsp.common.util.MethodValidatorBean;
+
+/**
+ * Test client for BodyTagSupport.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_bodytagsupp_web");
+    setTestJsp("BodyTagSupportApiTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_bodytagsupp_web.war");
+    archive.addClasses(BodyContainerInteractionTag.class,
+            BodySynchronizationTag.class, GetBodyContentTestTag.class,
+            GetPreviousOutTestTag.class, SyncTEI.class,
+            JspTestUtil.class,
+            ContainerInteractionTag.class,
+            MethodValidatorBean.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_bodytagsupp_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/bodytagsupport.tld", "bodytagsupport.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagEmptyTagTest.jsp")), "BodyTagEmptyTagTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagEvalBodyBufferedTest.jsp")), "BodyTagEvalBodyBufferedTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagEvalBodyIncludeTest.jsp")), "BodyTagEvalBodyIncludeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagSkipBodyTest.jsp")), "BodyTagSkipBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagSupportApiTest.jsp")), "BodyTagSupportApiTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/BodyTagSupportSynchronizationTest.jsp")), "BodyTagSupportSynchronizationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetBodyContentTest.jsp")), "GetBodyContentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetPreviousOutTest.jsp")), "GetPreviousOutTest.jsp");
+
+    return archive;
+
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: bodyTagSupportCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:318
+   * 
+   * @test_Strategy: Validate the constructor of BodyTagSupport
+   */
+  @Test
+  public void bodyTagSupportCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "bodyTagSupportCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportDoStartTagTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:319
+   * 
+   * @test_Strategy: Validate the default return value of
+   * BodyTagSupport.doStartTag() is EVAL_BODY_BUFFERED.
+   */
+  @Test
+  public void bodyTagSupportDoStartTagTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoStartTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportDoEndTagTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:321
+   * 
+   * @test_Strategy: Validate the default return value of
+   * BodyTagSupport.doEndTag() is EVAL_PAGE.
+   */
+  @Test
+  public void bodyTagSupportDoEndTagTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoEndTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportDoAfterBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:326
+   * 
+   * @test_Strategy: Validate the default return value of
+   * BodyTagSupport.doAfterBody() is SKIP_BODY.
+   */
+  @Test
+  public void bodyTagSupportDoAfterBodyTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "bodyTagSupportDoAfterBodyTest");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportGetBodyContentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:323;JSP:JAVADOC:329
+   * 
+   * @test_Strategy: Validate the behavior of getBodyContent(). This indirectly
+   * ensures that the container properly called setBodyContent().
+   */
+  @Test
+  public void bodyTagSupportGetBodyContentTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/GetBodyContentTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportGetPreviousOutTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:330
+   * 
+   * @test_Strategy: Validate the behavior of getPreviousOut.
+   */
+  @Test
+  public void bodyTagSupportGetPreviousOutTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/GetPreviousOutTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportEvalBodyBufferedTest
+   * 
+   * @assertion_ids:
+   * JSP:JAVADOC:346;JSP:JAVADOC:374;JSP:JAVADOC:375;JSP:JAVADOC:324
+   * 
+   * @test_Strategy: Validate that the container properly calls setInitBody()
+   * then doInitBody() after doStartTag() is called, prior to evaluating the
+   * body.
+   */
+  @Test
+  public void bodyTagSupportEvalBodyBufferedTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/BodyTagEvalBodyBufferedTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportEvalBodyIncludeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:376
+   * 
+   * @test_Strategy: Validate that the container doesn't call setBodyContent()
+   * and doInitBody() if doStartTag() returns EVAL_BODY_INCLUDE.
+   */
+  @Test
+  public void bodyTagSupportEvalBodyIncludeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/BodyTagEvalBodyIncludeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportSkipBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:402
+   * 
+   * @test_Strategy: Validate that the container doesn't call setInitBody() and
+   * doInitBody() after doStartTag() returns SKIP_BODY.
+   */
+  @Test
+  public void bodyTagSupportSkipBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/BodyTagSkipBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportEmptyTagTest
+   *
+   * @assertion_ids: JSP:JAVADOC:376;
+   *
+   * @test_Strategy: Validate that the container only calls setInitBody() and
+   * doInitBody() if the tag is empty. 1. Empty Tag1:  2. Empty Tag2:
+   *  3. Non-Empty Tag2:  
+   */
+  @Test
+  public void bodyTagSupportEmptyTagTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/BodyTagEmptyTagTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Empty Tag1: Test PASSED|Empty Tag2: Test PASSED|Non-Empty Tag3: Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: bodyTagSupportVariableSynchronizationTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:377
+   * 
+   * @test_Strategy: Validate scripting variables are properly synchornized.
+   */
+  @Test
+  public void bodyTagSupportVariableSynchronizationTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_bodytagsupp_web/BodyTagSupportSynchronizationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/build.xml
deleted file mode 100644
index 6f9bcc7ef0..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/build.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-                
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/build.xml
deleted file mode 100644
index 5353c6443a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/build.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-  
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClient.java
deleted file mode 100644
index 0efa1ef6a6..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClient.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.dynamicattributes;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for the DynamicAttributes interface.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_bodytagsupp_web");
-    setTestJsp("BodyTagSupportApiTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: dynamicAttributesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:372
-   * 
-   * @test_Strategy: Validate undeclared attributes can be set on a tag handler
-   * for attributes not specified in the TLD.
-   */
-  public void dynamicAttributesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_dynattrib_web/SetDynamicAttributesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: dynamicAttributesExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:372
-   * 
-   * @test_Strategy: Validate that if a JspException is thrown by
-   * setDynamicAttribute(), that doStartTag() or doTag() is not called on the
-   * handler.
-   */
-  public void dynamicAttributesExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_dynattrib_web/DynamicAttributesExceptionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Classic - Test PASSED");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Simple - Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClientIT.java
new file mode 100644
index 0000000000..0a510a9f4e
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClientIT.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.dynamicattributes;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+/**
+ * Test client for the DynamicAttributes interface.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_bodytagsupp_web");
+    setTestJsp("BodyTagSupportApiTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_dynattrib_web.war");
+    archive.addClasses(DynamicAttributesTag.class, SimpleExcTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_dynattrib_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/dynamicattributes.tld", "dynamicattributes.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SetDynamicAttributesTest.jsp")), "SetDynamicAttributesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DynamicAttributesExceptionTest.jsp")), "DynamicAttributesExceptionTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: dynamicAttributesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:372
+   * 
+   * @test_Strategy: Validate undeclared attributes can be set on a tag handler
+   * for attributes not specified in the TLD.
+   */
+  @Test
+  public void dynamicAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_dynattrib_web/SetDynamicAttributesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: dynamicAttributesExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:372
+   * 
+   * @test_Strategy: Validate that if a JspException is thrown by
+   * setDynamicAttribute(), that doStartTag() or doTag() is not called on the
+   * handler.
+   */
+  @Test
+  public void dynamicAttributesExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_dynattrib_web/DynamicAttributesExceptionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Classic - Test PASSED");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Simple - Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/build.xml
deleted file mode 100644
index 3b6d41caaf..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/build.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java
deleted file mode 100644
index 682abcf137..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.functioninfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for FunctionInfo. Implementation note, all tests are performed
- * within a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: functionInfoGetNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:315
-   * 
-   * @test_Strategy: Validate the container properly parses the function
-   * information in the provided TLD and the method calls, in this case,
-   * FunctionInfo.getName(), returns the expected value.
-   */
-  public void functionInfoGetNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_functioninfo_web/GetNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: functionInfoGetFunctionClassTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:316
-   * 
-   * @test_Strategy: Validate the container properly parses the function
-   * information in the provided TLD and the method calls, in this case,
-   * FunctionInfo.getFunctionClass(), returns the expected value.
-   */
-  public void functionInfoGetFunctionClassTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_functioninfo_web/GetFunctionClassTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: functionInfoGetFunctionSignatureTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:317
-   * 
-   * @test_Strategy: Validate the container properly parses the function
-   * information in the provided TLD and the method calls, in this case,
-   * FunctionInfo.getFunctionSignature(), returns the expected value.
-   */
-  public void functionInfoGetFunctionSignatureTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_functioninfo_web/GetFunctionSignatureTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClientIT.java
new file mode 100644
index 0000000000..f886bb072d
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClientIT.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.functioninfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+import com.sun.ts.tests.jsp.common.util.JspFunctions;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+/**
+ * Test client for FunctionInfo. Implementation note, all tests are performed
+ * within a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_functioninfo_web.war");
+    archive.addClasses(FunctionInfoTEI.class,
+            JspTestUtil.class,
+            SimpleTag.class,
+            JspFunctions.class,
+            BaseTCKExtraInfo.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_functioninfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/functioninfo.tld", "functioninfo.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetFunctionClassTest.jsp")), "GetFunctionClassTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetFunctionSignatureTest.jsp")), "GetFunctionSignatureTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetNameTest.jsp")), "GetNameTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: functionInfoGetNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:315
+   * 
+   * @test_Strategy: Validate the container properly parses the function
+   * information in the provided TLD and the method calls, in this case,
+   * FunctionInfo.getName(), returns the expected value.
+   */
+  @Test
+  public void functionInfoGetNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_functioninfo_web/GetNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: functionInfoGetFunctionClassTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:316
+   * 
+   * @test_Strategy: Validate the container properly parses the function
+   * information in the provided TLD and the method calls, in this case,
+   * FunctionInfo.getFunctionClass(), returns the expected value.
+   */
+  @Test
+  public void functionInfoGetFunctionClassTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_functioninfo_web/GetFunctionClassTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: functionInfoGetFunctionSignatureTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:317
+   * 
+   * @test_Strategy: Validate the container properly parses the function
+   * information in the provided TLD and the method calls, in this case,
+   * FunctionInfo.getFunctionSignature(), returns the expected value.
+   */
+  @Test
+  public void functionInfoGetFunctionSignatureTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_functioninfo_web/GetFunctionSignatureTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/build.xml
deleted file mode 100644
index 752e26ec68..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/build.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java
deleted file mode 100644
index 89108a9cba..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_jspidconsumer_web");
-    // setTestJsp("SetJspIdTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: setJspIdTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:434
-   * 
-   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
-   * the setJspId() method in a tag handler. Verify that the ID generated
-   * conforms to the rules set forth in the javadoc.
-   */
-  public void setJspIdTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspidconsumer_web/SetJspIdTest.jsp HTTP 1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: multipleJspIdTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:434
-   * 
-   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
-   * the setJspId() method in multiple tag handlers. Verify that each tag has a
-   * unique ID. [JspConsumerIdUniqueIdString]
-   */
-  public void multipleJspIdTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspidconsumer_web/MultipleJspIdTest.jsp HTTP 1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: sameJspIdTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:434
-   * 
-   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
-   * the setJspId() method in a single tag handler. Verify that when the jsp
-   * page is invoked multiple times, the tag's ID does not change.
-   * [JspConsumerIdUniqueIdString]
-   */
-  public void sameJspIdTest() throws Exception {
-
-    for (int i = 1; i < SameJspIdTag.NUM_INVOC; ++i) {
-      TEST_PROPS.setProperty(REQUEST,
-          "GET /jsp_jspidconsumer_web/SameJspIdTest.jsp HTTP 1.1");
-      TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
-      TEST_PROPS.setProperty(IGNORE_BODY, "true");
-      invoke();
-    }
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_jspidconsumer_web/SameJspIdTest.jsp HTTP 1.1");
-    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "false");
-    TEST_PROPS.setProperty(IGNORE_BODY, "false");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClientIT.java
new file mode 100644
index 0000000000..309f20b882
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClientIT.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_jspidconsumer_web");
+    // setTestJsp("SetJspIdTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspidconsumer_web.war");
+    archive.addClasses(MultiOneTag.class, MultiTwoTag.class,
+            MultiThreeTag.class, SameJspIdTag.class, SetJspIdTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspidconsumer_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspidconsumer.tld", "jspidconsumer.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SetJspIdTest.jsp")), "SetJspIdTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/MultipleJspIdTest.jsp")), "MultipleJspIdTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SameJspIdTest.jsp")), "SameJspIdTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: setJspIdTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:434
+   * 
+   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
+   * the setJspId() method in a tag handler. Verify that the ID generated
+   * conforms to the rules set forth in the javadoc.
+   */
+  @Test
+  public void setJspIdTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspidconsumer_web/SetJspIdTest.jsp HTTP 1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: multipleJspIdTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:434
+   * 
+   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
+   * the setJspId() method in multiple tag handlers. Verify that each tag has a
+   * unique ID. [JspConsumerIdUniqueIdString]
+   */
+  @Test
+  public void multipleJspIdTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspidconsumer_web/MultipleJspIdTest.jsp HTTP 1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: sameJspIdTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:434
+   * 
+   * @test_Strategy: Validate the behavior of JspIdConsumer.setJspId() Implement
+   * the setJspId() method in a single tag handler. Verify that when the jsp
+   * page is invoked multiple times, the tag's ID does not change.
+   * [JspConsumerIdUniqueIdString]
+   */
+  @Test
+  public void sameJspIdTest() throws Exception {
+
+    for (int i = 1; i < SameJspIdTag.NUM_INVOC; ++i) {
+      TEST_PROPS.setProperty(REQUEST,
+          "GET /jsp_jspidconsumer_web/SameJspIdTest.jsp HTTP 1.1");
+      TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true");
+      TEST_PROPS.setProperty(IGNORE_BODY, "true");
+      invoke();
+    }
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_jspidconsumer_web/SameJspIdTest.jsp HTTP 1.1");
+    TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "false");
+    TEST_PROPS.setProperty(IGNORE_BODY, "false");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/build.xml
deleted file mode 100644
index 056daccc6d..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-
-    
-         
-            
-        
-    
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClient.java
deleted file mode 100644
index fa199e7ee5..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClient.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagAttributeInfo. Implementation note, all tests are
- * performed within a TagExtraInfo class. If the test fails, a translation error
- * will be generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: pageDataTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:313
-   * 
-   * @test_Strategy: Validate the following: - We can get an inputstream from
-   * the PageData object provided to the validation method of the
-   * TagLibraryValidator. - Validate the XML view of a JSP page: - page
-   * directives are jsp:directive.page elements - taglib directives are includes
-   * in the namespace declaration in the jsp:root element - include directives
-   * are not present in the XML view - template text is wrapped by jsp:text
-   * elements - scriptlets are wrapped by jsp:scriptlet elements - declarations
-   * are wrapped by jsp:declaration elements - JSP expressions are wrapped by
-   * jsp:expression elements - rt expressions are converted from '<%=' '%>' to
-   * '%=' '%' - Custom taglib usages are passed through - the jsp:root element
-   * is present - the jsp namespace is present in the jsp:root element.
-   */
-  public void pageDataTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_pagedata_web/PageDataTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Validator Called|Expression Text|Included template text");
-    invoke();
-  }
-
-  /*
-   * @testName: pageDataTagFileTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:313
-   * 
-   * @test_Strategy: same as above.
-   */
-  public void pageDataTagFileTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_pagedata_web/PageDataTagFileTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Validator Called|Expression Text in tag file|Included template text in tag file");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClientIT.java
new file mode 100644
index 0000000000..d2b48f5a5f
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClientIT.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+/**
+ * Test client for TagAttributeInfo. Implementation note, all tests are
+ * performed within a TagExtraInfo class. If the test fails, a translation error
+ * will be generated and a ValidationMessage array will be returned.
+ */
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_pagedata_web.war");
+    archive.addClasses(PageDataValidator.class, TagFilePageDataValidator.class,
+            JspTestUtil.class,
+            SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_pagedata_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/pagedata.tld", "pagedata.tld");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/pagedatatagfile.tld", "pagedatatagfile.tld");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/pageDataTagFileTest.tag", "tags/pageDataTagFileTest.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/template.txt", "tags/template.txt");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/PageDataTagFileTest.jsp")), "PageDataTagFileTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/PageDataTest.jsp")), "PageDataTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/template.txt")), "template.txt");
+    
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: pageDataTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:313
+   * 
+   * @test_Strategy: Validate the following: - We can get an inputstream from
+   * the PageData object provided to the validation method of the
+   * TagLibraryValidator. - Validate the XML view of a JSP page: - page
+   * directives are jsp:directive.page elements - taglib directives are includes
+   * in the namespace declaration in the jsp:root element - include directives
+   * are not present in the XML view - template text is wrapped by jsp:text
+   * elements - scriptlets are wrapped by jsp:scriptlet elements - declarations
+   * are wrapped by jsp:declaration elements - JSP expressions are wrapped by
+   * jsp:expression elements - rt expressions are converted from '<%=' '%>' to
+   * '%=' '%' - Custom taglib usages are passed through - the jsp:root element
+   * is present - the jsp namespace is present in the jsp:root element.
+   */
+  @Test
+  public void pageDataTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_pagedata_web/PageDataTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Validator Called|Expression Text|Included template text");
+    invoke();
+  }
+
+  /*
+   * @testName: pageDataTagFileTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:313
+   * 
+   * @test_Strategy: same as above.
+   */
+  @Test
+  public void pageDataTagFileTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_pagedata_web/PageDataTagFileTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Validator Called|Expression Text in tag file|Included template text in tag file");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/build.xml
deleted file mode 100644
index 5d65f9f497..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-	        
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java
deleted file mode 100644
index ace289ca15..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for the default behavior of SimpleTagSupport.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagadapter_web");
-    setTestJsp("TagAdapterTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: simpleTagSupportDoTagDefaultTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:301;JSP:JAVADOC:356
-   * 
-   * @test_Strategy: This validates that the default behavior of
-   * SimpleTagSupport.doTag() does nothing. If this is indeed the case, no
-   * output will be displayed by the tag nested within the SimpleTagSupport
-   * instance.
-   */
-  public void simpleTagSupportDoTagDefaultTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportDoTagDefault.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportSkipPageExceptionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:304;JSP:JAVADOC:359
-   * 
-   * @test_Strategy: Validate the containers behavior with regards to: - Simple
-   * Tag Handler generated from a tag file throws a SkipPageException if an
-   * invoked Classic Tag Handler returns SKIP_PAGE. - Simple Tag Handler
-   * generated from a tag file throws a SkipPageException if an invoked Simple
-   * Tag Handler throws a SkipPageException.
-   */
-  public void simpleTagSupportSkipPageExceptionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportSkipPageClassicTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportSkipPageSimpleTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportGetSetJspContextTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:307;JSP:JAVADOC:308;JSP:JAVADOC:362
-   * 
-   * @test_Strategy: Validate that getJspContext() returnes a non-null value as
-   * the container called setJspContext() prior to invoking doGet().
-   */
-  public void simpleTagSupportGetSetJspContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportJspContextTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportGetSetJspBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:309;JSP:JAVADOC:310;JSP:JAVADOC:363
-   * 
-   * @test_Strategy: Validate that getJspBody() returnes a non-null value as the
-   * container called setJspBody() prior to invoking doGet().
-   */
-  public void simpleTagSupportGetSetJspBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportJspBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportGetSetParentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:305;JSP:JAVADOC:306;JSP:JAVADOC:360;
-   * JSP:JAVADOC:361
-   * 
-   * @test_Strategy: Validate that getParent() returnes a non-null value as the
-   * container called setParent() prior to invoking doGet().
-   */
-  public void simpleTagSupportGetSetParentTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportParentTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportFindAncestorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:311
-   * 
-   * @test_Strategy: Validate that findAncestorWithClass() where the validation
-   * is preformed nested within a SimpleTag handler as well as a Classic Tag
-   * handler.
-   */
-  public void simpleTagSupportFindAncestorTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportFindAncestorTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: simpleTagSupportVariableSynchronizationTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:400
-   * 
-   * @testStrategy: Validate variable synchronization for AT_END and and
-   * AT_BEGIN variables occurs after doTag() has been called. This should occur
-   * for SimpleTags declared as Tags in the TLD using either TEI or through
-   * variable elements, or for Tag files.
-   */
-  public void simpleTagSupportVariableSynchronizationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/SimpleTagSupportVariableSynchronizationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagHandlerCacheTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:300
-   * 
-   * @test_Strategy: compare instances of a simple tag handler class across
-   * different invocations.
-   */
-
-  public void tagHandlerCacheTest() throws Exception {
-    String testName = "tagHandlerCacheTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: emptySetJspBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:300
-   * 
-   * @test_Strategy: If the action element is empty in the page, setJpsBody
-   * method is not called at all.
-   */
-
-  public void emptySetJspBodyTest() throws Exception {
-    String testName = "emptySetJspBodyTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: noParentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:300
-   * 
-   * @test_Strategy: The container invokes setParent() method only if this tag
-   * invocation is nested within another tag invocation.
-   */
-
-  public void noParentTest() throws Exception {
-    String testName = "noParentTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspFragmentGetJspContextTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:300
-   * 
-   * @test_Strategy: jspFragment.getJspContext() returns the JspContext that is
-   * bound to this JspFragment.
-   */
-
-  public void jspFragmentGetJspContextTest() throws Exception {
-    String testName = "jspFragmentGetJspContextTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED in simple tag.|Test PASSED in classic tag.");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClientIT.java
new file mode 100644
index 0000000000..06e897580d
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClientIT.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SetTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+/**
+ * Test client for the default behavior of SimpleTagSupport.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagadapter_web");
+    setTestJsp("TagAdapterTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_simtagsupport_web.war");
+    archive.addClasses(CheckInstanceSimpleTag.class,
+            ClassicJspFragmentGetJspContext.class,
+            ClassicParent.class,
+            ClassicSkipPage.class,
+            DefaultSimpleTag.class,
+            FailingTag.class,
+            SimpleAncestor.class,
+            SimpleEmptyBody.class,
+            SimpleGetSetJspBody.class,
+            SimpleGetSetJspContext.class,
+            SimpleGetSetParent.class,
+            SimpleJspFragmentGetJspContext.class,
+            SimpleNoParent.class,
+            SimpleParentTag.class,
+            SimpleSkipPage.class,
+            SimpleSyncTag.class,
+            SyncTEI.class,
+            JspTestUtil.class,
+            SetTag.class,
+            ExpressionTest.class);
+
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_simtagsupport_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/simpletagsupport/ClassicSkipPageTag.tag", "tags/simpletagsupport/ClassicSkipPageTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/simpletagsupport/SimpleSkipPageTag.tag", "tags/simpletagsupport/SimpleSkipPageTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/simpletagsupport/Sync.tag", "tags/simpletagsupport/Sync.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/simpletagsupport.tld", "simpletagsupport.tld");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/emptySetJspBodyTest.jsp")), "emptySetJspBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/jspFragmentGetJspContextTest.jsp")), "jspFragmentGetJspContextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noParentTest.jsp")), "noParentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportDoTagDefault.jsp")), "SimpleTagSupportDoTagDefault.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportFindAncestorTest.jsp")), "SimpleTagSupportFindAncestorTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportJspBodyTest.jsp")), "SimpleTagSupportJspBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportJspContextTest.jsp")), "SimpleTagSupportJspContextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportParentTest.jsp")), "SimpleTagSupportParentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportSkipPageClassicTest.jsp")), "SimpleTagSupportSkipPageClassicTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportSkipPageSimpleTest.jsp")), "SimpleTagSupportSkipPageSimpleTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SimpleTagSupportVariableSynchronizationTest.jsp")), "SimpleTagSupportVariableSynchronizationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/tagHandlerCacheTest.jsp")), "tagHandlerCacheTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: simpleTagSupportDoTagDefaultTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:301;JSP:JAVADOC:356
+   * 
+   * @test_Strategy: This validates that the default behavior of
+   * SimpleTagSupport.doTag() does nothing. If this is indeed the case, no
+   * output will be displayed by the tag nested within the SimpleTagSupport
+   * instance.
+   */
+  @Test
+  public void simpleTagSupportDoTagDefaultTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportDoTagDefault.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportSkipPageExceptionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:304;JSP:JAVADOC:359
+   * 
+   * @test_Strategy: Validate the containers behavior with regards to: - Simple
+   * Tag Handler generated from a tag file throws a SkipPageException if an
+   * invoked Classic Tag Handler returns SKIP_PAGE. - Simple Tag Handler
+   * generated from a tag file throws a SkipPageException if an invoked Simple
+   * Tag Handler throws a SkipPageException.
+   */
+  @Test
+  public void simpleTagSupportSkipPageExceptionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportSkipPageClassicTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportSkipPageSimpleTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportGetSetJspContextTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:307;JSP:JAVADOC:308;JSP:JAVADOC:362
+   * 
+   * @test_Strategy: Validate that getJspContext() returnes a non-null value as
+   * the container called setJspContext() prior to invoking doGet().
+   */
+  @Test
+  public void simpleTagSupportGetSetJspContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportJspContextTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportGetSetJspBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:309;JSP:JAVADOC:310;JSP:JAVADOC:363
+   * 
+   * @test_Strategy: Validate that getJspBody() returnes a non-null value as the
+   * container called setJspBody() prior to invoking doGet().
+   */
+  @Test
+  public void simpleTagSupportGetSetJspBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportJspBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportGetSetParentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:305;JSP:JAVADOC:306;JSP:JAVADOC:360;
+   * JSP:JAVADOC:361
+   * 
+   * @test_Strategy: Validate that getParent() returnes a non-null value as the
+   * container called setParent() prior to invoking doGet().
+   */
+  @Test
+  public void simpleTagSupportGetSetParentTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportParentTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportFindAncestorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:311
+   * 
+   * @test_Strategy: Validate that findAncestorWithClass() where the validation
+   * is preformed nested within a SimpleTag handler as well as a Classic Tag
+   * handler.
+   */
+  @Test
+  public void simpleTagSupportFindAncestorTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportFindAncestorTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: simpleTagSupportVariableSynchronizationTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:400
+   * 
+   * @testStrategy: Validate variable synchronization for AT_END and and
+   * AT_BEGIN variables occurs after doTag() has been called. This should occur
+   * for SimpleTags declared as Tags in the TLD using either TEI or through
+   * variable elements, or for Tag files.
+   */
+  @Test
+  public void simpleTagSupportVariableSynchronizationTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/SimpleTagSupportVariableSynchronizationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagHandlerCacheTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:300
+   * 
+   * @test_Strategy: compare instances of a simple tag handler class across
+   * different invocations.
+   */
+  @Test
+  public void tagHandlerCacheTest() throws Exception {
+    String testName = "tagHandlerCacheTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: emptySetJspBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:300
+   * 
+   * @test_Strategy: If the action element is empty in the page, setJpsBody
+   * method is not called at all.
+   */
+  @Test
+  public void emptySetJspBodyTest() throws Exception {
+    String testName = "emptySetJspBodyTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: noParentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:300
+   * 
+   * @test_Strategy: The container invokes setParent() method only if this tag
+   * invocation is nested within another tag invocation.
+   */
+  @Test
+  public void noParentTest() throws Exception {
+    String testName = "noParentTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspFragmentGetJspContextTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:300
+   * 
+   * @test_Strategy: jspFragment.getJspContext() returns the JspContext that is
+   * bound to this JspFragment.
+   */
+  @Test
+  public void jspFragmentGetJspContextTest() throws Exception {
+    String testName = "jspFragmentGetJspContextTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_simtagsupport_web/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED in simple tag.|Test PASSED in classic tag.");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/build.xml
deleted file mode 100644
index dc948e188b..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/build.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java
deleted file mode 100644
index 7235db29cc..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagadapter;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagAdapter. There isn't much that can be done to really test
- * the runtime functionality of TagAdapter as the container will provide the
- * code to cause the wrapping to occur. This set of tests will perform basic API
- * tests to make sure that methods that should not be called by the container
- * throw an UnsupportedOperationException. The last test will make sure that a
- * tag nested within a SimpleTag will be passed an instance of the TagAdapter.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagadapter_web");
-    setTestJsp("TagAdapterTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagAdapterCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:285
-   * 
-   * @test_Strategy: Validates the constructor of the TagAdapter class.
-   */
-  public void tagAdapterCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterSetPageContextTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:287
-   * 
-   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
-   * if a call to TagAdapter.setPageContext() is made.
-   */
-  public void tagAdapterSetPageContextTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterSetPageContextTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterSetParentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:289
-   * 
-   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
-   * if a call to TagAdapter.setParent() is made.
-   */
-  public void tagAdapterSetParentTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterSetParentTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterGetParentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:290
-   * 
-   * @test_Strategy: Validates that getParent always returns
-   * getAdaptee().getParent()
-   */
-  public void tagAdapterGetParentTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterGetParentTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterDoStartTagTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:293;JSP:JAVADOC:294
-   * 
-   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
-   * if a call to TagAdapter.doStartTag() is made.
-   */
-  public void tagAdapterDoStartTagTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterDoStartTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterDoEndTagTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:296;JSP:JAVADOC:297
-   * 
-   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
-   * if a call to TagAdapter.doEndTag() is made.
-   */
-  public void tagAdapterDoEndTagTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterDoEndTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterReleaseTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:299
-   * 
-   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
-   * if a call to TagAdapter.release() is made.
-   */
-  public void tagAdapterReleaseTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "tagAdapterReleaseTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAdapterValidationTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:286;JSP:JAVADOC:288;JSP:JAVADOC:291;
-   * JSP:JAVADOC:292;JSP:JAVADOC:295;JSP:JAVADOC:298; JSP:JAVADOC:290
-   * 
-   * @test_Strategy: This validates that the container properly wraps a
-   * SimpleTag instance with a TagAdapter when a Classic tag handler is a child
-   * of the SimpleTag handler within the JSP Page. This also makes the
-   * assumption, that all of the previous tests passed as it expects an
-   * UnsupportedOperationException to be thrown if an illegal method call is
-   * made on the TagAdapter.
-   */
-  public void tagAdapterValidationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagadapter_web/TagAdapterValidationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClientIT.java
new file mode 100644
index 0000000000..420b289c1f
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClientIT.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagadapter;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+/**
+ * Test client for TagAdapter. There isn't much that can be done to really test
+ * the runtime functionality of TagAdapter as the container will provide the
+ * code to cause the wrapping to occur. This set of tests will perform basic API
+ * tests to make sure that methods that should not be called by the container
+ * throw an UnsupportedOperationException. The last test will make sure that a
+ * tag nested within a SimpleTag will be passed an instance of the TagAdapter.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagadapter_web");
+    setTestJsp("TagAdapterTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagadapter_web.war");
+    archive.addClasses(TagAdapterVerifierTag.class,
+            TASimpleTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagadapter_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagadapter.tld", "tagadapter.tld");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagAdapterValidationTest.jsp")), "TagAdapterValidationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagAdapterTest.jsp")), "TagAdapterTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagAdapterCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:285
+   * 
+   * @test_Strategy: Validates the constructor of the TagAdapter class.
+   */
+  @Test
+  public void tagAdapterCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterSetPageContextTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:287
+   * 
+   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
+   * if a call to TagAdapter.setPageContext() is made.
+   */
+  @Test
+  public void tagAdapterSetPageContextTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterSetPageContextTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterSetParentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:289
+   * 
+   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
+   * if a call to TagAdapter.setParent() is made.
+   */
+  @Test
+  public void tagAdapterSetParentTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterSetParentTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterGetParentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:290
+   * 
+   * @test_Strategy: Validates that getParent always returns
+   * getAdaptee().getParent()
+   */
+  @Test
+  public void tagAdapterGetParentTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterGetParentTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterDoStartTagTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:293;JSP:JAVADOC:294
+   * 
+   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
+   * if a call to TagAdapter.doStartTag() is made.
+   */
+  @Test
+  public void tagAdapterDoStartTagTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterDoStartTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterDoEndTagTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:296;JSP:JAVADOC:297
+   * 
+   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
+   * if a call to TagAdapter.doEndTag() is made.
+   */
+  @Test
+  public void tagAdapterDoEndTagTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterDoEndTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterReleaseTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:299
+   * 
+   * @test_Strategy: Validates that an UnsupportedOperationException is thrown
+   * if a call to TagAdapter.release() is made.
+   */
+  @Test
+  public void tagAdapterReleaseTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "tagAdapterReleaseTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAdapterValidationTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:286;JSP:JAVADOC:288;JSP:JAVADOC:291;
+   * JSP:JAVADOC:292;JSP:JAVADOC:295;JSP:JAVADOC:298; JSP:JAVADOC:290
+   * 
+   * @test_Strategy: This validates that the container properly wraps a
+   * SimpleTag instance with a TagAdapter when a Classic tag handler is a child
+   * of the SimpleTag handler within the JSP Page. This also makes the
+   * assumption, that all of the previous tests passed as it expects an
+   * UnsupportedOperationException to be thrown if an illegal method call is
+   * made on the TagAdapter.
+   */
+  @Test
+  public void tagAdapterValidationTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagadapter_web/TagAdapterValidationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/build.xml
deleted file mode 100644
index efd47fbeb2..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/build.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-	        
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java
deleted file mode 100644
index cdcb0eb076..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagattributeinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagAttributeInfo. Implementation note, all tests are
- * performed within a TagExtraInfo class. If the test fails, a translation error
- * will be generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagAttributeInfoGetNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:278
-   * 
-   * @test_Strategy: Validate the behavior of TagAttributeInfo.getName().
-   */
-  public void tagAttributeInfoGetNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/GetNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoGetTypeNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:279
-   * 
-   * @test_Strategy: Validate the behavior of TagAttributeInfo.getTypeName().
-   */
-  public void tagAttributeInfoGetTypeNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/GetTypeNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoCanBeRequestTimeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:280
-   * 
-   * @test_Strategy: Validate the behavior of
-   * TagAttributeInfo.catBeRequestTime().
-   */
-  public void tagAttributeInfoCanBeRequestTimeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/CanBeRequestTimeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoIsRequiredTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:281
-   * 
-   * @test_Strategy: Validate the behavior of TagAttributeInfo.isRequired().
-   */
-  public void tagAttributeInfoIsRequiredTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/IsRequiredTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoIsFragmentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:283
-   * 
-   * @test_Strategy: Validate the behavior of TagAttributeInfo.siFragment().
-   */
-  public void tagAttributeInfoIsFragmentTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/IsFragmentTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoToStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:284
-   * 
-   * @test_Strategy: Validate the behavior of TagAttributeInfo.toString().
-   */
-  public void tagAttributeInfoToStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/ToStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagAttributeInfoGetIdAttribute
-   * 
-   * @assertion_ids: JSP:JAVADOC:282
-   * 
-   * @test_Strategy: Convenience static method that goes through an array of
-   * TagAttributeInfo objects and looks for "id".
-   */
-  public void tagAttributeInfoGetIdAttribute() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagattrinfo_web/GetIdAttribute.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClientIT.java
new file mode 100644
index 0000000000..d37c8c7dc9
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClientIT.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagattributeinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+/**
+ * Test client for TagAttributeInfo. Implementation note, all tests are
+ * performed within a TagExtraInfo class. If the test fails, a translation error
+ * will be generated and a ValidationMessage array will be returned.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagattrinfo_web.war");
+    archive.addClasses(TagAttributeInfoTEI.class,
+            JspTestUtil.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class);
+
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagattrinfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagattributeinfo.tld", "tagattributeinfo.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CanBeRequestTimeTest.jsp")), "CanBeRequestTimeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetIdAttribute.jsp")), "GetIdAttribute.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetNameTest.jsp")), "GetNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTypeNameTest.jsp")), "GetTypeNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsFragmentTest.jsp")), "IsFragmentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsRequiredTest.jsp")), "IsRequiredTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ToStringTest.jsp")), "ToStringTest.jsp");
+    
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagAttributeInfoGetNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:278
+   * 
+   * @test_Strategy: Validate the behavior of TagAttributeInfo.getName().
+   */
+  @Test
+  public void tagAttributeInfoGetNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/GetNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoGetTypeNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:279
+   * 
+   * @test_Strategy: Validate the behavior of TagAttributeInfo.getTypeName().
+   */
+  @Test
+  public void tagAttributeInfoGetTypeNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/GetTypeNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoCanBeRequestTimeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:280
+   * 
+   * @test_Strategy: Validate the behavior of
+   * TagAttributeInfo.catBeRequestTime().
+   */
+  @Test
+  public void tagAttributeInfoCanBeRequestTimeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/CanBeRequestTimeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoIsRequiredTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:281
+   * 
+   * @test_Strategy: Validate the behavior of TagAttributeInfo.isRequired().
+   */
+  @Test
+  public void tagAttributeInfoIsRequiredTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/IsRequiredTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoIsFragmentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:283
+   * 
+   * @test_Strategy: Validate the behavior of TagAttributeInfo.siFragment().
+   */
+  @Test
+  public void tagAttributeInfoIsFragmentTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/IsFragmentTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoToStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:284
+   * 
+   * @test_Strategy: Validate the behavior of TagAttributeInfo.toString().
+   */
+  @Test
+  public void tagAttributeInfoToStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/ToStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagAttributeInfoGetIdAttribute
+   * 
+   * @assertion_ids: JSP:JAVADOC:282
+   * 
+   * @test_Strategy: Convenience static method that goes through an array of
+   * TagAttributeInfo objects and looks for "id".
+   */
+  @Test
+  public void tagAttributeInfoGetIdAttribute() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagattrinfo_web/GetIdAttribute.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/build.xml
deleted file mode 100644
index 0a2b5da52e..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java
deleted file mode 100644
index 485d68e0c5..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagdata;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagData. Implementation note, all tests are performed within
- * a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagDataGetAttributeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:271
-   * 
-   * @test_Strategy: Validate the behavior of TagData.getAttribute().
-   */
-  public void tagDataGetAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagdata_web/GetAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagDataSetAttributeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:272
-   * 
-   * @test_Strategy: Validate the behavior of TagData.setAttribute().
-   */
-  public void tagDataSetAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagdata_web/SetAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagDataGetAttributeStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:273;JSP:JAVADOC:274
-   * 
-   * @test_Strategy: Validate the behavior of TagData.getAttributeString().
-   */
-  public void tagDataGetAttributeStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagdata_web/GetAttributeStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagDataGetAttributesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:275
-   * 
-   * @test_Strategy: Validate the behavior of TagData.getAttributes().
-   */
-  public void tagDataGetAttributesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagdata_web/GetAttributesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagDataConstructorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:268
-   * 
-   * @test_Strategy: validate the constructor TagData(Object[][]).
-   */
-  public void tagDataConstructorTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagdata_web/ConstructorTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClientIT.java
new file mode 100644
index 0000000000..392017e78a
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClientIT.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagdata;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+/**
+ * Test client for TagData. Implementation note, all tests are performed within
+ * a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagdata_web.war");
+    archive.addClasses(TagDataTEI.class,
+            JspTestUtil.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagdata_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagdata.tld", "tagdata.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ConstructorTest.jsp")), "ConstructorTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetAttributesTest.jsp")), "GetAttributesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetAttributeStringTest.jsp")), "GetAttributeStringTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetAttributeTest.jsp")), "GetAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SetAttributeTest.jsp")), "SetAttributeTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagDataGetAttributeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:271
+   * 
+   * @test_Strategy: Validate the behavior of TagData.getAttribute().
+   */
+  @Test
+  public void tagDataGetAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagdata_web/GetAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagDataSetAttributeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:272
+   * 
+   * @test_Strategy: Validate the behavior of TagData.setAttribute().
+   */
+  @Test
+  public void tagDataSetAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagdata_web/SetAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagDataGetAttributeStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:273;JSP:JAVADOC:274
+   * 
+   * @test_Strategy: Validate the behavior of TagData.getAttributeString().
+   */
+  @Test
+  public void tagDataGetAttributeStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagdata_web/GetAttributeStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagDataGetAttributesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:275
+   * 
+   * @test_Strategy: Validate the behavior of TagData.getAttributes().
+   */
+  @Test
+  public void tagDataGetAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagdata_web/GetAttributesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagDataConstructorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:268
+   * 
+   * @test_Strategy: validate the constructor TagData(Object[][]).
+   */
+  @Test
+  public void tagDataConstructorTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagdata_web/ConstructorTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/build.xml
deleted file mode 100644
index 49976f4d83..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClient.java
deleted file mode 100644
index 55e9e8023a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClient.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagExtraInfo. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagextrainfo_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagExtraInfoTest
-   * 
-   * @assertion_ids:
-   * JSP:JAVADOC:264;JSP:JAVADOC:265;JSP:JAVADOC:266;JSP:JAVADOC:267
-   * 
-   * @test_Strategy: Validate the following: - TagExtraInfo.getTagInfo() returns
-   * a non-null value as the container called TagExtraInfo.setTagInfo() prior to
-   * calling validate. - A null or an emtpy array of ValidationMessage returned
-   * by validate does not cause a translation error. - A non-empty array of
-   * ValiationMessages causes a translation error. - The default implementation
-   * of TagExtraInfo.validate() calls isValid(). If isValid() returns false, a
-   * default ValidationMessage array is returned.
-   */
-  public void tagExtraInfoTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagextrainfo_web/TagExtraInfoNullReturnTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagextrainfo_web/TagExtraInfoEmptyReturnTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagextrainfo_web/TagExtraInfoNonEmptyReturnTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagextrainfo_web/TagExtraInfoDefaultImplTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClientIT.java
new file mode 100644
index 0000000000..5dcc860306
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClientIT.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+/**
+ * Test client for TagExtraInfo. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagextrainfo_web");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagextrainfo_web.war");
+    archive.addClasses(TagExtraInfoTEI.class,
+            JspTestUtil.class,
+            SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagextrainfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagextrainfo.tld", "tagextrainfo.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagExtraInfoDefaultImplTest.jsp")), "TagExtraInfoDefaultImplTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagExtraInfoEmptyReturnTest.jsp")), "TagExtraInfoEmptyReturnTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagExtraInfoNonEmptyReturnTest.jsp")), "TagExtraInfoNonEmptyReturnTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagExtraInfoNullReturnTest.jsp")), "TagExtraInfoNullReturnTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagExtraInfoTest
+   * 
+   * @assertion_ids:
+   * JSP:JAVADOC:264;JSP:JAVADOC:265;JSP:JAVADOC:266;JSP:JAVADOC:267
+   * 
+   * @test_Strategy: Validate the following: - TagExtraInfo.getTagInfo() returns
+   * a non-null value as the container called TagExtraInfo.setTagInfo() prior to
+   * calling validate. - A null or an emtpy array of ValidationMessage returned
+   * by validate does not cause a translation error. - A non-empty array of
+   * ValiationMessages causes a translation error. - The default implementation
+   * of TagExtraInfo.validate() calls isValid(). If isValid() returns false, a
+   * default ValidationMessage array is returned.
+   */
+  @Test
+  public void tagExtraInfoTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagextrainfo_web/TagExtraInfoNullReturnTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagextrainfo_web/TagExtraInfoEmptyReturnTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagextrainfo_web/TagExtraInfoNonEmptyReturnTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagextrainfo_web/TagExtraInfoDefaultImplTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/build.xml
deleted file mode 100644
index d366458a4c..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/build.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-	        
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java
deleted file mode 100644
index 141962d470..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagfileinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagFileInfo. Implementation note, all tests are performed
- * within a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_taginfo_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagFileInfoGetNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:259
-   * 
-   * @test_Strategy: Validate TagFileInfo.getName returns the expected values
-   * based on what is defined in the TLD.
-   */
-  public void tagFileInfoGetNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagfileinfo_web/GetNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagFileInfoGetPathTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:260
-   * 
-   * @test_Strategy: Validate TagFileInfo.getPath() returns the expected values
-   * based on what is defined in the TLD.
-   */
-  public void tagFileInfoGetPathTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagfileinfo_web/GetPathTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagFileInfoGetTagInfoTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:261
-   * 
-   * @test_Strategy: Validate TagFileInfo.getTagInfo() returns the expected
-   * values based on what is defined in the tag file.
-   */
-  public void tagFileInfoGetTagInfoTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagfileinfo_web/GetTagInfoTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClientIT.java
new file mode 100644
index 0000000000..187311b240
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClientIT.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagfileinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+/**
+ * Test client for TagFileInfo. Implementation note, all tests are performed
+ * within a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_taginfo_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfileinfo_web.war");
+    archive.addClasses(TagFileInfoTEI.class,
+            JspTestUtil.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfileinfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagfileinfo.tld", "tagfileinfo.tld");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/tagfileinfo/TagFile1.tag", "tags/tagfileinfo/TagFile1.tag");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetNameTest.jsp")), "GetNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetPathTest.jsp")), "GetPathTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagInfoTest.jsp")), "GetTagInfoTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagFileInfoGetNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:259
+   * 
+   * @test_Strategy: Validate TagFileInfo.getName returns the expected values
+   * based on what is defined in the TLD.
+   */
+  @Test
+  public void tagFileInfoGetNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagfileinfo_web/GetNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagFileInfoGetPathTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:260
+   * 
+   * @test_Strategy: Validate TagFileInfo.getPath() returns the expected values
+   * based on what is defined in the TLD.
+   */
+  @Test
+  public void tagFileInfoGetPathTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagfileinfo_web/GetPathTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagFileInfoGetTagInfoTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:261
+   * 
+   * @test_Strategy: Validate TagFileInfo.getTagInfo() returns the expected
+   * values based on what is defined in the tag file.
+   */
+  @Test
+  public void tagFileInfoGetTagInfoTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagfileinfo_web/GetTagInfoTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/build.xml
deleted file mode 100644
index 94dd67abac..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/build.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-        
-
-	
-		
-                  
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java
deleted file mode 100644
index 1867d042e7..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taginfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagInfo. Implementation note, all tests are performed within
- * a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_taginfo_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagInfoGetTagNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:232
-   * 
-   * @test_Strategy: Validate TagInfo.getTagName() returns the expected values
-   * based on what is defined in the TLD.
-   */
-  public void tagInfoGetTagNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetTagNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetAttributesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:233
-   * 
-   * @test_Strategy: Validate TagInfo.getAttributes() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetAttributesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetAttributesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetTagExtraInfoTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:237;JSP:JAVADOC:238
-   * 
-   * @test_Strategy: Validate TagInfo.getTagExtraInfo() returns the expected
-   * values based on what is defined in the TLD. This implicitly tests
-   * TagInfo.setTagExtraInfo().
-   */
-  public void tagInfoGetTagExtraInfoTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetTagExtraInfoTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetTagClassNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:239
-   * 
-   * @test_Strategy: Validate TagInfo.getTagClassName() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetTagClassNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetTagClassNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetBodyContentTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:240
-   * 
-   * @test_Strategy: Validate TagInfo.getBodyContent() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetBodyContentTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetBodyContentTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetInfoStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:241
-   * 
-   * @test_Strategy: Validate TagInfo.getInfoString() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetInfoStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetInfoStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetTagLibraryTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:242;JSP:JAVADOC:243
-   * 
-   * @test_Strategy: Validate TagInfo.getAttributes() returns the expected
-   * values based on what is defined in the TLD. This implicitly tests
-   * TagInfo.setTagLibrary().
-   */
-  public void tagInfoGetTagLibraryTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetTagLibraryTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetDisplayNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:244
-   * 
-   * @test_Strategy: Validate TagInfo.getDisplayName() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetDisplayNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetDisplayNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetSmallIconTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:245
-   * 
-   * @test_Strategy: Validate TagInfo.getSmallIconName() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetSmallIconTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetSmallIconTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetLargeIconTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:246
-   * 
-   * @test_Strategy: Validate TagInfo.getLargeIconName() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetLargeIconTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetLargeIconTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoGetTagVariableInfosTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:247
-   * 
-   * @test_Strategy: Validate TagInfo.getTagVariableInfos() returns the expected
-   * values based on what is defined in the TLD.
-   */
-  public void tagInfoGetTagVariableInfosTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/GetTagVariableInfosTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoHasDynamicAttributesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:248
-   * 
-   * @test_Strategy: Validate TagInfo.hasDynamicAttributes() returns the
-   * expected values based on what is defined in the TLD.
-   */
-  public void tagInfoHasDynamicAttributesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/HasDynamicAttributesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * testName: tagInfoIsValidTest assertion_ids: JSP:JAVADOC:235 test_Strategy:
-   * Translation-time validation of the attributes. This is a convenience method
-   * on the associated TagExtraInfo class. This method should be exercised with
-   * a jsp 1.1 tld. See tagInfoConstructor11Test.
-   */
-  public void tagInfoIsValidTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/IsValidTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoSetTagExtraInfoTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:237
-   * 
-   * @test_Strategy: Set the instance for extra tag information
-   */
-  public void tagInfoSetTagExtraInfoTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/SetTagExtraInfoTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagInfoSetTagLibraryTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:242
-   * 
-   * @test_Strategy: Set the TagLibraryInfo property.
-   */
-  public void tagInfoSetTagLibraryTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taginfo_web/SetTagLibraryTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClientIT.java
new file mode 100644
index 0000000000..eaabf2f94c
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClientIT.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taginfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+import com.sun.ts.tests.common.el.api.expression.ExpressionTest;
+
+/**
+ * Test client for TagInfo. Implementation note, all tests are performed within
+ * a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+import org.junit.jupiter.api.Disabled;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_taginfo_web");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_taginfo_web.war");
+    archive.addClasses(TagInfoTEI.class,
+            JspTestUtil.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class,
+            ExpressionTest.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_taginfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/taginfo.tld", "taginfo.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetAttributesTest.jsp")), "GetAttributesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetBodyContentTest.jsp")), "GetBodyContentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetDisplayNameTest.jsp")), "GetDisplayNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetInfoStringTest.jsp")), "GetInfoStringTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetLargeIconTest.jsp")), "GetLargeIconTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetSmallIconTest.jsp")), "GetSmallIconTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagClassNameTest.jsp")), "GetTagClassNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagExtraInfoTest.jsp")), "GetTagExtraInfoTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagLibraryTest.jsp")), "GetTagLibraryTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagNameTest.jsp")), "GetTagNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagVariableInfosTest.jsp")), "GetTagVariableInfosTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/HasDynamicAttributesTest.jsp")), "HasDynamicAttributesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SetTagExtraInfoTest.jsp")), "SetTagExtraInfoTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SetTagLibraryTest.jsp")), "SetTagLibraryTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagInfoGetTagNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:232
+   * 
+   * @test_Strategy: Validate TagInfo.getTagName() returns the expected values
+   * based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetTagNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetTagNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetAttributesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:233
+   * 
+   * @test_Strategy: Validate TagInfo.getAttributes() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetAttributesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetTagExtraInfoTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:237;JSP:JAVADOC:238
+   * 
+   * @test_Strategy: Validate TagInfo.getTagExtraInfo() returns the expected
+   * values based on what is defined in the TLD. This implicitly tests
+   * TagInfo.setTagExtraInfo().
+   */
+  @Test
+  public void tagInfoGetTagExtraInfoTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetTagExtraInfoTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetTagClassNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:239
+   * 
+   * @test_Strategy: Validate TagInfo.getTagClassName() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetTagClassNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetTagClassNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetBodyContentTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:240
+   * 
+   * @test_Strategy: Validate TagInfo.getBodyContent() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetBodyContentTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetBodyContentTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetInfoStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:241
+   * 
+   * @test_Strategy: Validate TagInfo.getInfoString() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetInfoStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetInfoStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetTagLibraryTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:242;JSP:JAVADOC:243
+   * 
+   * @test_Strategy: Validate TagInfo.getAttributes() returns the expected
+   * values based on what is defined in the TLD. This implicitly tests
+   * TagInfo.setTagLibrary().
+   */
+  @Test
+  public void tagInfoGetTagLibraryTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetTagLibraryTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetDisplayNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:244
+   * 
+   * @test_Strategy: Validate TagInfo.getDisplayName() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetDisplayNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetDisplayNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetSmallIconTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:245
+   * 
+   * @test_Strategy: Validate TagInfo.getSmallIconName() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetSmallIconTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetSmallIconTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetLargeIconTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:246
+   * 
+   * @test_Strategy: Validate TagInfo.getLargeIconName() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetLargeIconTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetLargeIconTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoGetTagVariableInfosTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:247
+   * 
+   * @test_Strategy: Validate TagInfo.getTagVariableInfos() returns the expected
+   * values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoGetTagVariableInfosTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/GetTagVariableInfosTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoHasDynamicAttributesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:248
+   * 
+   * @test_Strategy: Validate TagInfo.hasDynamicAttributes() returns the
+   * expected values based on what is defined in the TLD.
+   */
+  @Test
+  public void tagInfoHasDynamicAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/HasDynamicAttributesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * testName: tagInfoIsValidTest assertion_ids: JSP:JAVADOC:235 test_Strategy:
+   * Translation-time validation of the attributes. This is a convenience method
+   * on the associated TagExtraInfo class. This method should be exercised with
+   * a jsp 1.1 tld. See tagInfoConstructor11Test.
+   */
+  // @Test
+  // @Disabled("Disabled in legacy")
+  public void tagInfoIsValidTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/IsValidTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoSetTagExtraInfoTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:237
+   * 
+   * @test_Strategy: Set the instance for extra tag information
+   */
+  @Test
+  public void tagInfoSetTagExtraInfoTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/SetTagExtraInfoTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagInfoSetTagLibraryTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:242
+   * 
+   * @test_Strategy: Set the TagLibraryInfo property.
+   */
+  @Test
+  public void tagInfoSetTagLibraryTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taginfo_web/SetTagLibraryTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/build.xml
deleted file mode 100644
index ae6d4e7147..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/build.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-        
-
-	
-		
-                  
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java
deleted file mode 100644
index 5741afb545..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagLibraryInfo. Implementation note, all tests are performed
- * within a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagvarinfo_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagLibraryInfoGetURITest
-   * 
-   * @assertion_ids: JSP:JAVADOC:216
-   * 
-   * @test_Strategy: Validate that TagLibaryInfo.getURI() returns the URI as
-   * defined by the taglib directive within a JSP page.
-   */
-  public void tagLibraryInfoGetURITest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetURITest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetPrefixStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:218
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getPrefixString() returns the
-   * prefix as specified by the prefix attribute of the taglib directive within
-   * a JSP page.
-   */
-  public void tagLibraryInfoGetPrefixStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetPrefixStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetShortNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:219
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getShortName() returns the
-   * short name of the tag library as specified by the <short-name>
-   * element in a TLD.
-   */
-  public void tagLibraryInfoGetShortNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetShortNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetReliableURNTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:220
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getShortName() returns the uri
-   * of the tag library as specified by the <uri> element in a TLD.
-   */
-  public void tagLibraryInfoGetReliableURNTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetReliableURNTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetInfoStringTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:221
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getInfoString() returns the
-   * description of the tag library as specified by the <description>
-   * element in a TLD.
-   */
-  public void tagLibraryInfoGetInfoStringTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetInfoStringTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetRequiredVersionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:222
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getRequiredVersion() returns
-   * the require version of the tag library as specified by the
-   * <required-version> element in a TLD.
-   */
-  public void tagLibraryInfoGetRequiredVersionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetRequiredVersionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetTagsTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:223
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getTags() returns an array of
-   * TagInfo objects based off the tags defined by the <tag> elements in a
-   * TLD.
-   */
-  public void tagLibraryInfoGetTagsTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetTagsTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetTagFilesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:224
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getTagFiles() returns an array
-   * of TagFileInfo objects based off the tags files defined by the
-   * <tag-file> elements in a TLD.
-   */
-  public void tagLibraryInfoGetTagFilesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetTagFilesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetTagTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:225
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getTag() returns a TagInfo
-   * object based off the provided discriminate.
-   */
-  public void tagLibraryInfoGetTagTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetTagTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetTagFileTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:226
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getTagFile() returns a
-   * TagFileInfo object based off the provided discriminate.
-   */
-  public void tagLibraryInfoGetTagFileTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetTagFileTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetFunctionsTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:227
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getFunctions() returns an array
-   * of FunctionInfo objects based off the functions defined by the
-   * <function> elements in a TLD.
-   */
-  public void tagLibraryInfoGetFunctionsTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetFunctionsTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetFunctionTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:228
-   * 
-   * @testStrategy: Validate that TagLibraryInfo.getFunction() returns a
-   * FunctionInfo object based off the provided discriminate.
-   */
-  public void tagLibraryInfoGetFunctionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetFunctionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryInfoGetTagLibraryInfosTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:440
-   * 
-   * @testStrategy: Validate TagLibaryInfo.getTagLibraryInfos() returns an array
-   * of TagLibraryInfo objects for all taglibraries declared in the JSP.
-   */
-  public void tagLibraryInfoGetTagLibraryInfosTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibinfo_web/GetTagLibraryInfosTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClientIT.java
new file mode 100644
index 0000000000..773c9d3da1
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClientIT.java
@@ -0,0 +1,315 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.JspFunctions;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+/**
+ * Test client for TagLibraryInfo. Implementation note, all tests are performed
+ * within a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagvarinfo_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_taglibinfo_web.war");
+    archive.addClasses(TagLibraryInfoTEI.class,
+            JspTestUtil.class,
+            JspFunctions.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class);
+
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_taglibinfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/taglibinfo.tld", "taglibinfo.tld");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/taglibinfo2.tld", "taglibinfo2.tld");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/taglibinfo/TagFile1.tag", "tags/taglibinfo/TagFile1.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/taglibinfo/TagFile2.tag", "tags/taglibinfo/TagFile2.tag");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetFunctionsTest.jsp")), "GetFunctionsTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetFunctionTest.jsp")), "GetFunctionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetInfoStringTest.jsp")), "GetInfoStringTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetPrefixStringTest.jsp")), "GetPrefixStringTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetReliableURNTest.jsp")), "GetReliableURNTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetRequiredVersionTest.jsp")), "GetRequiredVersionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetShortNameTest.jsp")), "GetShortNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagFilesTest.jsp")), "GetTagFilesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagFileTest.jsp")), "GetTagFileTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagLibraryInfosTest.jsp")), "GetTagLibraryInfosTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagsTest.jsp")), "GetTagsTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetTagTest.jsp")), "GetTagTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetURITest.jsp")), "GetURITest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagLibraryInfoGetURITest
+   * 
+   * @assertion_ids: JSP:JAVADOC:216
+   * 
+   * @test_Strategy: Validate that TagLibaryInfo.getURI() returns the URI as
+   * defined by the taglib directive within a JSP page.
+   */
+  @Test
+  public void tagLibraryInfoGetURITest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetURITest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetPrefixStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:218
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getPrefixString() returns the
+   * prefix as specified by the prefix attribute of the taglib directive within
+   * a JSP page.
+   */
+  @Test
+  public void tagLibraryInfoGetPrefixStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetPrefixStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetShortNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:219
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getShortName() returns the
+   * short name of the tag library as specified by the <short-name>
+   * element in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetShortNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetShortNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetReliableURNTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:220
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getShortName() returns the uri
+   * of the tag library as specified by the <uri> element in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetReliableURNTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetReliableURNTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetInfoStringTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:221
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getInfoString() returns the
+   * description of the tag library as specified by the <description>
+   * element in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetInfoStringTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetInfoStringTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetRequiredVersionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:222
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getRequiredVersion() returns
+   * the require version of the tag library as specified by the
+   * <required-version> element in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetRequiredVersionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetRequiredVersionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetTagsTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:223
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getTags() returns an array of
+   * TagInfo objects based off the tags defined by the <tag> elements in a
+   * TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetTagsTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetTagsTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetTagFilesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:224
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getTagFiles() returns an array
+   * of TagFileInfo objects based off the tags files defined by the
+   * <tag-file> elements in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetTagFilesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetTagFilesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetTagTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:225
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getTag() returns a TagInfo
+   * object based off the provided discriminate.
+   */
+  @Test
+  public void tagLibraryInfoGetTagTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetTagTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetTagFileTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:226
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getTagFile() returns a
+   * TagFileInfo object based off the provided discriminate.
+   */
+  @Test
+  public void tagLibraryInfoGetTagFileTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetTagFileTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetFunctionsTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:227
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getFunctions() returns an array
+   * of FunctionInfo objects based off the functions defined by the
+   * <function> elements in a TLD.
+   */
+  @Test
+  public void tagLibraryInfoGetFunctionsTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetFunctionsTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetFunctionTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:228
+   * 
+   * @testStrategy: Validate that TagLibraryInfo.getFunction() returns a
+   * FunctionInfo object based off the provided discriminate.
+   */
+  @Test
+  public void tagLibraryInfoGetFunctionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetFunctionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryInfoGetTagLibraryInfosTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:440
+   * 
+   * @testStrategy: Validate TagLibaryInfo.getTagLibraryInfos() returns an array
+   * of TagLibraryInfo objects for all taglibraries declared in the JSP.
+   */
+  @Test
+  public void tagLibraryInfoGetTagLibraryInfosTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibinfo_web/GetTagLibraryInfosTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED.");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/build.xml
deleted file mode 100644
index e84678d549..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/build.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-	        
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClient.java
deleted file mode 100644
index f5501d005c..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClient.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryvalidator;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_taglibvalidator_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagLibraryValidatorAPITest
-   * 
-   * @assertion_ids: JSP:JAVADOC:212;JSP:JAVADOC:213;JSP:JAVADOC:214
-   * 
-   * @test_Strategy: Validate the setInitParameters(), getInitParameters(), and
-   * validate() methods of the TagLibraryValidator class. This will verify that
-   * the configured TLV is called only once for each taglibrary URI defined
-   * within the page, that setInitParameters() is invoked by the container
-   * before validate is called, and that an empty array of ValidationMessages or
-   * a null return value from validate() indicates the page is valid, thus no
-   * translation error will occur.
-   */
-  public void tagLibraryValidatorAPITest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibvalidator_web/TagLibraryValidatorTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED.  Validator call count was 1");
-    invoke();
-  }
-
-  /*
-   * @testName: tagLibraryValidatorTranslationFailureTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:182;JSP:JAVADOC:183;
-   * JSP:JAVADOC:184;JSP:JAVADOC:386
-   * 
-   * @test_Strategy: Validate that a translation error will occur if a non-null
-   * or non-empty array of ValidationMessages is returned when the validation()
-   * method is called. This also validates the use of the ValidationMessage
-   * class.
-   */
-  public void tagLibraryValidatorTranslationFailureTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_taglibvalidator_web/TLVTranslationErrorTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClientIT.java
new file mode 100644
index 0000000000..4f353b4304
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClientIT.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryvalidator;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_taglibvalidator_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_taglibvalidator_web.war");
+    archive.addClasses(APIValidator.class, FailingValidator.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_taglibvalidator_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/taglibvalfail.tld", "taglibvalfail.tld");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/taglibvalidator.tld", "taglibvalidator.tld");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TLVTranslationErrorTest.jsp")), "TLVTranslationErrorTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagLibraryValidatorTest.jsp")), "TagLibraryValidatorTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagLibraryValidatorAPITest
+   * 
+   * @assertion_ids: JSP:JAVADOC:212;JSP:JAVADOC:213;JSP:JAVADOC:214
+   * 
+   * @test_Strategy: Validate the setInitParameters(), getInitParameters(), and
+   * validate() methods of the TagLibraryValidator class. This will verify that
+   * the configured TLV is called only once for each taglibrary URI defined
+   * within the page, that setInitParameters() is invoked by the container
+   * before validate is called, and that an empty array of ValidationMessages or
+   * a null return value from validate() indicates the page is valid, thus no
+   * translation error will occur.
+   */
+  @Test
+  public void tagLibraryValidatorAPITest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibvalidator_web/TagLibraryValidatorTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED.  Validator call count was 1");
+    invoke();
+  }
+
+  /*
+   * @testName: tagLibraryValidatorTranslationFailureTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:182;JSP:JAVADOC:183;
+   * JSP:JAVADOC:184;JSP:JAVADOC:386
+   * 
+   * @test_Strategy: Validate that a translation error will occur if a non-null
+   * or non-empty array of ValidationMessages is returned when the validation()
+   * method is called. This also validates the use of the ValidationMessage
+   * class.
+   */
+  @Test
+  public void tagLibraryValidatorTranslationFailureTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_taglibvalidator_web/TLVTranslationErrorTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/build.xml
deleted file mode 100644
index 72cbe8c5ff..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/build.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java
deleted file mode 100644
index 580ae0fbdc..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for Container interaction with objects implementing Tag..
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagsupport_web");
-    setTestJsp("TagSupportApiTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagSupportTagInitializationTest
-   * 
-   * @assertion_ids:
-   * JSP:JAVADOC:342;JSP:JAVADOC:343;JSP:JAVADOC:344;JSP:JAVADOC:345;
-   * JSP:JAVADOC:202;JSP:JAVADOC:203;JSP:JAVADOC:204;JSP:JAVADOC:205;
-   * JSP:JAVADOC:206
-   * 
-   * @test_Strategy: Validates that the container performs the proper
-   * initialization steps for a new tag handler instance. The PageContext,
-   * parent Tag (if any), and all attributes must be set prior to calling
-   * doStartTag().
-   */
-  public void tagSupportTagInitializationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/TagInitializationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoStartEvalBodyIncludeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:345
-   * 
-   * @test_Strategy: Validate the when doStartTag returns EVAL_BODY_INCLUDE will
-   * include the evaluation of the body in the current out. This will be
-   * verified by flushing the same out the tag should be using. The evaluated
-   * body shouldn't be present in the stream after the flush. This also performs
-   * validation on the method sequence called by the container.
-   */
-  public void tagSupportDoStartEvalBodyIncludeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoStartEvalBodyIncludeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoStartSkipBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:402
-   * 
-   * @test_Strategy: Validate the when doStartTag returns SKIP_BODY, the body of
-   * the tag is not included in the current out as the body related methods are
-   * not called..
-   */
-  public void tagSupportDoStartSkipBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoStartSkipBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoAfterBodySkipBodyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:368
-   * 
-   * @test_Strategy: Validate the doAfterBody() is called exactly once when
-   * doStartTag() returns EVAL_BODY_INCLUDE and doAfterBody() returns SKIP_BODY.
-   */
-  public void tagSupportDoAfterBodySkipBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoAfterBodySkipBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Body Evaluated1|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "Test FAILED|Body Evaluated2");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoAfterBodyEvalBodyAgainTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:369
-   * 
-   * @test_Strategy: Validate the doAfterBody() is called subsequent of
-   * doAfterBody() being called and returning EVAL_BODY_AGAIN.
-   */
-  public void tagSupportDoAfterBodyEvalBodyAgainTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoAfterBodyEvalBodyAgainTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Body Evaluated1|Body Evaluated2");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "Test FAILED|Body Evaluated3");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoEndTagSkipPageTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:351;JSP:JAVADOC:347
-   * 
-   * @test_Strategy: Validate that page evaluation ceases when doEndTagReturns
-   * SKIP_PAGE. This also ensures that doEndTag will not be called in any parent
-   * tags.
-   */
-  public void tagSupportDoEndTagSkipPageTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoEndTagSkipPageTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/MethodValidation.jsp?name=interaction&methods=doStartTag,doEndTag HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/MethodValidation.jsp?name=parent&methods=doStartTag HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoEndTagEvalPageTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:350
-   * 
-   * @test_Strategy: Validate that if doEndTag() returns EVAL_PAGE, the page
-   * continues to evaluate.
-   */
-  public void tagSupportDoEndTagEvalPageTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/DoEndTagEvalPageTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportFindAncestorWithClassTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:194
-   * 
-   * @test_Strategy: Validate the behavior of findAncestorWithClass when test
-   * tag is nested with multiple tag instances of the same type.
-   */
-  public void tagSupportFindAncestorWithClassTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/FindAncestorTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoStartTagDefaultValueTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:195
-   * 
-   * @test_Strategy: Validate the default return value of
-   * TagSupport.doStartTag().
-   */
-  public void tagSupportDoStartTagDefaultValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "doStartTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoEndTagDefaultValueTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:197
-   * 
-   * @test_Strategy: Validate the default return value of TagSupport.doEndTag().
-   */
-  public void tagSupportDoEndTagDefaultValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "doEndTagTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportDoAfterBodyDefaultValueTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:199
-   * 
-   * @test_Strategy: Validate the default return value of
-   * TagSupport.doAfterBody().
-   */
-  public void tagSupportDoAfterBodyDefaultValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "doAfterBodyTest");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportGetSetValueTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:207;JSP:JAVADOC:208
-   * 
-   * @test_Strategy: Validate the behavior of TagSupport.setValue() and
-   * TagSupport.getValue().
-   */
-  public void tagSupportGetSetValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "setGetValue");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportGetValuesTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:210
-   * 
-   * @test_Strategy: Validate the behavior of TagSupport.getValues().
-   */
-  public void tagSupportGetValuesTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "getValues");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportRemoveValueTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:209
-   * 
-   * @test_Strategy: Validate the behavior of TagSupport.removeValue().
-   */
-  public void tagSupportRemoveValueTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "removeValue");
-    invoke();
-  }
-
-  /*
-   * @testName: tagSupportVariableSynchronizationTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:348;JSP:JAVADOC:353;JSP:JAVADOC:371
-   * 
-   * @test_Strategy: Validate scripting variables are synchronized at the proper
-   * locations by the container.
-   */
-  public void tagSupportVariableSynchronizationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagsupport_web/TagSupportSynchronizationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClientIT.java
new file mode 100644
index 0000000000..79a47d7dc3
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClientIT.java
@@ -0,0 +1,342 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.MethodValidatorBean;
+
+/**
+ * Test client for Container interaction with objects implementing Tag..
+ */
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagsupport_web");
+    setTestJsp("TagSupportApiTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagsupport_web.war");
+    archive.addClasses(ContainerInteractionTag.class,
+            FindAncestorTag.class, InitializationTag.class,
+            ParentTag.class, SynchronizationTag.class,
+            JspTestUtil.class,
+            MethodValidatorBean.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagsupport_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagsupport.tld", "tagsupport.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoAfterBodyEvalBodyAgainTest.jsp")), "DoAfterBodyEvalBodyAgainTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoAfterBodySkipBodyTest.jsp")), "DoAfterBodySkipBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoEndTagEvalPageTest.jsp")), "DoEndTagEvalPageTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoEndTagSkipPageTest.jsp")), "DoEndTagSkipPageTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoStartEvalBodyIncludeTest.jsp")), "DoStartEvalBodyIncludeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DoStartSkipBodyTest.jsp")), "DoStartSkipBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/FindAncestorTest.jsp")), "FindAncestorTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/MethodValidation.jsp")), "MethodValidation.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagInitializationTest.jsp")), "TagInitializationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagSupportApiTest.jsp")), "TagSupportApiTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagSupportSynchronizationTest.jsp")), "TagSupportSynchronizationTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagSupportTagInitializationTest
+   * 
+   * @assertion_ids:
+   * JSP:JAVADOC:342;JSP:JAVADOC:343;JSP:JAVADOC:344;JSP:JAVADOC:345;
+   * JSP:JAVADOC:202;JSP:JAVADOC:203;JSP:JAVADOC:204;JSP:JAVADOC:205;
+   * JSP:JAVADOC:206
+   * 
+   * @test_Strategy: Validates that the container performs the proper
+   * initialization steps for a new tag handler instance. The PageContext,
+   * parent Tag (if any), and all attributes must be set prior to calling
+   * doStartTag().
+   */
+  @Test
+  public void tagSupportTagInitializationTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/TagInitializationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoStartEvalBodyIncludeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:345
+   * 
+   * @test_Strategy: Validate the when doStartTag returns EVAL_BODY_INCLUDE will
+   * include the evaluation of the body in the current out. This will be
+   * verified by flushing the same out the tag should be using. The evaluated
+   * body shouldn't be present in the stream after the flush. This also performs
+   * validation on the method sequence called by the container.
+   */
+  @Test
+  public void tagSupportDoStartEvalBodyIncludeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoStartEvalBodyIncludeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoStartSkipBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:402
+   * 
+   * @test_Strategy: Validate the when doStartTag returns SKIP_BODY, the body of
+   * the tag is not included in the current out as the body related methods are
+   * not called..
+   */
+  @Test
+  public void tagSupportDoStartSkipBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoStartSkipBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoAfterBodySkipBodyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:368
+   * 
+   * @test_Strategy: Validate the doAfterBody() is called exactly once when
+   * doStartTag() returns EVAL_BODY_INCLUDE and doAfterBody() returns SKIP_BODY.
+   */
+  @Test
+  public void tagSupportDoAfterBodySkipBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoAfterBodySkipBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Body Evaluated1|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "Test FAILED|Body Evaluated2");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoAfterBodyEvalBodyAgainTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:369
+   * 
+   * @test_Strategy: Validate the doAfterBody() is called subsequent of
+   * doAfterBody() being called and returning EVAL_BODY_AGAIN.
+   */
+  @Test
+  public void tagSupportDoAfterBodyEvalBodyAgainTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoAfterBodyEvalBodyAgainTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Body Evaluated1|Body Evaluated2");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "Test FAILED|Body Evaluated3");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoEndTagSkipPageTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:351;JSP:JAVADOC:347
+   * 
+   * @test_Strategy: Validate that page evaluation ceases when doEndTagReturns
+   * SKIP_PAGE. This also ensures that doEndTag will not be called in any parent
+   * tags.
+   */
+  @Test
+  public void tagSupportDoEndTagSkipPageTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoEndTagSkipPageTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/MethodValidation.jsp?name=interaction&methods=doStartTag,doEndTag HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/MethodValidation.jsp?name=parent&methods=doStartTag HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoEndTagEvalPageTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:350
+   * 
+   * @test_Strategy: Validate that if doEndTag() returns EVAL_PAGE, the page
+   * continues to evaluate.
+   */
+  @Test
+  public void tagSupportDoEndTagEvalPageTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/DoEndTagEvalPageTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportFindAncestorWithClassTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:194
+   * 
+   * @test_Strategy: Validate the behavior of findAncestorWithClass when test
+   * tag is nested with multiple tag instances of the same type.
+   */
+  @Test
+  public void tagSupportFindAncestorWithClassTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/FindAncestorTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoStartTagDefaultValueTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:195
+   * 
+   * @test_Strategy: Validate the default return value of
+   * TagSupport.doStartTag().
+   */
+  @Test
+  public void tagSupportDoStartTagDefaultValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "doStartTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoEndTagDefaultValueTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:197
+   * 
+   * @test_Strategy: Validate the default return value of TagSupport.doEndTag().
+   */
+  @Test
+  public void tagSupportDoEndTagDefaultValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "doEndTagTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportDoAfterBodyDefaultValueTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:199
+   * 
+   * @test_Strategy: Validate the default return value of
+   * TagSupport.doAfterBody().
+   */
+  @Test
+  public void tagSupportDoAfterBodyDefaultValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "doAfterBodyTest");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportGetSetValueTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:207;JSP:JAVADOC:208
+   * 
+   * @test_Strategy: Validate the behavior of TagSupport.setValue() and
+   * TagSupport.getValue().
+   */
+  @Test
+  public void tagSupportGetSetValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "setGetValue");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportGetValuesTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:210
+   * 
+   * @test_Strategy: Validate the behavior of TagSupport.getValues().
+   */
+  @Test
+  public void tagSupportGetValuesTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "getValues");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportRemoveValueTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:209
+   * 
+   * @test_Strategy: Validate the behavior of TagSupport.removeValue().
+   */
+  @Test
+  public void tagSupportRemoveValueTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "removeValue");
+    invoke();
+  }
+
+  /*
+   * @testName: tagSupportVariableSynchronizationTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:348;JSP:JAVADOC:353;JSP:JAVADOC:371
+   * 
+   * @test_Strategy: Validate scripting variables are synchronized at the proper
+   * locations by the container.
+   */
+  @Test
+  public void tagSupportVariableSynchronizationTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagsupport_web/TagSupportSynchronizationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/build.xml
deleted file mode 100644
index c7e65261f0..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/build.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java
deleted file mode 100644
index 3c762f1b67..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagvariableinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TagVariableInfo. Implementation note, all tests are performed
- * within a TagExtraInfo class. If the test fails, a translation error will be
- * generated and a ValidationMessage array will be returned.
- */
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_tagvarinfo_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tagVariableInfoGetClassNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:189
-   * 
-   * @test_Strategy: Validate the JSP container properly parses the specified
-   * TLD as refereneced by the taglib directive and that the TagVariableInfo
-   * objects created at translation time return the expected values when calling
-   * getClassName(). A translation error will occur if the test fails.
-   */
-  public void tagVariableInfoGetClassNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagvarinfo_web/GetClassNameTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagVariableInfoGetNameGivenTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:187
-   * 
-   * @test_Strategy: Validate the JSP container properly parses the specified
-   * TLD as refereneced by the taglib directive and that the TagVariableInfo
-   * objects created at translation time return the expected values when calling
-   * getNameGiven(). A translation error will occur if the test fails.
-   */
-  public void tagVariableInfoGetNameGivenTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagvarinfo_web/GetNameGivenTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagVariableInfoGetNameFromAttributeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:188
-   * 
-   * @test_Strategy: Validate the JSP container properly parses the specified
-   * TLD as refereneced by the taglib directive and that the TagVariableInfo
-   * objects created at translation time return the expected values when calling
-   * getNameFromAttribute(). A translation error will occur if the test fails.
-   */
-  public void tagVariableInfoGetNameFromAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagvarinfo_web/GetNameFromAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagVariableInfoGetDeclareTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:190
-   * 
-   * @test_Strategy: Validate the JSP container properly parses the specified
-   * TLD as refereneced by the taglib directive and that the TagVariableInfo
-   * objects created at translation time return the expected values when calling
-   * getDeclare(). A translation error will occur if the test fails.
-   */
-  public void tagVariableInfoGetDeclareTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagvarinfo_web/GetDeclareTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: tagVariableInfoGetScopeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:191
-   * 
-   * @test_Strategy: Validate the JSP container properly parses the specified
-   * TLD as refereneced by the taglib directive and that the TagVariableInfo
-   * objects created at translation time return the expected values when calling
-   * getScope(). A translation error will occur if the test fails.
-   */
-  public void tagVariableInfoGetScopeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tagvarinfo_web/GetScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, OK);
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClientIT.java
new file mode 100644
index 0000000000..88b6ea9ee7
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClientIT.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagvariableinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+/**
+ * Test client for TagVariableInfo. Implementation note, all tests are performed
+ * within a TagExtraInfo class. If the test fails, a translation error will be
+ * generated and a ValidationMessage array will be returned.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_tagvarinfo_web");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagvarinfo_web.war");
+    archive.addClasses(TagVarInfoTEI.class,
+            JspTestUtil.class,
+            BaseTCKExtraInfo.class,
+            SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagvarinfo_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagvarinfo.tld", "tagvarinfo.tld");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetClassNameTest.jsp")), "GetClassNameTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetDeclareTest.jsp")), "GetDeclareTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetNameFromAttributeTest.jsp")), "GetNameFromAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetNameGivenTest.jsp")), "GetNameGivenTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/GetScopeTest.jsp")), "GetScopeTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tagVariableInfoGetClassNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:189
+   * 
+   * @test_Strategy: Validate the JSP container properly parses the specified
+   * TLD as refereneced by the taglib directive and that the TagVariableInfo
+   * objects created at translation time return the expected values when calling
+   * getClassName(). A translation error will occur if the test fails.
+   */
+  @Test
+  public void tagVariableInfoGetClassNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagvarinfo_web/GetClassNameTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagVariableInfoGetNameGivenTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:187
+   * 
+   * @test_Strategy: Validate the JSP container properly parses the specified
+   * TLD as refereneced by the taglib directive and that the TagVariableInfo
+   * objects created at translation time return the expected values when calling
+   * getNameGiven(). A translation error will occur if the test fails.
+   */
+  @Test
+  public void tagVariableInfoGetNameGivenTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagvarinfo_web/GetNameGivenTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagVariableInfoGetNameFromAttributeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:188
+   * 
+   * @test_Strategy: Validate the JSP container properly parses the specified
+   * TLD as refereneced by the taglib directive and that the TagVariableInfo
+   * objects created at translation time return the expected values when calling
+   * getNameFromAttribute(). A translation error will occur if the test fails.
+   */
+  @Test
+  public void tagVariableInfoGetNameFromAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagvarinfo_web/GetNameFromAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagVariableInfoGetDeclareTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:190
+   * 
+   * @test_Strategy: Validate the JSP container properly parses the specified
+   * TLD as refereneced by the taglib directive and that the TagVariableInfo
+   * objects created at translation time return the expected values when calling
+   * getDeclare(). A translation error will occur if the test fails.
+   */
+  @Test
+  public void tagVariableInfoGetDeclareTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagvarinfo_web/GetDeclareTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: tagVariableInfoGetScopeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:191
+   * 
+   * @test_Strategy: Validate the JSP container properly parses the specified
+   * TLD as refereneced by the taglib directive and that the TagVariableInfo
+   * objects created at translation time return the expected values when calling
+   * getScope(). A translation error will occur if the test fails.
+   */
+  @Test
+  public void tagVariableInfoGetScopeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tagvarinfo_web/GetScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, OK);
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/build.xml
deleted file mode 100644
index 5bf63324e4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClient.java
deleted file mode 100644
index ecfd2549da..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClient.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.2 10/09/02
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.trycatchfinally;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-/**
- * Test client for TryCatchFinally tag tests.
- */
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_varinfo_web");
-    setTestJsp("VariableInfoTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: tryCatchFinallyTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:339;JSP:JAVADOC:341
-   * 
-   * @test_Strategy: Validate the behavior of the container when a tag
-   * implements the TryCatchFinally interface.
-   */
-  public void tryCatchFinallyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_tcfinally_web/TryCatchFinallyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClientIT.java
new file mode 100644
index 0000000000..88087091d9
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClientIT.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.2 10/09/02
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.trycatchfinally;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+/**
+ * Test client for TryCatchFinally tag tests.
+ */
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_varinfo_web");
+    setTestJsp("VariableInfoTest");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tcfinally_web.war");
+    archive.addClasses(ResultVerifierBean.class,
+            TCFTestTag.class, ThrowTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tcfinally_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/trycatchfinally.tld", "trycatchfinally.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TryCatchFinallyTest.jsp")), "TryCatchFinallyTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: tryCatchFinallyTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:339;JSP:JAVADOC:341
+   * 
+   * @test_Strategy: Validate the behavior of the container when a tag
+   * implements the TryCatchFinally interface.
+   */
+  @Test
+  public void tryCatchFinallyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_tcfinally_web/TryCatchFinallyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/build.xml
deleted file mode 100644
index b082258103..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java
deleted file mode 100644
index ab29cf3d8e..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.variableinfo;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_varinfo_web");
-    setTestJsp("VariableInfoTest");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /* Run tests */
-
-  // ============================================ Tests ======
-
-  /*
-   * @testName: variableInfoCtorTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:177
-   * 
-   * @test_Strategy: Validate the construction of the VariableInfo object.
-   */
-  public void variableInfoCtorTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableInfoCtorTest");
-    invoke();
-  }
-
-  /*
-   * @testName: variableInfoGetVarNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:178
-   * 
-   * @test_Strategy: Validate the behavior of VariableInfo.getVarName().
-   */
-  public void variableInfoGetVarNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableInfoGetVarNameTest");
-    invoke();
-  }
-
-  /*
-   * @testName: variableInfoGetClassNameTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:179
-   * 
-   * @test_Strategy: Validate the behavior of VariableInfo.getClassName().
-   */
-  public void variableInfoGetClassNameTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableInfoGetClassNameTest");
-    invoke();
-  }
-
-  /*
-   * @testName: variableInfoGetDeclareTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:180
-   * 
-   * @test_Strategy: Validate the behavior of VariableInfo.getDeclare().
-   */
-  public void variableInfoGetDeclareTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableInfoGetDeclareTest");
-    invoke();
-  }
-
-  /*
-   * @testName: variableInfoGetScopeTest
-   * 
-   * @assertion_ids: JSP:JAVADOC:181
-   * 
-   * @test_Strategy: Validate the behavior of VariableInfo.getScopeTest();
-   */
-  public void variableInfoGetScopeTest() throws Exception {
-    TEST_PROPS.setProperty(APITEST, "variableInfoGetScopeTest");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClientIT.java
new file mode 100644
index 0000000000..c46933cc00
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClientIT.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.variableinfo;
+
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_varinfo_web");
+    setTestJsp("VariableInfoTest");
+
+    }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_varinfo_web.war");
+    archive.addClasses(
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_varinfo_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/VariableInfoTest.jsp")), "VariableInfoTest.jsp");
+
+    return archive;
+  }
+
+  
+  /* Run tests */
+
+  // ============================================ Tests ======
+
+  /*
+   * @testName: variableInfoCtorTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:177
+   * 
+   * @test_Strategy: Validate the construction of the VariableInfo object.
+   */
+  @Test
+  public void variableInfoCtorTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableInfoCtorTest");
+    invoke();
+  }
+
+  /*
+   * @testName: variableInfoGetVarNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:178
+   * 
+   * @test_Strategy: Validate the behavior of VariableInfo.getVarName().
+   */
+  @Test
+  public void variableInfoGetVarNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableInfoGetVarNameTest");
+    invoke();
+  }
+
+  /*
+   * @testName: variableInfoGetClassNameTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:179
+   * 
+   * @test_Strategy: Validate the behavior of VariableInfo.getClassName().
+   */
+  @Test
+  public void variableInfoGetClassNameTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableInfoGetClassNameTest");
+    invoke();
+  }
+
+  /*
+   * @testName: variableInfoGetDeclareTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:180
+   * 
+   * @test_Strategy: Validate the behavior of VariableInfo.getDeclare().
+   */
+  @Test
+  public void variableInfoGetDeclareTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableInfoGetDeclareTest");
+    invoke();
+  }
+
+  /*
+   * @testName: variableInfoGetScopeTest
+   * 
+   * @assertion_ids: JSP:JAVADOC:181
+   * 
+   * @test_Strategy: Validate the behavior of VariableInfo.getScopeTest();
+   */
+  @Test
+  public void variableInfoGetScopeTest() throws Exception {
+    TEST_PROPS.setProperty(APITEST, "variableInfoGetScopeTest");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/build.xml b/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/build.xml
deleted file mode 100644
index 3404712f15..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/build.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-	
-	
-	
-
-	
-		
-                  
-                  
-		
-		
-	
-
-        
-          
-        
-
-
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/common/client/AbstractUrlClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/common/client/AbstractUrlClient.java
index 52326d186b..68c60bd2f1 100644
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/common/client/AbstractUrlClient.java
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/common/client/AbstractUrlClient.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,11 +20,45 @@
 import com.sun.ts.tests.common.webclient.WebTestCase;
 import com.sun.ts.tests.common.webclient.http.HttpRequest;
 
+import java.net.URL;
+
+import java.util.stream.Collectors;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+
+import org.jboss.arquillian.container.test.api.OperateOnDeployment;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInfo;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import java.lang.System.Logger;
+
 /**
  * Base client for JSP tests.
  */
 public abstract class AbstractUrlClient extends BaseUrlClient {
 
+  private static final Logger logger = System.getLogger(AbstractUrlClient.class.getName());
+
+  @BeforeEach
+  void logStartTest(TestInfo testInfo) {
+    logger.log(Logger.Level.INFO, "STARTING TEST : "+testInfo.getDisplayName());
+  }
+
+  @AfterEach
+  void logFinishTest(TestInfo testInfo) {
+    logger.log(Logger.Level.INFO, "FINISHED TEST : "+testInfo.getDisplayName());
+  }
+
+
+  @ArquillianResource
+	@OperateOnDeployment("_DEFAULT_")
+	public URL url;
+
   /**
    * Identifier for a set of properties to be used for API Tests.
    */
@@ -50,6 +84,16 @@ public abstract class AbstractUrlClient extends BaseUrlClient {
    */
   private String _jspName = null;
 
+  protected InputStream goldenFileStream = null;
+
+  public InputStream getGoldenFileStream() {
+    return goldenFileStream;
+  }
+
+  public void setGoldenFileStream(InputStream gfStream) {
+    goldenFileStream = gfStream;
+  }
+
   /**
    * Sets the test properties for this testCase.
    *
@@ -59,11 +103,44 @@ public abstract class AbstractUrlClient extends BaseUrlClient {
   protected void setTestProperties(WebTestCase testCase) {
 
     setStandardProperties(TEST_PROPS.getProperty(STANDARD), testCase);
+    setGoldenFileStreamProperty(testCase, goldenFileStream);
     setApiTestProperties(TEST_PROPS.getProperty(APITEST), testCase);
     setApiTest1Properties(TEST_PROPS.getProperty(APITEST1), testCase);
     super.setTestProperties(testCase);
   }
 
+  private void setGoldenFileStreamProperty(WebTestCase testCase, InputStream gfStream) {
+    testCase.setGoldenFileStream(gfStream);
+  }
+
+  protected boolean isNullOrEmpty(String val) {
+    if (val == null || val.equals("")) {
+      return true;
+    }
+    return false;
+  }
+
+  @BeforeEach
+  public void setup() throws Exception {
+
+    logger.log(Logger.Level.INFO, "setup method AbstractUrlClient");
+
+    if (url == null){
+      throw new Exception(
+          "[AbstractUrlClient] The url was not injected");
+    }
+
+		String hostname = url.getHost();
+		String portnum = Integer.toString(url.getPort());
+
+		assertFalse(isNullOrEmpty(hostname), "[AbstractUrlClient] 'webServerHost' was not set in the properties.");
+		_hostname = hostname.trim();
+		assertFalse(isNullOrEmpty(portnum), "[AbstractUrlClient] 'webServerPort' was not set in the properties.");
+		_port = Integer.parseInt(portnum.trim());
+
+    logger.log(Logger.Level.INFO, "[AbstractUrlClient] Test setup OK");
+  }
+
   /**
    * Sets the name of the JSP when building the request.
    *
@@ -183,4 +260,11 @@ private static String getApiTestRequest(String contextRoot, String jspName,
     sb.append(testName).append(HTTP11);
     return sb.toString();
   }
+
+  public static String toString(InputStream inStream) throws IOException{
+    try (BufferedReader bufReader = new BufferedReader(new InputStreamReader(inStream, StandardCharsets.UTF_8))) {
+      return bufReader.lines().collect(Collectors.joining(System.lineSeparator()));
+    }
+  }
+
 }
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/lib/implementation/sun/common/SunRIURL.java b/jsp/src/main/java/com/sun/ts/tests/jsp/lib/implementation/sun/common/SunRIURL.java
new file mode 100644
index 0000000000..753633ecab
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/lib/implementation/sun/common/SunRIURL.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package com.sun.ts.tests.jsp.lib.implementation.sun.common;
+
+import java.net.*;
+import com.sun.ts.lib.util.*;
+import com.sun.ts.lib.porting.*;
+
+/**
+ * This is a J2EE Reference specific implementation of the TSURLInterface which
+ * is to be used for J2EE-TS testing. TS tests use this interface to obtain the
+ * URL String to use to access a given web component. If a given J2EE Server
+ * implmentation requires that URLs be created in a different manner, then this
+ * implementation can be replaced.
+ *
+ * @author Kyle Grucci
+ */
+public class SunRIURL implements TSURLInterface {
+  private URL url = null;
+
+  /**
+   * This method is called by TS tests to get the URL to use to access a given
+   * web component.
+   *
+   * @param protocol
+   *          - the name of the protocol.
+   * @param host
+   *          - the name of the host.
+   * @param port
+   *          - the port number.
+   * @param file
+   *          - the host file.
+   * @return a valid URL object.
+   */
+  public URL getURL(String protocol, String host, int port, String file)
+      throws MalformedURLException {
+    try {
+      url = new URL(protocol, host, port, file);
+    } catch (MalformedURLException e) {
+      TestUtil.logErr("Failed during URL creation", e);
+      throw e;
+    }
+    return url;
+  }
+
+  /**
+   * This method is called by TS tests to get the URL to use to access a given
+   * web component.
+   *
+   * @param protocol
+   *          - the name of the protocol.
+   * @param host
+   *          - the name of the host.
+   * @param port
+   *          - the port number.
+   * @param file
+   *          - the host file.
+   * @return a valid URL as a String.
+   */
+  public String getURLString(String protocol, String host, int port,
+      String file) {
+    if (file.startsWith("/"))
+      return protocol + "://" + host + ":" + port + file;
+    else
+      return protocol + "://" + host + ":" + port + "/" + file;
+  }
+
+  /**
+   * This method is called by TS tests to get the request string to use to
+   * access a given web component.
+   *
+   * @param request
+   *          - the request file.
+   * @return a valid String object.
+   */
+  public String getRequest(String request) {
+    return request;
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java
deleted file mode 100644
index 5bb305de2b..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.charsequence;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  private static final String CONTEXT_ROOT = "/jsp_config_charsequence_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-    setGeneralURI("/jsp/spec/configuration/charsequence");
-    setContextRoot(CONTEXT_ROOT);
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest
-   * 
-   * @assertion_ids: JSP:SPEC:296
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which the deferred-syntax-allowed-as-literal element is set to true. Verify
-   * that when the character sequence "#{" appears in template text, the
-   * sequence is treated as literal characters.
-   * [DeferredSyntaxAllowedAsLiteralElement]
-   */
-  public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest()
-      throws Exception {
-    TEST_PROPS.setProperty(STANDARD,
-        "deferredSyntaxAllowedAsLiteralTrueTemplateTextTest");
-    invoke();
-  }
-
-  /*
-   * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest
-   * 
-   * @assertion_ids: JSP:SPEC:295
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which the deferred-syntax-allowed-as-literal element is set to false.
-   * Verify that when the character sequence "#{" appears in template text, an
-   * internal server error results. [TranslationError#{Sequence]
-   */
-  public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest()
-      throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
-        + "/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest
-   * 
-   * @assertion_ids: JSP:SPEC:296
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which the deferred-syntax-allowed-as-literal element is set to true. Verify
-   * that when the character sequence "#{" is passed as an attribute to an
-   * action, the sequence is treated as literal characters.
-   * [DeferredSyntaxAllowedAsLiteralElement]
-   */
-  public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD,
-        "deferredSyntaxAllowedAsLiteralTrueActionTest");
-    invoke();
-  }
-
-  /*
-   * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest
-   * 
-   * @assertion_ids: JSP:SPEC:295
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which the deferred-syntax-allowed-as-literal element is set to false.
-   * Verify that when the character sequence "#{" is passed as an attribute to
-   * an action, and the tld does not specify a deferred-value element for the
-   * attribute, an internal server error results. [TranslationError#{Sequence]
-   */
-  public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
-        + "/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: noDeferredSyntaxAllowedAsLiteralTemplateTextTest
-   * 
-   * @assertion_ids: JSP:SPEC:295
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which there is no deferred-syntax-allowed-as-literal element. Verify that
-   * when the character sequence "#{" appears in template text, an internal
-   * server error results. [TranslationError#{Sequence]
-   */
-  public void noDeferredSyntaxAllowedAsLiteralTemplateTextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
-        + "/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: noDeferredSyntaxAllowedAsLiteralActionTest
-   * 
-   * @assertion_ids: JSP:SPEC:295
-   * 
-   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
-   * which there is no deferred-syntax-allowed-as-literal element. Verify that
-   * when the character sequence "#{" is passed as an attribute to an action,
-   * and the tld does not specify a deferred-value element for the attribute, an
-   * internal server error results. [TranslationError#{Sequence]
-   */
-  public void noDeferredSyntaxAllowedAsLiteralActionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
-        + "/noDeferredSyntaxAllowedAsLiteralActionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClientIT.java
new file mode 100644
index 0000000000..831151e837
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClientIT.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.charsequence;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  private static final String CONTEXT_ROOT = "/jsp_config_charsequence_web";
+
+  public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+  public URLClientIT() throws Exception {
+
+    setGeneralURI("/jsp/spec/configuration/charsequence");
+    setContextRoot(CONTEXT_ROOT);
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_charsequence_web.war");
+    archive.addClasses(DeferredSyntaxAllowedAsLiteralTag.class,
+            JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_charsequence_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/config_charsequence.tld", "config_charsequence.tld");    
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp")), "noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noDeferredSyntaxAllowedAsLiteralActionTest.jsp")), "noDeferredSyntaxAllowedAsLiteralActionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp")), "deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredSyntaxAllowedAsLiteralTrueActionTest.jsp")), "deferredSyntaxAllowedAsLiteralTrueActionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp")), "deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp")), "deferredSyntaxAllowedAsLiteralFalseActionTest.jsp");
+    
+    return archive;
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest
+   * 
+   * @assertion_ids: JSP:SPEC:296
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which the deferred-syntax-allowed-as-literal element is set to true. Verify
+   * that when the character sequence "#{" appears in template text, the
+   * sequence is treated as literal characters.
+   * [DeferredSyntaxAllowedAsLiteralElement]
+   */
+  @Test
+  public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest()
+      throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD,
+        "deferredSyntaxAllowedAsLiteralTrueTemplateTextTest");
+    invoke();
+  }
+
+  /*
+   * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest
+   * 
+   * @assertion_ids: JSP:SPEC:295
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which the deferred-syntax-allowed-as-literal element is set to false.
+   * Verify that when the character sequence "#{" appears in template text, an
+   * internal server error results. [TranslationError#{Sequence]
+   */
+  @Test
+  public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest()
+      throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
+        + "/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest
+   * 
+   * @assertion_ids: JSP:SPEC:296
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which the deferred-syntax-allowed-as-literal element is set to true. Verify
+   * that when the character sequence "#{" is passed as an attribute to an
+   * action, the sequence is treated as literal characters.
+   * [DeferredSyntaxAllowedAsLiteralElement]
+   */
+  @Test
+  public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/deferredSyntaxAllowedAsLiteralTrueActionTest.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD,
+        "deferredSyntaxAllowedAsLiteralTrueActionTest");
+    invoke();
+  }
+
+  /*
+   * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest
+   * 
+   * @assertion_ids: JSP:SPEC:295
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which the deferred-syntax-allowed-as-literal element is set to false.
+   * Verify that when the character sequence "#{" is passed as an attribute to
+   * an action, and the tld does not specify a deferred-value element for the
+   * attribute, an internal server error results. [TranslationError#{Sequence]
+   */
+  @Test
+  public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
+        + "/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: noDeferredSyntaxAllowedAsLiteralTemplateTextTest
+   * 
+   * @assertion_ids: JSP:SPEC:295
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which there is no deferred-syntax-allowed-as-literal element. Verify that
+   * when the character sequence "#{" appears in template text, an internal
+   * server error results. [TranslationError#{Sequence]
+   */
+  @Test
+  public void noDeferredSyntaxAllowedAsLiteralTemplateTextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
+        + "/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: noDeferredSyntaxAllowedAsLiteralActionTest
+   * 
+   * @assertion_ids: JSP:SPEC:295
+   * 
+   * @test_Strategy: Invoke a jsp that is a member of a jsp-property-group in
+   * which there is no deferred-syntax-allowed-as-literal element. Verify that
+   * when the character sequence "#{" is passed as an attribute to an action,
+   * and the tld does not specify a deferred-value element for the attribute, an
+   * internal server error results. [TranslationError#{Sequence]
+   */
+  @Test
+  public void noDeferredSyntaxAllowedAsLiteralActionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT
+        + "/noDeferredSyntaxAllowedAsLiteralActionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java
deleted file mode 100644
index cccc5ec56f..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.36 02/11/04
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.elevaluation;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/configuration/elevaluation");
-    setContextRoot("/jsp_config_eleval_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: elEvaluationUnspecifiedTest
-   * 
-   * @assertion_ids: JSP:SPEC:254
-   * 
-   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
-   * descriptor and the jsp-property-group element nor the JSP identified by the
-   * jsp-property-group specifies no EL evaluation information, EL will be
-   * evaluated by the container. This validates both JSPs in standard syntax and
-   * JSP documents.
-   */
-  public void elEvaluationUnspecifiedTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elunspec/ElEvaluationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elunspecx/ElEvaluationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: elEvaluationConfigurationFalseTest
-   * 
-   * @assertion_ids: JSP:SPEC:142
-   * 
-   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
-   * descriptor and the jsp-property-group element sets the el-ignored element
-   * to false, and the JSP page specifies no special EL handling, that EL
-   * expressions will be evaluated. This validates both JSPs in standard syntax
-   * and JSP documents.
-   */
-  public void elEvaluationConfigurationFalseTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elconffalse/ElEvaluationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elconffalsex/ElEvaluationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: elEvaluationConfigurationTrueTest
-   * 
-   * @assertion_ids: JSP:SPEC:141
-   * 
-   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
-   * descriptor and the jsp-property-group element sets the el-ignored element
-   * to true, and the JSP page specifies no special EL handling, that EL
-   * expressions will not be evaluated. This validates both JSPs in standard
-   * syntax and JSP documents.
-   */
-  public void elEvaluationConfigurationTrueTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elconftrue/ElEvaluationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elconftruex/ElEvaluationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
-    invoke();
-  }
-
-  /*
-   * @testName: elEvaluationPageDirectiveOverrideTest
-   * 
-   * @assertion_ids: JSP:SPEC:255
-   * 
-   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
-   * descriptor, that the page directive attribute isELIgnored takes precedence
-   * over the configuration of the JSP property group.
-   */
-  public void elEvaluationPageDirectiveOverrideTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elpagetrue/ElEvaluationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elpagetruex/ElEvaluationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elpagefalse/ElEvaluationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval_web/elpagefalsex/ElEvaluationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: elEvaluation23WebApplicationTest
-   * 
-   * @assertion_ids: JSP:SPEC:252
-   * 
-   * @test_Strategy: Validate a JSP 2.0 container when presented with a 2.3
-   * based web application, and it encounters a JSP with an EL-like construct
-   * (i.e. ${expr}), that EL Evaluation is not performed.
-   */
-  public void elEvaluation23WebApplicationTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_eleval23_web/ElCompatTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClientIT.java
new file mode 100644
index 0000000000..e9ee679c16
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClientIT.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.36 02/11/04
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.elevaluation;
+
+import java.lang.System.Logger;
+import java.net.URL;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OperateOnDeployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+  private static final Logger logger = System.getLogger(URLClientIT.class.getName());
+
+  public URLClientIT() throws Exception {
+
+    setGeneralURI("/jsp/spec/configuration/elevaluation");
+    setContextRoot("/jsp_config_eleval_web");
+
+  }
+
+  public void setup2() throws Exception {
+
+    logger.log(Logger.Level.INFO, "setup2 method URLClientIT");
+
+    if (url2 == null){
+      throw new Exception(
+          "[URLClientIT] The url was not injected");
+    }
+
+    String hostname = url2.getHost();
+    String portnum = Integer.toString(url2.getPort()); 
+
+		assertFalse(isNullOrEmpty(hostname), "[URLClientIT] 'webServerHost' was not set in the properties.");
+		_hostname = hostname.trim();
+		assertFalse(isNullOrEmpty(portnum), "[URLClientIT] 'webServerPort' was not set in the properties.");
+		_port = Integer.parseInt(portnum.trim());
+
+    logger.log(Logger.Level.INFO, "[URLClientIT] Test setup2 OK");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_eleval_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_eleval_web.xml"));
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/compat13/ElCompatTest.jsp")), "compat13/ElCompatTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elconffalse/ElEvaluationTest.jsp")), "elconffalse/ElEvaluationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elconffalsex/ElEvaluationTest.jspx")), "elconffalsex/ElEvaluationTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elconftrue/ElEvaluationTest.jsp")), "elconftrue/ElEvaluationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elconftruex/ElEvaluationTest.jspx")), "elconftruex/ElEvaluationTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elpagefalse/ElEvaluationTest.jsp")), "elpagefalse/ElEvaluationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elpagefalsex/ElEvaluationTest.jspx")), "elpagefalsex/ElEvaluationTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elpagetrue/ElEvaluationTest.jsp")), "elpagetrue/ElEvaluationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elpagetruex/ElEvaluationTest.jspx")), "elpagetruex/ElEvaluationTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elunspec/ElEvaluationTest.jsp")), "elunspec/ElEvaluationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elunspecx/ElEvaluationTest.jspx")), "elunspecx/ElEvaluationTest.jspx");
+  
+    return archive;
+
+  }
+
+  @ArquillianResource
+  @OperateOnDeployment("jsp_config_eleval23_web") 
+  public URL url2;
+
+
+  @Deployment(testable = false, name="jsp_config_eleval23_web")
+  public static WebArchive createDeployment23() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_eleval23_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_eleval23_web.xml"));
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/compat13/ElCompatTest.jsp")), "ElCompatTest.jsp");
+  
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: elEvaluationUnspecifiedTest
+   * 
+   * @assertion_ids: JSP:SPEC:254
+   * 
+   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
+   * descriptor and the jsp-property-group element nor the JSP identified by the
+   * jsp-property-group specifies no EL evaluation information, EL will be
+   * evaluated by the container. This validates both JSPs in standard syntax and
+   * JSP documents.
+   */
+  @Test
+  public void elEvaluationUnspecifiedTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elunspec/ElEvaluationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elunspecx/ElEvaluationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: elEvaluationConfigurationFalseTest
+   * 
+   * @assertion_ids: JSP:SPEC:142
+   * 
+   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
+   * descriptor and the jsp-property-group element sets the el-ignored element
+   * to false, and the JSP page specifies no special EL handling, that EL
+   * expressions will be evaluated. This validates both JSPs in standard syntax
+   * and JSP documents.
+   */
+  @Test
+  public void elEvaluationConfigurationFalseTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elconffalse/ElEvaluationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elconffalsex/ElEvaluationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: elEvaluationConfigurationTrueTest
+   * 
+   * @assertion_ids: JSP:SPEC:141
+   * 
+   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
+   * descriptor and the jsp-property-group element sets the el-ignored element
+   * to true, and the JSP page specifies no special EL handling, that EL
+   * expressions will not be evaluated. This validates both JSPs in standard
+   * syntax and JSP documents.
+   */
+  @Test
+  public void elEvaluationConfigurationTrueTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elconftrue/ElEvaluationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elconftruex/ElEvaluationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
+    invoke();
+  }
+
+  /*
+   * @testName: elEvaluationPageDirectiveOverrideTest
+   * 
+   * @assertion_ids: JSP:SPEC:255
+   * 
+   * @test_Strategy: Validate that if the web application uses a 2.4 deployment
+   * descriptor, that the page directive attribute isELIgnored takes precedence
+   * over the configuration of the JSP property group.
+   */
+  @Test
+  public void elEvaluationPageDirectiveOverrideTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elpagetrue/ElEvaluationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elpagetruex/ElEvaluationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elpagefalse/ElEvaluationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval_web/elpagefalsex/ElEvaluationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: elEvaluation23WebApplicationTest
+   * 
+   * @assertion_ids: JSP:SPEC:252
+   * 
+   * @test_Strategy: Validate a JSP 2.0 container when presented with a 2.3
+   * based web application, and it encounters a JSP with an EL-like construct
+   * (i.e. ${expr}), that EL Evaluation is not performed.
+   */
+  @Test
+  public void elEvaluation23WebApplicationTest() throws Exception {
+    setup2();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_eleval23_web/ElCompatTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "${testPassed}");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23.ear b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23.ear
deleted file mode 100644
index fe1a10345f..0000000000
Binary files a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23.ear and /dev/null differ
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.war b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.war
deleted file mode 100644
index c27b04a0b1..0000000000
Binary files a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.war and /dev/null differ
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java
deleted file mode 100644
index 3078a8067a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.36 02/11/04
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.encoding;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_config_encode_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspConfigurationEncodingTest
-   * 
-   * @assertion_ids: JSP:SPEC:253
-   * 
-   * @test_Strategy: Validate that if a JSP configuration element specifies an
-   * encoding for a group of pages, the encoding is properly set for those pages
-   * when no encoding is set by the page(s) themselves.
-   */
-  public void jspConfigurationEncodingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_encode_web/NoEncodingSpecifiedTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(EXPECTED_HEADERS,
-        "Content-Type:text/plain;charset=UTF-8");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationSameEncodingTest
-   * 
-   * @assertion_ids: JSP:SPEC:146
-   * 
-   * @test_Strategy: Validate that if a JSP configuration element specifies an
-   * encoding for a group of pages, and the target page specifies the same
-   * encoding as that of the property group, no translation error occurs and the
-   * encoding is properly set.
-   */
-  public void jspConfigurationSameEncodingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_encode_web/SameEncodingSpecifiedTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(EXPECTED_HEADERS,
-        "Content-Type:text/plain;charset=UTF-8");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationDifferentEncodingTest
-   * 
-   * @assertion_ids: JSP:SPEC:145
-   * 
-   * @test_Strategy: Validate that if a JSP configuration element specifies an
-   * encoding for a group of pages, and the target page specifies a different
-   * encoding as that of the property group, a translation error occurs.
-   */
-  public void jspConfigurationDifferentEncodingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_encode_web/DifferentEncodingSpecifiedTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_encode_web/DifferentEncodingSpecifiedTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClientIT.java
new file mode 100644
index 0000000000..c53ed59087
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/encoding/URLClientIT.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.36 02/11/04
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.encoding;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_config_encode_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_encode_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_encode_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DifferentEncodingSpecifiedTest.jsp")), "DifferentEncodingSpecifiedTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DifferentEncodingSpecifiedTest.jspx")), "DifferentEncodingSpecifiedTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/NoEncodingSpecifiedTest.jsp")), "NoEncodingSpecifiedTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/SameEncodingSpecifiedTest.jsp")), "SameEncodingSpecifiedTest.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspConfigurationEncodingTest
+   * 
+   * @assertion_ids: JSP:SPEC:253
+   * 
+   * @test_Strategy: Validate that if a JSP configuration element specifies an
+   * encoding for a group of pages, the encoding is properly set for those pages
+   * when no encoding is set by the page(s) themselves.
+   */
+  @Test
+  public void jspConfigurationEncodingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_encode_web/NoEncodingSpecifiedTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(EXPECTED_HEADERS,
+        "Content-Type:text/plain;charset=UTF-8");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationSameEncodingTest
+   * 
+   * @assertion_ids: JSP:SPEC:146
+   * 
+   * @test_Strategy: Validate that if a JSP configuration element specifies an
+   * encoding for a group of pages, and the target page specifies the same
+   * encoding as that of the property group, no translation error occurs and the
+   * encoding is properly set.
+   */
+  @Test
+  public void jspConfigurationSameEncodingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_encode_web/SameEncodingSpecifiedTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(EXPECTED_HEADERS,
+        "Content-Type:text/plain;charset=UTF-8");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationDifferentEncodingTest
+   * 
+   * @assertion_ids: JSP:SPEC:145
+   * 
+   * @test_Strategy: Validate that if a JSP configuration element specifies an
+   * encoding for a group of pages, and the target page specifies a different
+   * encoding as that of the property group, a translation error occurs.
+   */
+  @Test
+  public void jspConfigurationDifferentEncodingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_encode_web/DifferentEncodingSpecifiedTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_encode_web/DifferentEncodingSpecifiedTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java
deleted file mode 100644
index 193c7058a4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.general;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  private static final String CONTEXT_ROOT = "/jsp_config_general_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot(CONTEXT_ROOT);
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: moreSpecificMappingTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void moreSpecificMappingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/specific/svr/willNotSee.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In mapped servlet");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/specific/svr/page/willSee.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In coda1|In coda1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
-    invoke();
-  }
-
-  /*
-   * @testName: identicalMappingTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void identicalMappingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/identical/willSee.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In coda1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
-    invoke();
-  }
-
-  /*
-   * @testName: mostSpecificMappingTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void mostSpecificMappingTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/mostSpecific/page/willSee.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "In prelude1|In prelude2|In prelude3|el is enabled|In coda1|In coda2|In coda3");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClientIT.java
new file mode 100644
index 0000000000..83ae0cea4e
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/general/URLClientIT.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.general;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  private static final String CONTEXT_ROOT = "/jsp_config_general_web";
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot(CONTEXT_ROOT);
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_general_web.war");
+    archive.addClass(AServlet.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_general_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prelude3.jsp")), "prelude3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prelude2.jsp")), "prelude2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prelude1.jsp")), "prelude1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/coda3.jsp")), "coda3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/coda2.jsp")), "coda2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/coda1.jsp")), "coda1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/mostSpecific/page/willSee.jsp")), "mostSpecific/page/willSee.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/identical/willSee.jsp")), "identical/willSee.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/specific/svr/willNotSee.jsp")), "specific/svr/willNotSee.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/specific/svr/page/willSee.jsp")), "specific/svr/page/willSee.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: moreSpecificMappingTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void moreSpecificMappingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/specific/svr/willNotSee.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In mapped servlet");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/specific/svr/page/willSee.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In coda1|In coda1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
+    invoke();
+  }
+
+  /*
+   * @testName: identicalMappingTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void identicalMappingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/identical/willSee.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In coda1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
+    invoke();
+  }
+
+  /*
+   * @testName: mostSpecificMappingTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void mostSpecificMappingTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/mostSpecific/page/willSee.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "In prelude1|In prelude2|In prelude3|el is enabled|In coda1|In coda2|In coda3");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "In mapped servlet");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java
deleted file mode 100644
index 9ae0aba92d..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.36 02/11/04
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.includes;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_config_includes_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspConfigurationIncludesTest
-   * 
-   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
-   * 
-   * @test_Strategy: Validate the following: - The container properly recognizes
-   * prelude and coda configuration elements. - Prelude includes are includes at
-   * the beginning of the target JSP(s) identified by the url-pattern, and are
-   * included in the order they appear in the deployment descriptor. - Coda
-   * includes are inserted at the end of the target JSP(s) identified by the
-   * url-pattern, and are included in the order they appear in the deployment
-   * descriptor. - Validate with both standard syntax JSPs and JSP documents.
-   */
-  public void jspConfigurationIncludesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_includes_web/IncludesTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Prelude1|JSP Body|Coda1");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationIncludes2Test
-   * 
-   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
-   * 
-   * @test_Strategy: Validate the same as above test.
-   */
-  public void jspConfigurationIncludes2Test() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_includes_web/two/Includes2Test.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Prelude1|Prelude2|JSP Body 2|Coda1|Coda2");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationIncludes3Test
-   * 
-   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
-   * 
-   * @test_Strategy: Validate the same as above test. JSP.1.10.4 states that
-   * implicit includes can use either the same syntax as the including page, or
-   * a different syntax.
-   */
-  public void jspConfigurationIncludes3Test() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_includes_web/three/Includes3Test.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Prelude2|Prelude3|JSP Body 3|Coda2|Coda3");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClientIT.java
new file mode 100644
index 0000000000..22fc6dade2
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/includes/URLClientIT.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.36 02/11/04
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.includes;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public URLClientIT() throws Exception {
+
+    setContextRoot("/jsp_config_includes_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_includes_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_includes_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/prelude3.jspf", "jspf/prelude3.jspf");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/prelude2.jspf", "jspf/prelude2.jspf");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/prelude1.jspf", "jspf/prelude1.jspf");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/coda3.jspf", "jspf/coda3.jspf");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/coda2.jspf", "jspf/coda2.jspf");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/jspf/coda1.jspf", "jspf/coda1.jspf");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IncludesTest.jsp")), "IncludesTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/two/Includes2Test.jsp")), "two/Includes2Test.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/three/Includes3Test.jspx")), "three/Includes3Test.jspx");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspConfigurationIncludesTest
+   * 
+   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
+   * 
+   * @test_Strategy: Validate the following: - The container properly recognizes
+   * prelude and coda configuration elements. - Prelude includes are includes at
+   * the beginning of the target JSP(s) identified by the url-pattern, and are
+   * included in the order they appear in the deployment descriptor. - Coda
+   * includes are inserted at the end of the target JSP(s) identified by the
+   * url-pattern, and are included in the order they appear in the deployment
+   * descriptor. - Validate with both standard syntax JSPs and JSP documents.
+   */
+  @Test
+  public void jspConfigurationIncludesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_includes_web/IncludesTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Prelude1|JSP Body|Coda1");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationIncludes2Test
+   * 
+   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
+   * 
+   * @test_Strategy: Validate the same as above test.
+   */
+  @Test
+  public void jspConfigurationIncludes2Test() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_includes_web/two/Includes2Test.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Prelude1|Prelude2|JSP Body 2|Coda1|Coda2");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationIncludes3Test
+   * 
+   * @assertion_ids: JSP:SPEC:147;JSP:SPEC:148;JSP:SPEC:149
+   * 
+   * @test_Strategy: Validate the same as above test. JSP.1.10.4 states that
+   * implicit includes can use either the same syntax as the including page, or
+   * a different syntax.
+   */
+  @Test
+  public void jspConfigurationIncludes3Test() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_includes_web/three/Includes3Test.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Prelude2|Prelude3|JSP Body 3|Coda2|Coda3");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java
deleted file mode 100644
index 50a1f613af..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.36 02/11/04
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.scripting;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspConfigurationScriptingUnspecifiedTest
-   * 
-   * @assertion_ids: JSP:SPEC:256
-   * 
-   * @test_Strategy: Validate that if scripting-invalid is not specified in the
-   * target property-group, that a translation error is not generated and the
-   * scripting elements are evaluated. This test is performed against standard
-   * syntax JSP pages as well as JSP documents.
-   */
-  public void jspConfigurationScriptingUnspecifiedTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspec/DeclarationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspec/ExpressionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspec/ScriptletTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspecx/DeclarationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspecx/ExpressionTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrunspecx/ScriptletTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationScriptingFalseTest
-   * 
-   * @assertion_ids: JSP:SPEC:144
-   * 
-   * @test_Strategy: Validate that if scripting-invalid is set to false in the
-   * target property-group, that a translation error is not generated and the
-   * scripting elements are evaluated. This test is performed against standard
-   * syntax JSP pages as well as JSP documents.
-   */
-  public void jspConfigurationScriptingFalseTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalse/DeclarationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalse/ExpressionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalse/ScriptletTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalsex/DeclarationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalsex/ExpressionTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalsex/ScriptletTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrfalsex/ScriptletTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationScriptingTrueTest
-   * 
-   * @assertion_ids: JSP:SPEC:143
-   * 
-   * @test_Strategy: Validate that if scripting-invalid is set to false in the
-   * target property-group, that a translation error is generated (except in the
-   * case of RT expressions). This test is performed against standard syntax JSP
-   * pages as well as JSP documents.
-   */
-  public void jspConfigurationScriptingTrueTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtrue/DeclarationTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtrue/ExpressionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtrue/ScriptletTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtrue/AttributeExpressionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtruex/DeclarationTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtruex/ExpressionTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtruex/ScriptletTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_scr_web/scrtruex/AttributeExpressionTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClientIT.java
new file mode 100644
index 0000000000..b41815f6c2
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/scripting/URLClientIT.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.36 02/11/04
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.scripting;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag;
+
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_scr_web.war");
+    archive.addClasses(SimpleTag.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_scr_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tag.tld", "tag.tld");    
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/ScriptletTest.jspx")), "scrunspecx/ScriptletTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/ExpressionTest.jspx")), "scrunspecx/ExpressionTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/DeclarationTest.jspx")), "scrunspecx/DeclarationTest.jspx");
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspec/ScriptletTest.jsp")), "scrunspec/ScriptletTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspec/ExpressionTest.jsp")), "scrunspec/ExpressionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspec/DeclarationTest.jsp")), "scrunspec/DeclarationTest.jsp");
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtruex/ScriptletTest.jspx")), "scrtruex/ScriptletTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtruex/ExpressionTest.jspx")), "scrtruex/ExpressionTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtruex/AttributeExpressionTest.jspx")), "scrtruex/AttributeExpressionTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtruex/DeclarationTest.jspx")), "scrtruex/DeclarationTest.jspx");
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/ScriptletTest.jspx")), "scrunspecx/ScriptletTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/DeclarationTest.jspx")), "scrunspecx/DeclarationTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrunspecx/ExpressionTest.jspx")), "scrunspecx/ExpressionTest.jspx");
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtrue/ScriptletTest.jsp")), "scrtrue/ScriptletTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtrue/ExpressionTest.jsp")), "scrtrue/ExpressionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtrue/DeclarationTest.jsp")), "scrtrue/DeclarationTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrtrue/AttributeExpressionTest.jsp")), "scrtrue/AttributeExpressionTest.jsp");
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalsex/ScriptletTest.jspx")), "scrfalsex/ScriptletTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalsex/ExpressionTest.jspx")), "scrfalsex/ExpressionTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalsex/DeclarationTest.jspx")), "scrfalsex/DeclarationTest.jspx");
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalse/ScriptletTest.jsp")), "scrfalse/ScriptletTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalse/ExpressionTest.jsp")), "scrfalse/ExpressionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scrfalse/DeclarationTest.jsp")), "scrfalse/DeclarationTest.jsp");
+
+    return archive;
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspConfigurationScriptingUnspecifiedTest
+   * 
+   * @assertion_ids: JSP:SPEC:256
+   * 
+   * @test_Strategy: Validate that if scripting-invalid is not specified in the
+   * target property-group, that a translation error is not generated and the
+   * scripting elements are evaluated. This test is performed against standard
+   * syntax JSP pages as well as JSP documents.
+   */
+  @Test
+  public void jspConfigurationScriptingUnspecifiedTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspec/DeclarationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspec/ExpressionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspec/ScriptletTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspecx/DeclarationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspecx/ExpressionTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrunspecx/ScriptletTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationScriptingFalseTest
+   * 
+   * @assertion_ids: JSP:SPEC:144
+   * 
+   * @test_Strategy: Validate that if scripting-invalid is set to false in the
+   * target property-group, that a translation error is not generated and the
+   * scripting elements are evaluated. This test is performed against standard
+   * syntax JSP pages as well as JSP documents.
+   */
+  @Test
+  public void jspConfigurationScriptingFalseTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalse/DeclarationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalse/ExpressionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalse/ScriptletTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalsex/DeclarationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalsex/ExpressionTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalsex/ScriptletTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrfalsex/ScriptletTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationScriptingTrueTest
+   * 
+   * @assertion_ids: JSP:SPEC:143
+   * 
+   * @test_Strategy: Validate that if scripting-invalid is set to false in the
+   * target property-group, that a translation error is generated (except in the
+   * case of RT expressions). This test is performed against standard syntax JSP
+   * pages as well as JSP documents.
+   */
+  @Test
+  public void jspConfigurationScriptingTrueTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtrue/DeclarationTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtrue/ExpressionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtrue/ScriptletTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtrue/AttributeExpressionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtruex/DeclarationTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtruex/ExpressionTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtruex/ScriptletTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_scr_web/scrtruex/AttributeExpressionTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java
deleted file mode 100644
index 37dcc88781..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.36 02/11/04
- */
-
-package com.sun.ts.tests.jsp.spec.configuration.xml;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_config_xml_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspConfigurationIsXmlUnspecTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that if is-xml is not specified for a property
-   * group, that the files matched by the url-pattern will not be considered JSP
-   * documents.
-   * 
-   */
-  public void jspConfigurationIsXmlUnspecTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_xml_web/unspec/NonXmlTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationIsXmlFalseTest
-   * 
-   * @assertion_ids: JSP:SPEC:150.2
-   * 
-   * @test_Strategy: Validate that if is-xml is set to false for a property
-   * group, that the files matched by the url-pattern will not be considered JSP
-   * documents.
-   */
-  public void jspConfigurationIsXmlFalseTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_xml_web/xmlfalse/NonXmlTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspConfigurationIsXmlTrueTest
-   * 
-   * @assertion_ids: JSP:SPEC:150.1
-   * 
-   * @test_Strategy: Validate that if is-xml is set to true for a property
-   * group, that the files matched by the url-pattern will be considered JSP
-   * documents.
-   */
-  public void jspConfigurationIsXmlTrueTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_config_xml_web/xmltrue/XmlJspTest.xsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:page|directive");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClientIT.java
new file mode 100644
index 0000000000..61d6579ae8
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/configuration/xml/URLClientIT.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.36 02/11/04
+ */
+
+package com.sun.ts.tests.jsp.spec.configuration.xml;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_config_xml_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_config_xml_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_config_xml_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/xmltrue/XmlJspTest.xsp")), "xmltrue/XmlJspTest.xsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/xmlfalse/NonXmlTest.jsp")), "xmlfalse/NonXmlTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/unspec/NonXmlTest.jsp")), "unspec/NonXmlTest.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspConfigurationIsXmlUnspecTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that if is-xml is not specified for a property
+   * group, that the files matched by the url-pattern will not be considered JSP
+   * documents.
+   * 
+   */
+  @Test
+  public void jspConfigurationIsXmlUnspecTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_xml_web/unspec/NonXmlTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationIsXmlFalseTest
+   * 
+   * @assertion_ids: JSP:SPEC:150.2
+   * 
+   * @test_Strategy: Validate that if is-xml is set to false for a property
+   * group, that the files matched by the url-pattern will not be considered JSP
+   * documents.
+   */
+  @Test
+  public void jspConfigurationIsXmlFalseTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_xml_web/xmlfalse/NonXmlTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspConfigurationIsXmlTrueTest
+   * 
+   * @assertion_ids: JSP:SPEC:150.1
+   * 
+   * @test_Strategy: Validate that if is-xml is set to true for a property
+   * group, that the files matched by the url-pattern will be considered JSP
+   * documents.
+   */
+  @Test
+  public void jspConfigurationIsXmlTrueTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_config_xml_web/xmltrue/XmlJspTest.xsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:page|directive");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java
deleted file mode 100644
index 2f6de6e161..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_attribute_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspAttributeFragmentTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.3;JSP:SPEC:168.4
-   * 
-   * @test_Strategy: Validate that container passes an instance of JspFragment
-   * when the target attribute is being set by jsp:attribute. This test will
-   * validate the above statement using both Classic and Simple tag handlers.
-   */
-  public void jspAttributeFragmentTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeUsageContextTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.2;JSP:SPEC:168.11
-   * 
-   * @test_Strategy: Validate a translation-time error occurs for the following
-   * use cases: - jsp:attribute is not a child of a standard or custom action. -
-   * jsp:attribute is used to provide the attribute of another jsp:attribute
-   * action.
-   */
-  public void jspAttributeUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-
-  }
-
-  /*
-   * @testName: jspAttributeFragmentNonScriptingBodyTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.5
-   * 
-   * @test_Strategy: Validate a translation error occurs if providing an
-   * attribute value using jsp:attribute to an attribute accepting JspFragment
-   * values and the body of the jsp:attribute action contains scripting elements
-   * (<%=, <%, <%!).
-   */
-  public void jspAttributeFragmentNonScriptingBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest4.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest5.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest6.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeDynamicAttributesTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.6
-   * 
-   * @test_Strategy: Validate that dynamic attribute values provided via
-   * jsp:attribute are provided to the tag handler as java.lang.String objects.
-   */
-  public void jspAttributeDynamicAttributesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeDynamicTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeDynamicTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeRtExprTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.7
-   * 
-   * @test_Strategy: Validate that if a tag handler (either Classic or Simple)
-   * accepts RT expressions and the attribute values are provided via
-   * jsp:attribute actions, type conversions are properly performed and the
-   * attributes are set.
-   */
-  public void jspAttributeRtExprTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeRtTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED|"
-        + "Test PASSED|Test PASSED|Test PASSED|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeElementInteractionTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.9
-   * 
-   * @test_Strategy: Validate that when a jsp:attribute element is nexted within
-   * a jsp:element element within a JSP document, that the element is
-   * constructed with element name being the value of the name attribute of
-   * jsp:attribute and the body of the element being the body of the
-   * jsp:attribute element.
-   *
-   */
-  public void jspAttributeElementInteractionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeElementInteractionTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeTrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.13;JSP:SPEC:168.14;JSP:SPEC:168.15
-   * 
-   * @test_Strategy: Validate the behavior of the trim attribute when set to
-   * true or false, or when not specified when handling static values at
-   * translation time vs. runtime.
-   */
-  public void jspAttributeTrimTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeTrimTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeDuplicatedAttributeTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.1.2
-   * 
-   * @test_Strategy: Validate that if an attribute is already specified for an
-   * action (using the xml style) and a jsp:attribute action is used to define
-   * the value for that same attribute, a translation-time error occurs.
-   */
-  public void jspAttributeDuplicatedAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeDuplicatedAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeQNameTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.1.4;JSP:SPEC:168.12
-   * 
-   * @test_Strategy: Validate the following: - qname attribute names can be
-   * provided to the name attribute of jsp:attribute an work the same as a
-   * non-qname value, as long as the qname prefix matches the prefix of the
-   * surrounding action. - If the qname prefix doesn't match the prefix of the
-   * surrounding action, a translation error must occur.
-   */
-  public void jspAttributeQNameTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest3.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest4.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "dynamic|dynamic value");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeEmptyBodyTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.10
-   * 
-   * @test_Strategy: Validate that if the body of jsp:attribute is empty, it
-   * sets the value of the attribute to "".
-   */
-  public void jspAttributeEmptyBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeEmptyBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeNoAttributeFoundTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.1.1
-   * 
-   * @test_Strategy: Validate that if jsp:attribute specifies an attribute of an
-   * action that does not exist, and that action does not accept dynamic
-   * attributes, a translation-time error occurs.
-   */
-  public void jspAttributeNoAttributeFoundTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeNoAttributeFoundTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspAttributeNameRequiredAttributeTest
-   * 
-   * @assertion_ids: JSP:SPEC:168.1.3
-   * 
-   * @test_Strategy: Validate the name attribute is indeed a required attribute
-   * of the jsp:attribute standard action by omitting it and checking for a
-   * translation-time error.
-   */
-  public void jspAttributeNameRequiredAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_attribute_web/JspAttributeNameReqAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClientIT.java
new file mode 100644
index 0000000000..8a13efcac8
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClientIT.java
@@ -0,0 +1,361 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute;
+
+import java.io.IOException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_attribute_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_attribute_web.war");
+    archive.addClasses(
+            JspTestUtil.class);
+    archive.addPackages(true, Filters.exclude(URLClientIT.class),
+            URLClientIT.class.getPackageName());
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_attribute_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/attribute.tld", "attribute.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeDuplicatedAttributeTest.jsp")), "JspAttributeDuplicatedAttributeTest.jsp");
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeDynamicTest1.jsp")), "JspAttributeDynamicTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeDynamicTest2.jsp")), "JspAttributeDynamicTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeElementInteractionTest.jspx")), "JspAttributeElementInteractionTest.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeEmptyBodyTest.jsp")), "JspAttributeEmptyBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest1.jsp")), "JspAttributeFragmentNonScrBodyTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest2.jsp")), "JspAttributeFragmentNonScrBodyTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest3.jsp")), "JspAttributeFragmentNonScrBodyTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest4.jsp")), "JspAttributeFragmentNonScrBodyTest4.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest5.jsp")), "JspAttributeFragmentNonScrBodyTest5.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentNonScrBodyTest6.jsp")), "JspAttributeFragmentNonScrBodyTest6.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeFragmentTest.jsp")), "JspAttributeFragmentTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeNameReqAttributeTest.jsp")), "JspAttributeNameReqAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeNoAttributeFoundTest.jsp")), "JspAttributeNoAttributeFoundTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeQNameTest1.jsp")), "JspAttributeQNameTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeQNameTest2.jsp")), "JspAttributeQNameTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeQNameTest3.jspx")), "JspAttributeQNameTest3.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeQNameTest4.jsp")), "JspAttributeQNameTest4.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeRtTest.jsp")), "JspAttributeRtTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeTrimTest.jsp")), "JspAttributeTrimTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeUsageContextTest1.jsp")), "JspAttributeUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeUsageContextTest2.jspx")), "JspAttributeUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspAttributeUsageContextTest3.jsp")), "JspAttributeUsageContextTest3.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspAttributeFragmentTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.3;JSP:SPEC:168.4
+   * 
+   * @test_Strategy: Validate that container passes an instance of JspFragment
+   * when the target attribute is being set by jsp:attribute. This test will
+   * validate the above statement using both Classic and Simple tag handlers.
+   */
+  @Test
+  public void jspAttributeFragmentTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeUsageContextTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.2;JSP:SPEC:168.11
+   * 
+   * @test_Strategy: Validate a translation-time error occurs for the following
+   * use cases: - jsp:attribute is not a child of a standard or custom action. -
+   * jsp:attribute is used to provide the attribute of another jsp:attribute
+   * action.
+   */
+  @Test
+  public void jspAttributeUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+
+  }
+
+  /*
+   * @testName: jspAttributeFragmentNonScriptingBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.5
+   * 
+   * @test_Strategy: Validate a translation error occurs if providing an
+   * attribute value using jsp:attribute to an attribute accepting JspFragment
+   * values and the body of the jsp:attribute action contains scripting elements
+   * (<%=, <%, <%!).
+   */
+  @Test
+  public void jspAttributeFragmentNonScriptingBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest4.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest5.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeFragmentNonScrBodyTest6.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeDynamicAttributesTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.6
+   * 
+   * @test_Strategy: Validate that dynamic attribute values provided via
+   * jsp:attribute are provided to the tag handler as java.lang.String objects.
+   */
+  @Test
+  public void jspAttributeDynamicAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeDynamicTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeDynamicTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeRtExprTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.7
+   * 
+   * @test_Strategy: Validate that if a tag handler (either Classic or Simple)
+   * accepts RT expressions and the attribute values are provided via
+   * jsp:attribute actions, type conversions are properly performed and the
+   * attributes are set.
+   */
+  @Test
+  public void jspAttributeRtExprTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeRtTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED|"
+        + "Test PASSED|Test PASSED|Test PASSED|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeElementInteractionTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.9
+   * 
+   * @test_Strategy: Validate that when a jsp:attribute element is nexted within
+   * a jsp:element element within a JSP document, that the element is
+   * constructed with element name being the value of the name attribute of
+   * jsp:attribute and the body of the element being the body of the
+   * jsp:attribute element.
+   *
+   */
+  @Test
+  public void jspAttributeElementInteractionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeElementInteractionTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeTrimTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.13;JSP:SPEC:168.14;JSP:SPEC:168.15
+   * 
+   * @test_Strategy: Validate the behavior of the trim attribute when set to
+   * true or false, or when not specified when handling static values at
+   * translation time vs. runtime.
+   */
+  @Test
+  public void jspAttributeTrimTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeTrimTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeDuplicatedAttributeTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.1.2
+   * 
+   * @test_Strategy: Validate that if an attribute is already specified for an
+   * action (using the xml style) and a jsp:attribute action is used to define
+   * the value for that same attribute, a translation-time error occurs.
+   */
+  @Test
+  public void jspAttributeDuplicatedAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeDuplicatedAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeQNameTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.1.4;JSP:SPEC:168.12
+   * 
+   * @test_Strategy: Validate the following: - qname attribute names can be
+   * provided to the name attribute of jsp:attribute an work the same as a
+   * non-qname value, as long as the qname prefix matches the prefix of the
+   * surrounding action. - If the qname prefix doesn't match the prefix of the
+   * surrounding action, a translation error must occur.
+   */
+  @Test
+  public void jspAttributeQNameTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest3.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeQNameTest4.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "dynamic|dynamic value");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeEmptyBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.10
+   * 
+   * @test_Strategy: Validate that if the body of jsp:attribute is empty, it
+   * sets the value of the attribute to "".
+   */
+  @Test
+  public void jspAttributeEmptyBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeEmptyBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeNoAttributeFoundTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.1.1
+   * 
+   * @test_Strategy: Validate that if jsp:attribute specifies an attribute of an
+   * action that does not exist, and that action does not accept dynamic
+   * attributes, a translation-time error occurs.
+   */
+  @Test
+  public void jspAttributeNoAttributeFoundTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeNoAttributeFoundTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspAttributeNameRequiredAttributeTest
+   * 
+   * @assertion_ids: JSP:SPEC:168.1.3
+   * 
+   * @test_Strategy: Validate the name attribute is indeed a required attribute
+   * of the jsp:attribute standard action by omitting it and checking for a
+   * translation-time error.
+   */
+  @Test
+  public void jspAttributeNameRequiredAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_attribute_web/JspAttributeNameReqAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java
deleted file mode 100644
index 12f75afd36..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.body;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_body_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspBodyTest
-   * 
-   * @assertion_ids: JSP:SPEC:248
-   * 
-   * @test_Strategy: Validate that the body of an action is properly delivered
-   * to a custom action when provided through jsp:body.
-   */
-  public void jspBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_body_web/JspBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED|Test PASSED|Test PASSED|Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspBodyUsageContextTest
-   * 
-   * @assertion_ids: JSP:SPEC:248.2;JSP:SPEC:248.3
-   * 
-   * @test_Strategy: Validate that translation-time errors will occur when
-   * jsp:body is used in an incorrected context. - Not nested within a standard
-   * or custom action - attempting to provide a body to an action not accepting
-   * a body - jsp:body nested within a jsp:body - jsp:body nested within
-   * jsp:attribute
-   */
-  public void jspBodyUsageContextTest() throws Exception {
-    for (int i = 0; i < 5; i++) {
-      TEST_PROPS.setProperty(REQUEST,
-          "GET /jsp_core_act_body_web/JspBodyUsageContextTest" + (i + 1)
-              + ".jsp HTTP/1.1");
-      TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-      invoke();
-    }
-  }
-
-  /*
-   * @testName: jspBodyEmptyBodyTest
-   * 
-   * @assertion_ids: JSP:SPEC:248.1
-   * 
-   * @test_Strategy: Verify that following empty body semantics involving
-   * jsp:body: - If an action has one or more jsp:attribute elements and no
-   * jsp:body element, then the action is considered empty. - Empty bodies can
-   * be provided via jsp:body in the forms of <jsp:body/> and
-   * <jsp:body></jsp:body>
-   */
-  public void jspBodyEmptyBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_body_web/JspBodyEmptyBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClientIT.java
new file mode 100644
index 0000000000..29da127645
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClientIT.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.body;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_body_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_body_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.addPackages(true, Filters.exclude(URLClientIT.class),
+            URLClientIT.class.getPackageName());
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_body_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/body.tld", "body.tld");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyTest.jsp")), "JspBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyEmptyBodyTest.jsp")), "JspBodyEmptyBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyUsageContextTest1.jsp")), "JspBodyUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyUsageContextTest2.jsp")), "JspBodyUsageContextTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyUsageContextTest3.jsp")), "JspBodyUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyUsageContextTest4.jsp")), "JspBodyUsageContextTest4.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspBodyUsageContextTest5.jsp")), "JspBodyUsageContextTest5.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:248
+   * 
+   * @test_Strategy: Validate that the body of an action is properly delivered
+   * to a custom action when provided through jsp:body.
+   */
+  @Test
+  public void jspBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_body_web/JspBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED|Test PASSED|Test PASSED|Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspBodyUsageContextTest
+   * 
+   * @assertion_ids: JSP:SPEC:248.2;JSP:SPEC:248.3
+   * 
+   * @test_Strategy: Validate that translation-time errors will occur when
+   * jsp:body is used in an incorrected context. - Not nested within a standard
+   * or custom action - attempting to provide a body to an action not accepting
+   * a body - jsp:body nested within a jsp:body - jsp:body nested within
+   * jsp:attribute
+   */
+  @Test
+  public void jspBodyUsageContextTest() throws Exception {
+    for (int i = 0; i < 5; i++) {
+      TEST_PROPS.setProperty(REQUEST,
+          "GET /jsp_core_act_body_web/JspBodyUsageContextTest" + (i + 1)
+              + ".jsp HTTP/1.1");
+      TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+      invoke();
+    }
+  }
+
+  /*
+   * @testName: jspBodyEmptyBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:248.1
+   * 
+   * @test_Strategy: Verify that following empty body semantics involving
+   * jsp:body: - If an action has one or more jsp:attribute elements and no
+   * jsp:body element, then the action is considered empty. - Empty bodies can
+   * be provided via jsp:body in the forms of <jsp:body/> and
+   * <jsp:body></jsp:body>
+   */
+  @Test
+  public void jspBodyEmptyBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_body_web/JspBodyEmptyBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClient.java
deleted file mode 100644
index c16f362c90..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClient.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.declaration;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_decl_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspDeclarationUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the container's acceptance of the use of
-   * jsp:declaration in standard JSP pages, JSP documents and Tag files in both
-   * standard and XML syntax.
-   */
-  public void jspDeclarationUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest4.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClientIT.java
new file mode 100644
index 0000000000..0e3a66fcf1
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClientIT.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.declaration;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_decl_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_decl_web.war");
+    // archive.addPackages(true, Filters.exclude(URLClient.class),
+    //         URLClient.class.getPackageName());
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_decl_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspDeclarationTag2.tagx", "tags/JspDeclarationTag2.tagx");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspDeclarationTag1.tag", "tags/JspDeclarationTag1.tag");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDeclarationUsageContextTest1.jsp")), "JspDeclarationUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDeclarationUsageContextTest2.jspx")), "JspDeclarationUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDeclarationUsageContextTest3.jsp")), "JspDeclarationUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDeclarationUsageContextTest4.jspx")), "JspDeclarationUsageContextTest4.jspx");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspDeclarationUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the container's acceptance of the use of
+   * jsp:declaration in standard JSP pages, JSP documents and Tag files in both
+   * standard and XML syntax.
+   */
+  @Test
+  public void jspDeclarationUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_decl_web/JspDeclarationUsageContextTest4.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java
deleted file mode 100644
index ede6868948..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.dobody;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  private static final String CONTEXT_ROOT = "/jsp_core_act_dobody_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/core_syntax/action/dobody");
-    setContextRoot(CONTEXT_ROOT);
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   */
-
-  /*
-   * @testName: jspDoBodyNonEmptyBodyTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyNonEmptyBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
-        + "JspDoBodyNonEmptyBodyTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
-        + "JspDoBodyNonEmptyBodyTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyInvalidPageScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyInvalidPageScopeTest() throws Exception {
-    String testName = "JspDoBodyInvalidPageScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyInvalidRequestScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyInvalidRequestScopeTest() throws Exception {
-    String testName = "JspDoBodyInvalidRequestScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyInvalidApplicationScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyInvalidApplicationScopeTest() throws Exception {
-    String testName = "JspDoBodyInvalidApplicationScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-  /*
-   * @testName: jspDoBodyInvalidSessionScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyInvalidSessionScopeTest() throws Exception {
-    String testName = "JspDoBodyInvalidSessionScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-  /*
-   * @testName: jspDoBodyInvalidScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyInvalidScopeTest() throws Exception {
-    String testName = "JspDoBodyInvalidScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyJspAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyJspAttributeTest() throws Exception {
-    String testName = "JspDoBodyJspAttributeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyVarTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyVarTest() throws Exception {
-    String testName = "JspDoBodyVarTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyVarReaderTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyVarReaderTest() throws Exception {
-    String testName = "JspDoBodyVarReaderTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyScopeTest() throws Exception {
-    String testName = "JspDoBodyScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyNoVarVarReaderScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyNoVarVarReaderScopeTest() throws Exception {
-    String testName = "JspDoBodyNoVarVarReaderScopeTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspDoBodyVarVarReaderTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void jspDoBodyVarVarReaderTest() throws Exception {
-    String testName = "JspDoBodyVarVarReaderTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: negativeJspDoBodyUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void negativeJspDoBodyUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
-        + "JspDoBodyUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
-        + "JspDoBodyUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: positiveJspDoBodyUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:
-   */
-
-  public void positiveJspDoBodyUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
-        + "JspDoBodyUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClientIT.java
new file mode 100644
index 0000000000..39a57b973c
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClientIT.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.dobody;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  private static final String CONTEXT_ROOT = "/jsp_core_act_dobody_web";
+
+  public URLClientIT() throws Exception {
+
+
+    setGeneralURI("/jsp/spec/core_syntax/action/dobody");
+    setContextRoot(CONTEXT_ROOT);
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_dobody_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_dobody_web.xml"));
+
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyVarVarReaderTag.tag", "tags/DoBodyVarVarReaderTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyVarTag.tag", "tags/DoBodyVarTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyVarReaderTag.tag", "tags/DoBodyVarReaderTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyUsageContextTagB.tagx", "tags/DoBodyUsageContextTagB.tagx");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyUsageContextTagA.tag", "tags/DoBodyUsageContextTagA.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyScopeTag.tag", "tags/DoBodyScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyNoVarVarReaderScopeTag.tag", "tags/DoBodyNoVarVarReaderScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyNonEmptyBodyTag2.tag", "tags/DoBodyNonEmptyBodyTag2.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyNonEmptyBodyTag1.tag", "tags/DoBodyNonEmptyBodyTag1.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyInvalidSessionScopeTag.tag", "tags/DoBodyNonEmptyBodyTag1.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyInvalidScopeTag.tag", "tags/DoBodyInvalidScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyInvalidRequestScopeTag.tag", "tags/DoBodyInvalidRequestScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyInvalidPageScopeTag.tag", "tags/DoBodyInvalidPageScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyInvalidApplicationScopeTag.tag", "tags/DoBodyInvalidApplicationScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DoBodyAttributeTag.tag", "tags/DoBodyAttributeTag.tag");
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyVarVarReaderTest.jsp")), "JspDoBodyVarVarReaderTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyVarTest.jsp")), "JspDoBodyVarTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyVarReaderTest.jsp")), "JspDoBodyVarReaderTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyUsageContextTest3.jsp")), "JspDoBodyUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyUsageContextTest2.jspx")), "JspDoBodyUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyUsageContextTest1.jsp")), "JspDoBodyUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyScopeTest.jsp")), "JspDoBodyScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyNoVarVarReaderScopeTest.jsp")), "JspDoBodyNoVarVarReaderScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyNonEmptyBodyTest2.jsp")), "JspDoBodyNonEmptyBodyTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyNonEmptyBodyTest1.jsp")), "JspDoBodyNonEmptyBodyTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyJspAttributeTest.jsp")), "JspDoBodyJspAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyInvalidSessionScopeTest.jsp")), "JspDoBodyInvalidSessionScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyInvalidScopeTest.jsp")), "JspDoBodyInvalidScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyInvalidRequestScopeTest.jsp")), "JspDoBodyInvalidRequestScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyInvalidPageScopeTest.jsp")), "JspDoBodyInvalidPageScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspDoBodyInvalidApplicationScopeTest.jsp")), "JspDoBodyInvalidApplicationScopeTest.jsp");
+    
+    return archive;
+
+  }
+
+  
+  /*
+   * @testName: jspDoBodyNonEmptyBodyTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyNonEmptyBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
+        + "JspDoBodyNonEmptyBodyTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
+        + "JspDoBodyNonEmptyBodyTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyInvalidPageScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyInvalidPageScopeTest() throws Exception {
+    String testName = "JspDoBodyInvalidPageScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyInvalidRequestScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyInvalidRequestScopeTest() throws Exception {
+    String testName = "JspDoBodyInvalidRequestScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyInvalidApplicationScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyInvalidApplicationScopeTest() throws Exception {
+    String testName = "JspDoBodyInvalidApplicationScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+  /*
+   * @testName: jspDoBodyInvalidSessionScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyInvalidSessionScopeTest() throws Exception {
+    String testName = "JspDoBodyInvalidSessionScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+  /*
+   * @testName: jspDoBodyInvalidScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyInvalidScopeTest() throws Exception {
+    String testName = "JspDoBodyInvalidScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyJspAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyJspAttributeTest() throws Exception {
+    String testName = "JspDoBodyJspAttributeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyVarTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyVarTest() throws Exception {
+    String testName = "JspDoBodyVarTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyVarReaderTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyVarReaderTest() throws Exception {
+    String testName = "JspDoBodyVarReaderTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyScopeTest() throws Exception {
+    String testName = "JspDoBodyScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyNoVarVarReaderScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyNoVarVarReaderScopeTest() throws Exception {
+    String testName = "JspDoBodyNoVarVarReaderScopeTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspDoBodyVarVarReaderTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void jspDoBodyVarVarReaderTest() throws Exception {
+    String testName = "JspDoBodyVarVarReaderTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: negativeJspDoBodyUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void negativeJspDoBodyUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
+        + "JspDoBodyUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
+        + "JspDoBodyUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: positiveJspDoBodyUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:
+   */
+
+  @Test
+  public void positiveJspDoBodyUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST, "GET " + CONTEXT_ROOT + "/"
+        + "JspDoBodyUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java
deleted file mode 100644
index fe3d5034cd..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.element;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_element_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspElementTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the use of jsp:element with a simple body (not
-   * using jsp:body).
-   */
-  public void jspElementTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "xmlns:jsp|http://java.sun.com/JSP/Page");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    invoke();
-  }
-
-  /*
-   * @testName: jspElementJspAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the use of jsp:attribute as a child of
-   * jsp:element. The attributes specified by jsp:attribute should be translated
-   * into the attributes of the new XML element.
-   */
-  public void jspElementJspAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementJspAttributeTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementJspBodyTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "http://java.sun.com/JSP/Page");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementJspBodyTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
-    invoke();
-  }
-
-  /*
-   * @testName: jspElementNameReqAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that the name attribute of the jsp:element action
-   * is indeed required by the container.
-   */
-  public void jspElementNameReqAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-
-  }
-
-  /*
-   * @testName: jspElementDynamicAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the name attribute of jsp:element can accept both
-   * EL and RT expressions.
-   */
-  public void jspElementDynamicAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|body1|||body2|");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|body1|||body2|");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|body1|||body2|");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClientIT.java
new file mode 100644
index 0000000000..d105dd5bc4
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClientIT.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.element;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_element_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_element_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_element_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/NameAttrTag.tag", "tags/NameAttrTag.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspElementTag.tag", "tags/JspElementTag.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspElementJspBodyTag.tag", "tags/JspElementJspBodyTag.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspElementJspAttributeTag.tag", "tags/JspElementJspAttributeTag.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspElementDynAttrTag.tag", "tags/JspElementDynAttrTag.tag");    
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementTest3.jsp")), "JspElementTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementTest2.jspx")), "JspElementTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementTest1.jsp")), "JspElementTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementNameReqAttributeTest3.jsp")), "JspElementNameReqAttributeTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementNameReqAttributeTest2.jspx")), "JspElementNameReqAttributeTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementNameReqAttributeTest1.jsp")), "JspElementNameReqAttributeTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspBodyTest3.jsp")), "JspElementJspBodyTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspBodyTest2.jspx")), "JspElementJspBodyTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspBodyTest1.jsp")), "JspElementJspBodyTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspAttributeTest3.jsp")), "JspElementJspAttributeTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspAttributeTest2.jspx")), "JspElementJspAttributeTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementJspAttributeTest1.jsp")), "JspElementJspAttributeTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementDynamicAttributeTest3.jsp")), "JspElementDynamicAttributeTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementDynamicAttributeTest2.jspx")), "JspElementDynamicAttributeTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspElementDynamicAttributeTest1.jsp")), "JspElementDynamicAttributeTest1.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspElementTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the use of jsp:element with a simple body (not
+   * using jsp:body).
+   */
+  @Test
+  public void jspElementTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "xmlns:jsp|http://java.sun.com/JSP/Page");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    invoke();
+  }
+
+  /*
+   * @testName: jspElementJspAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the use of jsp:attribute as a child of
+   * jsp:element. The attributes specified by jsp:attribute should be translated
+   * into the attributes of the new XML element.
+   */
+  @Test
+  public void jspElementJspAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementJspAttributeTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementJspBodyTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "http://java.sun.com/JSP/Page");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementJspBodyTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "|body1|");
+    invoke();
+  }
+
+  /*
+   * @testName: jspElementNameReqAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that the name attribute of the jsp:element action
+   * is indeed required by the container.
+   */
+  @Test
+  public void jspElementNameReqAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementNameReqAttributeTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+
+  }
+
+  /*
+   * @testName: jspElementDynamicAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the name attribute of jsp:element can accept both
+   * EL and RT expressions.
+   */
+  @Test
+  public void jspElementDynamicAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "|body1|||body2|");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "|body1|||body2|");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_element_web/JspElementDynamicAttributeTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "|body1|||body2|");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClient.java
deleted file mode 100644
index 6cc8e942e2..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClient.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.expression;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_decl_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspExpressionUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the container's acceptance of the use of
-   * jsp:expression in standard JSP pages, JSP documents and Tag files in both
-   * standard and XML syntax.
-   */
-  public void jspExpressionUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest4.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClientIT.java
new file mode 100644
index 0000000000..fceb79bfd0
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClientIT.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.expression;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_decl_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_expr_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_expr_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspExpressionTag1.tag", "tags/JspExpressionTag1.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspExpressionTag2.tagx", "tags/JspExpressionTag2.tagx");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspExpressionUsageContextTest1.jsp")), "JspExpressionUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspExpressionUsageContextTest2.jspx")), "JspExpressionUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspExpressionUsageContextTest3.jsp")), "JspExpressionUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspExpressionUsageContextTest4.jspx")), "JspExpressionUsageContextTest4.jspx");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspExpressionUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the container's acceptance of the use of
+   * jsp:expression in standard JSP pages, JSP documents and Tag files in both
+   * standard and XML syntax.
+   */
+  @Test
+  public void jspExpressionUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_expr_web/JspExpressionUsageContextTest4.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java
deleted file mode 100644
index 25dd96349a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.forward;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/core_syntax/actions/forward");
-    setContextRoot("/jsp_coresyntx_act_forward_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: positiveForwardCtxRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.1
-   * 
-   * @test_Strategy: Validate that jsp:forward can forward a request to a JSP
-   * page within the same context using a page relative-path. PENDING Merege
-   * existing forward tests
-   */
-
-  public void positiveForwardCtxRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveForwardCtxRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveForwardCtxRelativeHtmlTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.1
-   * 
-   * @test_Strategy: Validate that jsp:forward can forward a request to a static
-   * resource within the same context using a page-relative path.
-   */
-
-  public void positiveForwardCtxRelativeHtmlTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveForwardCtxRelativeHtml");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveForwardPageRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.1
-   * 
-   * @test_Strategy: Validate that jsp:forward can forward a request to a JSP
-   * page within the same context using a page-relative path.
-   */
-
-  public void positiveForwardPageRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveForwardPageRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveForwardPageRelativeHtmlTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.1
-   * 
-   * @test_Strategy: Validate that jsp:forward can forward a request to a static
-   * resource within the same context using a page-relative path.
-   */
-
-  public void positiveForwardPageRelativeHtmlTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveForwardPageRelativeHtml");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveRequestAttrCtxRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.8
-   * 
-   * @test_Strategy: Validate that jsp:forward can properly accept a
-   * request-time attribute containing a context-relative path value.
-   */
-
-  public void positiveRequestAttrCtxRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrCtxRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveRequestAttrPageRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.8
-   * 
-   * @test_Strategy: Validate that jsp:forward can properly accept a
-   * request-time attribute containing a page-relative path value.
-   */
-
-  public void positiveRequestAttrPageRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrPageRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: unbufferedWriteForwardTest
-   * 
-   * @assertion_ids: JSP:SPEC:165.5
-   * 
-   * @test_Strategy:If the page output was unbuffered and anything has been
-   * written to it, an attempt to forward the request will result in an
-   * IllegalStateException.
-   */
-
-  public void unbufferedWriteForwardTest() throws Exception {
-    String testName = "unbufferedWriteForwardTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_coresyntx_act_forward_web/unbufferedWriteForwardTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Got IllegalStateException");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClientIT.java
new file mode 100644
index 0000000000..c67a3603ec
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClientIT.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.forward;
+
+
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+  public URLClientIT() throws Exception {
+
+
+    setGeneralURI("/jsp/spec/core_syntax/actions/forward");
+    setContextRoot("/jsp_coresyntx_act_forward_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_forward_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_forward_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/unbufferedWriteForwardTest.jsp")), "unbufferedWriteForwardTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/unbufferedWriteForwardTest_error.jsp")), "unbufferedWriteForwardTest_error.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveRequestAttrPageRelative.jsp")), "positiveRequestAttrPageRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveRequestAttrCtxRelative.jsp")), "positiveRequestAttrCtxRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveForwardPageRelativeHtml.jsp")), "positiveForwardPageRelativeHtml.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveForwardPageRelative.jsp")), "positiveForwardPageRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveForwardCtxRelativeHtml.jsp")), "positiveForwardCtxRelativeHtml.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveForwardCtxRelative.jsp")), "positiveForwardCtxRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/forwardcommon.jsp")), "forwardcommon.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/forwardcommon.html")), "forwardcommon.html");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/flushedBufferForwardTest1.jsp")), "flushedBufferForwardTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/flushedBufferForwardTest.jsp")), "flushedBufferForwardTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/flushedBufferForwardTest_error.jsp")), "flushedBufferForwardTest_error.jsp");
+  
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: positiveForwardCtxRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.1
+   * 
+   * @test_Strategy: Validate that jsp:forward can forward a request to a JSP
+   * page within the same context using a page relative-path. PENDING Merege
+   * existing forward tests
+   */
+
+  @Test
+  public void positiveForwardCtxRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveForwardCtxRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveForwardCtxRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveForwardCtxRelativeHtmlTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.1
+   * 
+   * @test_Strategy: Validate that jsp:forward can forward a request to a static
+   * resource within the same context using a page-relative path.
+   */
+
+  @Test
+  public void positiveForwardCtxRelativeHtmlTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveForwardCtxRelativeHtml.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveForwardCtxRelativeHtml");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveForwardPageRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.1
+   * 
+   * @test_Strategy: Validate that jsp:forward can forward a request to a JSP
+   * page within the same context using a page-relative path.
+   */
+
+  @Test
+  public void positiveForwardPageRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveForwardPageRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveForwardPageRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveForwardPageRelativeHtmlTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.1
+   * 
+   * @test_Strategy: Validate that jsp:forward can forward a request to a static
+   * resource within the same context using a page-relative path.
+   */
+
+  @Test
+  public void positiveForwardPageRelativeHtmlTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveForwardPageRelativeHtml.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveForwardPageRelativeHtml");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveRequestAttrCtxRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.8
+   * 
+   * @test_Strategy: Validate that jsp:forward can properly accept a
+   * request-time attribute containing a context-relative path value.
+   */
+
+  @Test
+  public void positiveRequestAttrCtxRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveRequestAttrCtxRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrCtxRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveRequestAttrPageRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.8
+   * 
+   * @test_Strategy: Validate that jsp:forward can properly accept a
+   * request-time attribute containing a page-relative path value.
+   */
+
+  @Test
+  public void positiveRequestAttrPageRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveRequestAttrPageRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrPageRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: unbufferedWriteForwardTest
+   * 
+   * @assertion_ids: JSP:SPEC:165.5
+   * 
+   * @test_Strategy:If the page output was unbuffered and anything has been
+   * written to it, an attempt to forward the request will result in an
+   * IllegalStateException.
+   */
+
+  @Test
+  public void unbufferedWriteForwardTest() throws Exception {
+    String testName = "unbufferedWriteForwardTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_coresyntx_act_forward_web/unbufferedWriteForwardTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Got IllegalStateException");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClient.java
deleted file mode 100644
index 977f1c7f66..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClient.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.getproperty;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_getproperty_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/core_syntax/actions/getproperty");
-    setContextRoot("/jsp_coresyntx_act_getproperty_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: positiveGetPropsTest
-   * 
-   * @assertion_ids: JSP:SPEC:163.1;JSP:SPEC:163.2;JSP:SPEC:163.4
-   * 
-   * @test_Strategy: Create a bean using jsp:useBean tag, use jsp:getProperty to
-   * access and validate the property.
-   */
-
-  public void positiveGetPropsTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveGetProps");
-    invoke();
-  }
-
-  /*
-   * @testName: nullPropertyValueTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: if the target property value is null, "null" rather than ""
-   * must be outputed, done as in println method.
-   */
-
-  public void nullPropertyValueTest() throws Exception {
-    String testName = "nullPropertyValueTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "null");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClientIT.java
new file mode 100644
index 0000000000..c59017a6e6
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClientIT.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.getproperty;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+
+  private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_getproperty_web";
+
+  public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+  public URLClientIT() throws Exception {
+
+
+    setGeneralURI("/jsp/spec/core_syntax/actions/getproperty");
+    setContextRoot("/jsp_coresyntx_act_getproperty_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_getproperty_web.war");
+    archive.addClasses(StringBean.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_getproperty_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveGetProps.jsp")), "positiveGetProps.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/nullPropertyValueTest.jsp")), "nullPropertyValueTest.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: positiveGetPropsTest
+   * 
+   * @assertion_ids: JSP:SPEC:163.1;JSP:SPEC:163.2;JSP:SPEC:163.4
+   * 
+   * @test_Strategy: Create a bean using jsp:useBean tag, use jsp:getProperty to
+   * access and validate the property.
+   */
+
+  @Test
+  public void positiveGetPropsTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveGetProps.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveGetProps");
+    invoke();
+  }
+
+  /*
+   * @testName: nullPropertyValueTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: if the target property value is null, "null" rather than ""
+   * must be outputed, done as in println method.
+   */
+
+  @Test
+  public void nullPropertyValueTest() throws Exception {
+    String testName = "nullPropertyValueTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "null");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java
deleted file mode 100644
index 86927d421a..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.include;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_include_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/core_syntax/actions/include");
-    setContextRoot("/jsp_coresyntx_act_include_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: positiveIncludeCtxRelativeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Include content, using a context-relative path, from JSP
-   * page into the current JSP page.
-   * 
-   * jsp:include provides for the inclusion of dynamic resources, within the
-   * same context, using a context-relative path. JavaServer Pages Specification
-   * v1.2, Sec. 4.4
-   */
-
-  public void positiveIncludeCtxRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveIncludeCtxRelativeHtmlTest
-   * 
-   * @assertion_ids: JSP:SPEC:164.1
-   * 
-   * @test_Strategy: Include content, using a context-relative path, from a
-   * static HTML page into the current JSP page. PENDING Merge existing tests
-   * into one test.
-   */
-
-  public void positiveIncludeCtxRelativeHtmlTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelativeHtml");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveIncludePageRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:164.1
-   * 
-   * @test_Strategy: Include content, using a page-relative path, from a JSP
-   * page into the current JSP page.
-   */
-  public void positiveIncludePageRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveRequestAttrCtxRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:164.1;JSP:SPEC:164.9
-   * 
-   * @test_Strategy: Validate the page attribute of jsp:include can correctly
-   * accept request-time attribute values which contain context-relative paths.
-   */
-
-  public void positiveRequestAttrCtxRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrCtxRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveRequestAttrPageRelativeTest
-   * 
-   * @assertion_ids: JSP:SPEC:164.1
-   * 
-   * @test_Strategy: Validate the page attribute of jsp:include can correctly
-   * accept request-time attribute values which contain page-relative paths.
-   */
-
-  public void positiveRequestAttrPageRelativeTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrPageRelative");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveIncludePageRelative2Test
-   * 
-   * @assertion_ids: JSP:SPEC:164.1
-   * 
-   * @test_Strategy: Include content, using a page-relative path, from a JSP
-   * page in a different dir into the current JSP page, with a jsp-config
-   * url-pattern in web.xml
-   */
-  public void positiveIncludePageRelative2Test() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelative2");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveIncludeForwardTest
-   * 
-   * @assertion_ids: JSP:SPEC:164.1
-   * 
-   * @test_Strategy: Include a jsp, which forwards to a html file Only the
-   * output from the forwarded target should be sent to client, because the test
-   * jsp and included jsp shared the same out (JSP 5.4), and a forwarding clears
-   * the response buffer (SVR 8.4).
-   * 
-   */
-  public void positiveIncludeForwardTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveIncludeForward");
-    invoke();
-  }
-
-  /*
-   * @testName: includeMappedServletTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: set page attribute to a mapped servlet.
-   */
-
-  public void includeMappedServletTest() throws Exception {
-    String testName = "includeMappedServletTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "shoule not be served");
-    invoke();
-  }
-
-  /*
-   * @testName: staticStaticTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy:complex set of inclusions in JSP.5.4
-   */
-
-  public void staticStaticTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/staticStatic_A.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
-    invoke();
-  }
-
-  /*
-   * @testName: dynamicDynamicTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: complex set of inclusions in JSP.5.4
-   */
-
-  public void dynamicDynamicTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/dynamicDynamic_A.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
-    invoke();
-  }
-
-  /*
-   * @testName: dynamicStaticTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: complex set of inclusions in JSP.5.4
-   */
-
-  public void dynamicStaticTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/dynamicStatic_A.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
-    invoke();
-  }
-
-  /*
-   * @testName: staticDynamicTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: complex set of inclusions in JSP.5.4
-   */
-
-  public void staticDynamicTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/staticDynamic_A.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "In /C.jsp");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClientIT.java
new file mode 100644
index 0000000000..2f6abcf8af
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClientIT.java
@@ -0,0 +1,302 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.include;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_include_web";
+
+  public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+
+  public URLClientIT() throws Exception {
+
+
+    setGeneralURI("/jsp/spec/core_syntax/actions/include");
+    setContextRoot("/jsp_coresyntx_act_include_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_include_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_include_web.xml"));
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/staticStatic_A.jsp")), "staticStatic_A.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/staticDynamic_A.jsp")), "staticDynamic_A.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveRequestAttrPageRelative.jsp")), "positiveRequestAttrPageRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveRequestAttrCtxRelative.jsp")), "positiveRequestAttrCtxRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludePageRelativeHtml.jsp")), "positiveIncludePageRelativeHtml.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludePageRelative2.jsp")), "positiveIncludePageRelative2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludePageRelative.jsp")), "positiveIncludePageRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludeForward.jsp")), "positiveIncludeForward.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludeCtxRelativeHtml.jsp")), "positiveIncludeCtxRelativeHtml.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludeCtxRelative.jsp")), "positiveIncludeCtxRelative.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/includeMappedServletTest.jsp")), "includeMappedServletTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/includeforward.jsp")), "includeforward.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/includecommon.jsp")), "includecommon.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/includecommon.html")), "includecommon.html");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/forwardtarget.html")), "forwardtarget.html");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/dynamicStatic_A.jsp")), "dynamicStatic_A.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/dynamicDynamic_A.jsp")), "dynamicDynamic_A.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/C.jsp")), "C.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/static_B.jsp")), "include/static_B.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/includeMappedServlet.jsp")), "include/includeMappedServlet.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/includeMappedServlet.html")), "include/includeMappedServlet.html");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/include2.jsp")), "include/include2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/dynamic_B.jsp")), "include/dynamic_B.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/C.jsp")), "include/C.jsp");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: positiveIncludeCtxRelativeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Include content, using a context-relative path, from JSP
+   * page into the current JSP page.
+   * 
+   * jsp:include provides for the inclusion of dynamic resources, within the
+   * same context, using a context-relative path. JavaServer Pages Specification
+   * v1.2, Sec. 4.4
+   */
+
+  @Test
+  public void positiveIncludeCtxRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludeCtxRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveIncludeCtxRelativeHtmlTest
+   * 
+   * @assertion_ids: JSP:SPEC:164.1
+   * 
+   * @test_Strategy: Include content, using a context-relative path, from a
+   * static HTML page into the current JSP page. PENDING Merge existing tests
+   * into one test.
+   */
+
+  @Test
+  public void positiveIncludeCtxRelativeHtmlTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludeCtxRelativeHtml.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelativeHtml");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveIncludePageRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:164.1
+   * 
+   * @test_Strategy: Include content, using a page-relative path, from a JSP
+   * page into the current JSP page.
+   */
+  @Test
+  public void positiveIncludePageRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludePageRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveRequestAttrCtxRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:164.1;JSP:SPEC:164.9
+   * 
+   * @test_Strategy: Validate the page attribute of jsp:include can correctly
+   * accept request-time attribute values which contain context-relative paths.
+   */
+
+  @Test
+  public void positiveRequestAttrCtxRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveRequestAttrCtxRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrCtxRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveRequestAttrPageRelativeTest
+   * 
+   * @assertion_ids: JSP:SPEC:164.1
+   * 
+   * @test_Strategy: Validate the page attribute of jsp:include can correctly
+   * accept request-time attribute values which contain page-relative paths.
+   */
+
+  @Test
+  public void positiveRequestAttrPageRelativeTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveRequestAttrPageRelative.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveRequestAttrPageRelative");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveIncludePageRelative2Test
+   * 
+   * @assertion_ids: JSP:SPEC:164.1
+   * 
+   * @test_Strategy: Include content, using a page-relative path, from a JSP
+   * page in a different dir into the current JSP page, with a jsp-config
+   * url-pattern in web.xml
+   */
+  @Test
+  public void positiveIncludePageRelative2Test() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludePageRelative2.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelative2");
+    invoke();
+  }
+
+  /*
+   * @testName: positiveIncludeForwardTest
+   * 
+   * @assertion_ids: JSP:SPEC:164.1
+   * 
+   * @test_Strategy: Include a jsp, which forwards to a html file Only the
+   * output from the forwarded target should be sent to client, because the test
+   * jsp and included jsp shared the same out (JSP 5.4), and a forwarding clears
+   * the response buffer (SVR 8.4).
+   * 
+   */
+  @Test
+  public void positiveIncludeForwardTest() throws Exception {
+    InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludeForward.gf");
+    setGoldenFileStream(gfStream);
+    TEST_PROPS.setProperty(STANDARD, "positiveIncludeForward");
+    invoke();
+  }
+
+  /*
+   * @testName: includeMappedServletTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: set page attribute to a mapped servlet.
+   */
+
+  @Test
+  public void includeMappedServletTest() throws Exception {
+    String testName = "includeMappedServletTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "shoule not be served");
+    invoke();
+  }
+
+  /*
+   * @testName: staticStaticTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy:complex set of inclusions in JSP.5.4
+   */
+
+  @Test
+  public void staticStaticTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/staticStatic_A.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
+    invoke();
+  }
+
+  /*
+   * @testName: dynamicDynamicTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: complex set of inclusions in JSP.5.4
+   */
+
+  @Test
+  public void dynamicDynamicTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/dynamicDynamic_A.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
+    invoke();
+  }
+
+  /*
+   * @testName: dynamicStaticTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: complex set of inclusions in JSP.5.4
+   */
+
+  @Test
+  public void dynamicStaticTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/dynamicStatic_A.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In /include/C.jsp");
+    invoke();
+  }
+
+  /*
+   * @testName: staticDynamicTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: complex set of inclusions in JSP.5.4
+   */
+
+  @Test
+  public void staticDynamicTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/staticDynamic_A.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "In /C.jsp");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java
deleted file mode 100644
index 8b182012f8..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.invoke;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_invoke_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspInvokeUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the following usage contexts of jsp:invoke: -
-   * jsp:invoke present in a JSP or JSP document is a translation error. -
-   * jsp:invoke is valid within a tag file.
-   */
-  public void jspInvokeUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeVarTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the behavior of jsp:invoke when the var attribute
-   * is specified. The tag file should export the result of the invocation to a
-   * request-scoped variable. The type and value of the exported variable will
-   * be validated by the invoking page.
-   */
-  public void jspInvokeVarTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeVarTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeVarReaderTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the behavior of jsp:invoke when the varReader
-   * attribute is specified. The tag file should export the result of the
-   * invocation to a request-scoped variable. The type and value of the exported
-   * variable will be validated by the invoking page as well as verification
-   * that the exported reader is resettable.
-   */
-  public void jspInvokeVarReaderTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeVarReaderTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the behavior of jsp:invoke when the scope
-   * attribute is and is not specified. If not specified, the result of the
-   * invocation should be in the page scope of the tag file. If the scope is
-   * 'page' the result of the invocation should be in the page scope of the tag
-   * file. If scope is specified as 'request', 'session', or 'application', the
-   * result of the invocation should be in the page context of the invoking
-   * page.
-   */
-  public void jspInvokeScopeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeVarVarReaderTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that if both var and varReader are specified
-   * within one particular jsp:invoke action, a translation- time error is
-   * raised.
-   */
-  public void jspInvokeVarVarReaderTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeVarVarReaderTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeNoVarVarReaderTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that if the scope attribute of jsp:invoke is
-   * specified but neither the var nor varReader are specified, a
-   * translation-time error is raised.
-   */
-  public void jspInvokeNoVarVarReaderTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeNoVarVarReaderScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeNotInSessionTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that jsp:invoke will cause an
-   * IllegalStateException to be raised if the jsp:invoke action tries to export
-   * a result into the session scope where the calling page does not participate
-   * in a session.
-   */
-  public void jspInvokeNotInSessionTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeNotInSessionTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeJspAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the attributes of jspInvoke can all be specified
-   * using the jsp:attribute action.
-   */
-  public void jspInvokeJspAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeJspAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeInvalidScopeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that a translation-time error is generated if the
-   * scope attribute of jsp:invoke is provided an invalid value (i.e. not
-   * 'page', 'request', 'session', or 'application').
-   */
-  public void jspInvokeInvalidScopeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeInvalidScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeInvalidPageScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeInvalidRequestScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeInvalidSessionScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeInvalidApplicationScopeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeFragmentReqAttributeTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that the 'fragment' attribute of jsp:invoke is
-   * indeed required by the container. Validate by calling jsp:invoke without
-   * the attribute and look for a translation- time error.
-   */
-  public void jspInvokeFragmentReqAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeFragmentReqAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspInvokeNonEmptyBodyTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate a translation-time error is raised if the
-   * jsp:invoke action has a non-empty body.
-   */
-  public void jspInvokeNonEmptyBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/JspInvokeNonEmptyBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspFragmentNullTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: If the fragment identified by the given name is null, will
-   * behave as though a fragment was passed in that produces no output.
-   */
-  public void jspFragmentNullTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_invoke_web/jspFragmentNullTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "BEGINEND");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClientIT.java
new file mode 100644
index 0000000000..d9238c6c54
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClientIT.java
@@ -0,0 +1,346 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.invoke;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_invoke_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_invoke_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_invoke_web.xml"));
+
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeVarVarReaderTest.jsp")), "JspInvokeVarVarReaderTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeVarTest.jsp")), "JspInvokeVarTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeVarReaderTest.jsp")), "JspInvokeVarReaderTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeUsageContextTest3.jsp")), "JspInvokeUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeUsageContextTest2.jspx")), "JspInvokeUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeUsageContextTest1.jsp")), "JspInvokeUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeScopeTest.jsp")), "JspInvokeScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeNoVarVarReaderScopeTest.jsp")), "JspInvokeNoVarVarReaderScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeNotInSessionTest.jsp")), "JspInvokeNotInSessionTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeNonEmptyBodyTest.jsp")), "JspInvokeNonEmptyBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeJspAttributeTest.jsp")), "JspInvokeJspAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeInvalidSessionScopeTest.jsp")), "JspInvokeInvalidSessionScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeInvalidScopeTest.jsp")), "JspInvokeInvalidScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeInvalidRequestScopeTest.jsp")), "JspInvokeInvalidRequestScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeInvalidPageScopeTest.jsp")), "JspInvokeInvalidPageScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeInvalidApplicationScopeTest.jsp")), "JspInvokeInvalidApplicationScopeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspInvokeFragmentReqAttributeTest.jsp")), "JspInvokeFragmentReqAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/jspFragmentNullTest.jsp")), "jspFragmentNullTest.jsp");
+
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/VarVarReaderTag.tag", "tags/VarVarReaderTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/ScopeTag.tag", "tags/ScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/NoVarVarReaderScopeTag.tag", "tags/NoVarVarReaderScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/NotInSessionTag.tag", "tags/NotInSessionTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/NonEmptyBodyTag.tag", "tags/NonEmptyBodyTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspInvokeVarTag.tag", "tags/JspInvokeVarTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspInvokeVarReaderTag.tag", "tags/JspInvokeVarReaderTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspInvokeUsageContextTag3b.tagx", "tags/JspInvokeUsageContextTag3b.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspInvokeUsageContextTag3a.tag", "tags/JspInvokeUsageContextTag3a.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/jspFragmentNullTest.tag", "tags/jspFragmentNullTest.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspAttributeTag.tag", "tags/JspAttributeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/InvalidSessionScopeTag.tag", "tags/InvalidSessionScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/InvalidScopeTag.tag", "tags/InvalidScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/InvalidRequestScopeTag.tag", "tags/InvalidRequestScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/InvalidPageScopeTag.tag", "tags/InvalidPageScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/InvalidApplicationScopeTag.tag", "tags/InvalidApplicationScopeTag.tag");
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/FragmentReqAttributeTag.tag", "tags/FragmentReqAttributeTag.tag");
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspInvokeUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the following usage contexts of jsp:invoke: -
+   * jsp:invoke present in a JSP or JSP document is a translation error. -
+   * jsp:invoke is valid within a tag file.
+   */
+  @Test
+  public void jspInvokeUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeVarTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the behavior of jsp:invoke when the var attribute
+   * is specified. The tag file should export the result of the invocation to a
+   * request-scoped variable. The type and value of the exported variable will
+   * be validated by the invoking page.
+   */
+  @Test
+  public void jspInvokeVarTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeVarTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeVarReaderTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the behavior of jsp:invoke when the varReader
+   * attribute is specified. The tag file should export the result of the
+   * invocation to a request-scoped variable. The type and value of the exported
+   * variable will be validated by the invoking page as well as verification
+   * that the exported reader is resettable.
+   */
+  @Test
+  public void jspInvokeVarReaderTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeVarReaderTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the behavior of jsp:invoke when the scope
+   * attribute is and is not specified. If not specified, the result of the
+   * invocation should be in the page scope of the tag file. If the scope is
+   * 'page' the result of the invocation should be in the page scope of the tag
+   * file. If scope is specified as 'request', 'session', or 'application', the
+   * result of the invocation should be in the page context of the invoking
+   * page.
+   */
+  @Test
+  public void jspInvokeScopeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeVarVarReaderTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that if both var and varReader are specified
+   * within one particular jsp:invoke action, a translation- time error is
+   * raised.
+   */
+  @Test
+  public void jspInvokeVarVarReaderTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeVarVarReaderTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeNoVarVarReaderTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that if the scope attribute of jsp:invoke is
+   * specified but neither the var nor varReader are specified, a
+   * translation-time error is raised.
+   */
+  @Test
+  public void jspInvokeNoVarVarReaderTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeNoVarVarReaderScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeNotInSessionTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that jsp:invoke will cause an
+   * IllegalStateException to be raised if the jsp:invoke action tries to export
+   * a result into the session scope where the calling page does not participate
+   * in a session.
+   */
+  @Test
+  public void jspInvokeNotInSessionTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeNotInSessionTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeJspAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the attributes of jspInvoke can all be specified
+   * using the jsp:attribute action.
+   */
+  @Test
+  public void jspInvokeJspAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeJspAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED");
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeInvalidScopeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that a translation-time error is generated if the
+   * scope attribute of jsp:invoke is provided an invalid value (i.e. not
+   * 'page', 'request', 'session', or 'application').
+   */
+  @Test
+  public void jspInvokeInvalidScopeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeInvalidScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeInvalidPageScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeInvalidRequestScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeInvalidSessionScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeInvalidApplicationScopeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeFragmentReqAttributeTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that the 'fragment' attribute of jsp:invoke is
+   * indeed required by the container. Validate by calling jsp:invoke without
+   * the attribute and look for a translation- time error.
+   */
+  @Test
+  public void jspInvokeFragmentReqAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeFragmentReqAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspInvokeNonEmptyBodyTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate a translation-time error is raised if the
+   * jsp:invoke action has a non-empty body.
+   */
+  @Test
+  public void jspInvokeNonEmptyBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/JspInvokeNonEmptyBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspFragmentNullTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: If the fragment identified by the given name is null, will
+   * behave as though a fragment was passed in that produces no output.
+   */
+  @Test
+  public void jspFragmentNullTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_invoke_web/jspFragmentNullTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "BEGINEND");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java
deleted file mode 100644
index 435db0efeb..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.output;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  private static final String CONTEXT_ROOT = "/jsp_core_act_output_web";
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_output_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspOutputUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that jsp:output can be used within JSP documents
-   * and Tag files in XML syntax and that a translation-time error is raised if
-   * used within the context of a standard syntax JSP or Tag file.
-   */
-  public void jspOutputUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputUsageContextTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputUsageContextTest3.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputUsageContextTest4.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|");
-    invoke();
-  }
-
-  /*
-   * @testName: jspOutputOmitDeclValidValuesTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the valid values for the omit-xml-declaration are
-   * 'true', 'false', 'yes', and 'no'. If the attribute values are 'false' or
-   * 'no', then the xml declaration will be generated. If 'true' or 'yes' no
-   * declaration will be generated.
-   */
-  public void jspOutputOmitDeclValidValuesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest4.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest5.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest8.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-  }
-
-  /*
-   * @testName: jspOutputJspRootOmitDeclDefaultTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that if a JSP document contains jsp:root, and a
-   * jsp:output action is present without the omit-xml-declaration attribute,
-   * the xml declaration will not be generated.
-   */
-  public void jspOutputJspRootOmitDeclDefaultTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputJspRootOmitDeclDefaultTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
-    invoke();
-  }
-
-  /*
-   * @testName: jspOutputOmitDeclDefaultTagTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that if jsp:output is present in a Tag file in XML
-   * syntax, and the omit-xml-declaration attribute is not present, the default
-   * behavior will be the generation of an XML declaration.
-   */
-  public void jspOutputOmitDeclDefaultTagTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputOmitDeclDefaultTest.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-  }
-
-  /*
-   * @testName: jspOutputBodyTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that a translation error occurs if the body of
-   * jsp:output is not empty.
-   */
-  public void jspOutputBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputBodyTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_output_web/JspOutputBodyTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: simpleDefaultTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: use a jsp document without jsp:output. response encoding is
-   * not set so use default for jsp document
-   */
-
-  public void simpleDefaultTest() throws Exception {
-    String testName = "simpleDefaultTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "");
-    invoke();
-  }
-
-  /*
-   * @testName: doctypeSystemTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: A DOCTYPE must be automatically output if and only if the
-   * doctype-system element appears in the translation unit as part of a
-   *  action. The format of the DOCTYPE: 
-   */
-
-  public void doctypeSystemTest() throws Exception {
-    String testName = "doctypeSystemTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        " action. The format of the DOCTYPE: 
-   */
-
-  public void doctypeSystemPublicTest() throws Exception {
-    String testName = "doctypeSystemPublicTest";
-    TEST_PROPS.setProperty(REQUEST,
-        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "|");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputUsageContextTest4.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "|");
+    invoke();
+  }
+
+  /*
+   * @testName: jspOutputOmitDeclValidValuesTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the valid values for the omit-xml-declaration are
+   * 'true', 'false', 'yes', and 'no'. If the attribute values are 'false' or
+   * 'no', then the xml declaration will be generated. If 'true' or 'yes' no
+   * declaration will be generated.
+   */
+  @Test
+  public void jspOutputOmitDeclValidValuesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest4.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest5.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputOmitDeclValidValuesTest8.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+  }
+
+  /*
+   * @testName: jspOutputJspRootOmitDeclDefaultTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that if a JSP document contains jsp:root, and a
+   * jsp:output action is present without the omit-xml-declaration attribute,
+   * the xml declaration will not be generated.
+   */
+  @Test
+  public void jspOutputJspRootOmitDeclDefaultTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputJspRootOmitDeclDefaultTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "");
+    invoke();
+  }
+
+  /*
+   * @testName: jspOutputOmitDeclDefaultTagTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that if jsp:output is present in a Tag file in XML
+   * syntax, and the omit-xml-declaration attribute is not present, the default
+   * behavior will be the generation of an XML declaration.
+   */
+  @Test
+  public void jspOutputOmitDeclDefaultTagTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputOmitDeclDefaultTest.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+  }
+
+  /*
+   * @testName: jspOutputBodyTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that a translation error occurs if the body of
+   * jsp:output is not empty.
+   */
+  @Test
+  public void jspOutputBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputBodyTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_output_web/JspOutputBodyTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: simpleDefaultTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: use a jsp document without jsp:output. response encoding is
+   * not set so use default for jsp document
+   */
+
+  @Test
+  public void simpleDefaultTest() throws Exception {
+    String testName = "simpleDefaultTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "");
+    invoke();
+  }
+
+  /*
+   * @testName: doctypeSystemTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: A DOCTYPE must be automatically output if and only if the
+   * doctype-system element appears in the translation unit as part of a
+   *  action. The format of the DOCTYPE: 
+   */
+
+  @Test
+  public void doctypeSystemTest() throws Exception {
+    String testName = "doctypeSystemTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        " action. The format of the DOCTYPE: 
+   */
+
+  @Test
+  public void doctypeSystemPublicTest() throws Exception {
+    String testName = "doctypeSystemPublicTest";
+    TEST_PROPS.setProperty(REQUEST,
+        "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "|fallback_text|");
-    TEST_PROPS.setProperty(REQUEST_HEADERS,
-        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
-    invoke();
-  }
-
-  /*
-   * @testName: jspParamsBodyTest
-   * 
-   * @assertion_ids: JSP:SPEC:167.21
-   * 
-   * @test_Strategy: Validate the body of the jsp:params action can be supplied
-   * using the jsp:body action.
-   */
-  public void jspParamsBodyTest() throws Exception {
-    TEST_PROPS.setProperty(STRATEGY,
-        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_plugin_web/JspParamsBodyTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "|param1=value1|");
-    TEST_PROPS.setProperty(REQUEST_HEADERS,
-        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
-    invoke();
-  }
-
-  /*
-   * @testName: jspPluginInvalidTypeTest
-   * 
-   * @assertion_ids: JSP:SPEC:167.4.1
-   * 
-   * @test_Strategy: Validate that if the type attribute is provided a value
-   * other than 'bean', or 'applet' that a translation error occurs.
-   */
-  public void jspPluginInvalidTypeTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_plugin_web/JspPluginInvalidTypeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    TEST_PROPS.setProperty(REQUEST_HEADERS,
-        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
-    invoke();
-  }
-
-  /*
-   * @testName: jspPluginJspAttributeTest
-   * 
-   * @assertion_ids: JSP:SPEC:167.20
-   * 
-   * @test_Strategy: Validate the attributes of the jsp:plugin action can be
-   * described by the jsp:attribute action.
-   */
-  public void jspPluginJspAttributeTest() throws Exception {
-    TEST_PROPS.setProperty(STRATEGY,
-        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_plugin_web/JspPluginJspAttributeTest.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
-        "||" +
-        "http://www.nowaythiswebsitecouldpossiblyexist.com|" +
-        "fallback_text|vspace=1|hspace=1|" +
-        "width=10|height=10|test=testvalue|bean|" +
-        "code=foo.class|archive=test.jar|name=test|" +
-        "align=middle|codebase=/");
-    TEST_PROPS.setProperty(REQUEST_HEADERS,
-        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClientIT.java
new file mode 100644
index 0000000000..fee0ba37fc
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClientIT.java
@@ -0,0 +1,452 @@
+/*
+ * Copyright (c) 2007, 2022 Oracle and/or its affiliates and others.
+ * All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_plugin_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_plugin_web.war");
+    archive.addClasses(JspPluginValidator.class, JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_plugin_web.xml"));
+    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginWidthRtAttributeValueTest.jsp")), "JspPluginWidthRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginWidthElAttributeValueTest.jsp")), "JspPluginWidthElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginVspaceRtAttributeValueTest.jsp")), "JspPluginVspaceRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginVspaceElAttributeValueTest.jsp")), "JspPluginVspaceElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginTypeRtAttributeValueTest.jsp")), "JspPluginTypeRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginTypeElAttributeValueTest.jsp")), "JspPluginTypeElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginNsPluginUrlRtAttributeValueTest.jsp")), "JspPluginNsPluginUrlRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginNsPluginUrlElAttributeValueTest.jsp")), "JspPluginNsPluginUrlElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginNameRtAttributeValueTest.jsp")), "JspPluginNameRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginNameElAttributeValueTest.jsp")), "JspPluginNameElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginJspParamsNoParametersTest.jsp")), "JspPluginJspParamsNoParametersTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginJspAttributeTest.jsp")), "JspPluginJspAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginJreversionRtAttributeValueTest.jsp")), "JspPluginJreversionRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginJreversionElAttributeValueTest.jsp")), "JspPluginJreversionElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginInvalidTypeTest.jsp")), "JspPluginInvalidTypeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginIePluginUrlRtAttributeValueTest.jsp")), "JspPluginIePluginUrlRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginIePluginUrlElAttributeValueTest.jsp")), "JspPluginIePluginUrlElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginHspaceRtAttributeValueTest.jsp")), "JspPluginHspaceRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginHspaceElAttributeValueTest.jsp")), "JspPluginHspaceElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginHeightRtAttributeValueTest.jsp")), "JspPluginHeightRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginHeightElAttributeValueTest.jsp")), "JspPluginHeightElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeRtAttributeValueTest.jsp")), "JspPluginCodeRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeReqAttributeTest.jsp")), "JspPluginCodeReqAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeElAttributeValueTest.jsp")), "JspPluginCodeElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeBaseRtAttributeValueTest.jsp")), "JspPluginCodeBaseRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeBaseReqAttributeTest.jsp")), "JspPluginCodeBaseReqAttributeTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginCodeBaseElAttributeValueTest.jsp")), "JspPluginCodeBaseElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginBeanTest.jsp")), "JspPluginBeanTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginArchiveRtAttributeValueTest.jsp")), "JspPluginArchiveRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginArchiveElAttributeValueTest.jsp")), "JspPluginArchiveElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginAppletTest.jsp")), "JspPluginAppletTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginAlignRtAttributeValueTest.jsp")), "JspPluginAlignRtAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspPluginAlignElAttributeValueTest.jsp")), "JspPluginAlignElAttributeValueTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspParamsUsageContextTest.jsp")), "JspParamsUsageContextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspParamsBodyTest.jsp")), "JspParamsBodyTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspFallbackUsageContextTest.jsp")), "JspFallbackUsageContextTest.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspFallbackBodyTest.jsp")), "JspFallbackBodyTest.jsp");
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspPluginTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.4;JSP:SPEC:167.5;JSP:SPEC:167.6;
+   * JSP:SPEC:167.8;JSP:SPEC:167.9;JSP:SPEC:167.10;
+   * JSP:SPEC:167.11;JSP:SPEC:167.12;JSP:SPEC:167.13;
+   * JSP:SPEC:167.15;JSP:SPEC:167.16;JSP:SPEC:167.17; JSP:SPEC:167.18
+   * 
+   * @test_Strategy: Validate, rather loosely as the output will be
+   * implementation dependent, the output of a jsp:plugin action.
+   */
+  @Test
+  public void jspPluginTest() throws Exception {
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginAppletTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "http://www.nowaythiswebsitecouldpossiblyexist.com|" +
+        "fallback_text|vspace=1|hspace=1|" +
+        "width=10|height=10|test=testvalue|applet|" +
+        "code=foo.class|archive=test.jar|name=test|" +
+        "align=middle|codebase=/");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginBeanTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "http://www.nowaythiswebsitecouldpossiblyexist.com|" +
+        "fallback_text|vspace=1|hspace=1|" +
+        "width=10|height=10|test=testvalue|bean|" +
+        "code=foo.class|archive=test.jar|name=test|" +
+        "align=middle|codebase=/");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspPluginDynamicAttributesTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.15.1;JSP:SPEC:167.9.1
+   * 
+   * @test_Strategy: Validate that the only the height and width attributes of
+   * jsp:plugin accept RT and EL Expressions.
+   */
+  @Test
+  public void jspPluginDynamicAttributesTest() throws Exception {
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginHeightElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "height=10");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginHeightRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "height=10");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginWidthElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "width=10");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginWidthRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "width=10");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginAlignElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginAlignRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginArchiveElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginArchiveRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginCodeBaseElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginCodeBaseRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginCodeElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginCodeRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginHspaceElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginHspaceRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginIePluginUrlElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginIePluginUrlRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginJreversionElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginJreversionRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginNameElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginNameRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginNsPluginUrlElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginNsPluginUrlRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginTypeElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginTypeRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginVspaceElAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginVspaceRtAttributeValueTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspParamsUsageContextTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.2.2
+   * 
+   * @test_Strategy: Validate that if the jsp:params action is not nested within
+   * a jsp:plugin action, a translation-time error will occur.
+   */
+  @Test
+  public void jspParamsUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspParamsUsageContextTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspFallbackUsageContextTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.3.2
+   * 
+   * @test_Strategy: Validate that if the jsp:fallback action is used in a
+   * context other than a nested child of the jsp:plugin action, a
+   * translation-time error is generated.
+   */
+  @Test
+  public void jspFallbackUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspFallbackUsageContextTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspFallbackBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.3.2
+   * 
+   * @test_Strategy: Validate the body of the jsp:fallback action can be
+   * supplied using the jsp:body action.
+   */
+  @Test
+  public void jspFallbackBodyTest() throws Exception {
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspFallbackBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "|fallback_text|");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspParamsBodyTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.21
+   * 
+   * @test_Strategy: Validate the body of the jsp:params action can be supplied
+   * using the jsp:body action.
+   */
+  @Test
+  public void jspParamsBodyTest() throws Exception {
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspParamsBodyTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "|param1=value1|");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspPluginInvalidTypeTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.4.1
+   * 
+   * @test_Strategy: Validate that if the type attribute is provided a value
+   * other than 'bean', or 'applet' that a translation error occurs.
+   */
+  @Test
+  public void jspPluginInvalidTypeTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginInvalidTypeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+
+  /*
+   * @testName: jspPluginJspAttributeTest
+   * 
+   * @assertion_ids: JSP:SPEC:167.20
+   * 
+   * @test_Strategy: Validate the attributes of the jsp:plugin action can be
+   * described by the jsp:attribute action.
+   */
+  @Test
+  public void jspPluginJspAttributeTest() throws Exception {
+    TEST_PROPS.setProperty(STRATEGY,
+        "com.sun.ts.tests.jsp.spec.core_syntax.actions.plugin.JspPluginValidator");
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_plugin_web/JspPluginJspAttributeTest.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "expected_text");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH,
+        "||" +
+        "http://www.nowaythiswebsitecouldpossiblyexist.com|" +
+        "fallback_text|vspace=1|hspace=1|" +
+        "width=10|height=10|test=testvalue|bean|" +
+        "code=foo.class|archive=test.jar|name=test|" +
+        "align=middle|codebase=/");
+    TEST_PROPS.setProperty(REQUEST_HEADERS,
+        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java
deleted file mode 100644
index fc0bceaf33..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.root;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_root_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspRootUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that a translation time error is raised when
-   * jsp:root is used in JSP or Tag files in standard syntax but not in JSP
-   * Documents, or Tag files in XML syntax.
-   */
-  public void jspRootUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootUsageContextTest4.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspRootVersionAttrAllowableValuesTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the container accepts both "1.2" and "2.0" as
-   * allowable values for the version attribute of the jsp:root element.
-   */
-  public void jspRootVersionAttrAllowableValuesTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionAttrAllowableValuesTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionAttrAllowableValuesTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-  }
-
-  /*
-   * @testName: jspRootVersionAttrInvalidValueTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the container generates a translation-time error
-   * when the version attribute of jsp:root is provided a value other than "1.2"
-   * or "2.0"
-   */
-  public void jspRootVersionAttrInvalidValueTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionAttrInvalidValueTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionAttrInvalidValueTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspRootVersionReqAttrTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that the version attribute of jsp:root is indeed
-   * required by looking for a translation error from the container when the
-   * attribute is not present.
-   */
-  public void jspRootVersionReqAttrTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionReqAttrTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootVersionReqAttrTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
-    invoke();
-  }
-
-  /*
-   * @testName: jspRootJspBodyTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate that jsp:body can be used to specify the body of
-   * the jsp:root action.
-   */
-  public void jspRootJspBodyTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootJspBodyTest1.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_root_web/JspRootJspBodyTest2.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
-    invoke();
-  }
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClientIT.java
new file mode 100644
index 0000000000..ec11c507dd
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClientIT.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.root;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+import com.sun.ts.tests.jsp.common.util.JspTestUtil;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_root_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_root_web.war");
+    archive.addClasses(JspTestUtil.class);
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_root_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspRootJspBodyTag.tagx", "tags/JspRootJspBodyTag.tagx");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspRootUsageContextTag1.tagx", "tags/JspRootUsageContextTag1.tagx");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspRootUsageContextTag2.tag", "tags/JspRootUsageContextTag2.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspRootVersionInvalidValueTag.tagx", "tags/JspRootVersionInvalidValueTag.tagx");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspRootVersionReqAttrTag.tagx", "tags/JspRootVersionReqAttrTag.tagx");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionReqAttrTest2.jsp")), "JspRootVersionReqAttrTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionReqAttrTest1.jspx")), "JspRootVersionReqAttrTest1.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionAttrInvalidValueTest2.jsp")), "JspRootVersionAttrInvalidValueTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionAttrInvalidValueTest1.jspx")), "JspRootVersionAttrInvalidValueTest1.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionAttrAllowableValuesTest2.jspx")), "JspRootVersionAttrAllowableValuesTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootVersionAttrAllowableValuesTest1.jspx")), "JspRootVersionAttrAllowableValuesTest1.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootUsageContextTest4.jsp")), "JspRootUsageContextTest4.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootUsageContextTest3.jsp")), "JspRootUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootUsageContextTest2.jspx")), "JspRootUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootUsageContextTest1.jsp")), "JspRootUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootJspBodyTest2.jsp")), "JspRootJspBodyTest2.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspRootJspBodyTest1.jspx")), "JspRootJspBodyTest1.jspx");
+
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspRootUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that a translation time error is raised when
+   * jsp:root is used in JSP or Tag files in standard syntax but not in JSP
+   * Documents, or Tag files in XML syntax.
+   */
+  @Test
+  public void jspRootUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootUsageContextTest4.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspRootVersionAttrAllowableValuesTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the container accepts both "1.2" and "2.0" as
+   * allowable values for the version attribute of the jsp:root element.
+   */
+  @Test
+  public void jspRootVersionAttrAllowableValuesTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionAttrAllowableValuesTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionAttrAllowableValuesTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+  }
+
+  /*
+   * @testName: jspRootVersionAttrInvalidValueTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the container generates a translation-time error
+   * when the version attribute of jsp:root is provided a value other than "1.2"
+   * or "2.0"
+   */
+  @Test
+  public void jspRootVersionAttrInvalidValueTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionAttrInvalidValueTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionAttrInvalidValueTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspRootVersionReqAttrTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that the version attribute of jsp:root is indeed
+   * required by looking for a translation error from the container when the
+   * attribute is not present.
+   */
+  @Test
+  public void jspRootVersionReqAttrTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionReqAttrTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootVersionReqAttrTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR);
+    invoke();
+  }
+
+  /*
+   * @testName: jspRootJspBodyTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate that jsp:body can be used to specify the body of
+   * the jsp:root action.
+   */
+  @Test
+  public void jspRootJspBodyTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootJspBodyTest1.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_root_web/JspRootJspBodyTest2.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "jsp:root");
+    invoke();
+  }
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClient.java
deleted file mode 100644
index b2351e12b4..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClient.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-/*
- * @(#)URLClient.java	1.1 12/09/02
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.scriptlet;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setContextRoot("/jsp_core_act_decl_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: jspScriptletUsageContextTest
-   * 
-   * @assertion_ids: PENDING
-   * 
-   * @test_Strategy: Validate the container's acceptance of the use of
-   * jsp:scriptlet in standard JSP pages, JSP documents and Tag files in both
-   * standard and XML syntax.
-   */
-  public void jspScriptletUsageContextTest() throws Exception {
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest1.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest2.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest3.jsp HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
-    invoke();
-    TEST_PROPS.setProperty(REQUEST,
-        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest4.jspx HTTP/1.1");
-    TEST_PROPS.setProperty(SEARCH_STRING,
-        "Test PASSED");
-    invoke();
-  }
-
-}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClientIT.java
new file mode 100644
index 0000000000..2193bcf793
--- /dev/null
+++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClientIT.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/*
+ * $Id$
+ */
+
+/*
+ * @(#)URLClient.java	1.1 12/09/02
+ */
+
+package com.sun.ts.tests.jsp.spec.core_syntax.actions.scriptlet;
+
+
+import java.io.IOException;
+import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit5.ArquillianExtension;
+import org.jboss.shrinkwrap.api.Filters;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.jboss.shrinkwrap.api.asset.UrlAsset;
+
+
+@ExtendWith(ArquillianExtension.class)
+public class URLClientIT extends AbstractUrlClient {
+
+
+  public URLClientIT() throws Exception {
+
+
+    setContextRoot("/jsp_core_act_decl_web");
+
+  }
+
+  @Deployment(testable = false)
+  public static WebArchive createDeployment() throws IOException {
+    
+    String packagePath = URLClientIT.class.getPackageName().replace(".", "/");
+    WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_scr_web.war");
+    archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_scr_web.xml"));
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspScriptletTag1.tag", "tags/JspScriptletTag1.tag");    
+    archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspScriptletTag2.tagx", "tags/JspScriptletTag2.tagx");    
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspScriptletUsageContextTest1.jsp")), "JspScriptletUsageContextTest1.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspScriptletUsageContextTest2.jspx")), "JspScriptletUsageContextTest2.jspx");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspScriptletUsageContextTest3.jsp")), "JspScriptletUsageContextTest3.jsp");
+    archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspScriptletUsageContextTest4.jspx")), "JspScriptletUsageContextTest4.jspx");
+    return archive;
+
+  }
+
+  /*
+   * @class.setup_props: webServerHost; webServerPort; ts_home;
+   *
+   */
+
+  /* Run test */
+
+  /*
+   * @testName: jspScriptletUsageContextTest
+   * 
+   * @assertion_ids: PENDING
+   * 
+   * @test_Strategy: Validate the container's acceptance of the use of
+   * jsp:scriptlet in standard JSP pages, JSP documents and Tag files in both
+   * standard and XML syntax.
+   */
+  @Test
+  public void jspScriptletUsageContextTest() throws Exception {
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest1.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest2.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest3.jsp HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED");
+    invoke();
+    TEST_PROPS.setProperty(REQUEST,
+        "GET /jsp_core_act_scr_web/JspScriptletUsageContextTest4.jspx HTTP/1.1");
+    TEST_PROPS.setProperty(SEARCH_STRING,
+        "Test PASSED");
+    invoke();
+  }
+
+}
diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java
deleted file mode 100644
index f4079326b8..0000000000
--- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * $Id$
- */
-
-package com.sun.ts.tests.jsp.spec.core_syntax.actions.setproperty;
-
-import java.io.PrintWriter;
-
-import com.sun.javatest.Status;
-import com.sun.ts.tests.jsp.common.client.AbstractUrlClient;
-
-public class URLClient extends AbstractUrlClient {
-
-  /**
-   * Entry point for different-VM execution. It should delegate to method
-   * run(String[], PrintWriter, PrintWriter), and this method should not contain
-   * any test configuration.
-   */
-  public static void main(String[] args) {
-    URLClient theTests = new URLClient();
-    Status s = theTests.run(args, new PrintWriter(System.out),
-        new PrintWriter(System.err));
-    s.exit();
-  }
-
-  /**
-   * Entry point for same-VM execution. In different-VM execution, the main
-   * method delegates to this method.
-   */
-  public Status run(String args[], PrintWriter out, PrintWriter err) {
-
-    setGeneralURI("/jsp/spec/core_syntax/actions/setproperty");
-    setContextRoot("/jsp_coresyntx_act_setproperty_web");
-
-    return super.run(args, out, err);
-  }
-
-  /*
-   * @class.setup_props: webServerHost; webServerPort; ts_home;
-   *
-   */
-
-  /* Run test */
-
-  /*
-   * @testName: positiveSetBooleanObjTest
-   * 
-   * @assertion_ids: JSP:SPEC:87; JSP:SPEC:162.10
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * Boolean property of the bean using a String constant. PENDING Merge with
-   * prim test
-   */
-
-  public void positiveSetBooleanObjTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetBooleanObj");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetBooleanPrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:87
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * boolean property of the bean using a String constant.
-   *
-   */
-
-  public void positiveSetBooleanPrimTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetBooleanPrim");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetByteObjTest
-   * 
-   * @assertion_ids: JSP:SPEC:88;JSP:SPEC:162.10
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * Byte property of the bean using a String constant. PENDING Merge with prim
-   * test
-   */
-
-  public void positiveSetByteObjTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetByteObj");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetBytePrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:88
-   * 
-   * @test_Strategy: Set a byte property of the bean using a String constant.
-   *
-   */
-
-  public void positiveSetBytePrimTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetBytePrim");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetCharObjTest
-   * 
-   * @assertion_ids: JSP:SPEC:89;JSP:SPEC:162.10
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * Character property of the bean using a String constant. PENDING Merge with
-   * prim test
-   */
-
-  public void positiveSetCharObjTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetCharObj");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetCharPrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:89
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * char property of the bean using a String constant.
-   *
-   */
-
-  public void positiveSetCharPrimTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetCharPrim");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetDoubleObjTest
-   * 
-   * @assertion_ids: JSP:SPEC:90; JSP:SPEC:162.10
-   * 
-   * @test_Strategy: and set a Double property of the bean using a String
-   * constant. PENDING Merge with prim test
-   */
-
-  public void positiveSetDoubleObjTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetDoubleObj");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetDoublePrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:90
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * double property of the bean using a String constant.
-   *
-   */
-
-  public void positiveSetDoublePrimTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetDoublePrim");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetFloatObjTest
-   * 
-   * @assertion_ids: JSP:SPEC:92;JSP:SPEC:162.10
-   * 
-   * @test_Strategy: and set a Float property of the bean using a String
-   * constant. PENDING Merge with prim test
-   */
-
-  public void positiveSetFloatObjTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetFloatObj");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetFloatPrimTest
-   * 
-   * @assertion_ids: JSP:SPEC:92
-   * 
-   * @test_Strategy: Using jsp:useBean, create a new bean instance and set a
-   * float property of the bean using a String constant.
-   *
-   */
-
-  public void positiveSetFloatPrimTest() throws Exception {
-    TEST_PROPS.setProperty(STANDARD, "positiveSetFloatPrim");
-    invoke();
-  }
-
-  /*
-   * @testName: positiveSetIndexedPropTest
-   * 
-   * @assertion_ids: JSP:SPEC:162.12
-   * 
-   * @test_Strategy: Create a bean using useBean tag, use setProperty and set
-   * properties using the following array types: 
  • byte
  • char
  • - * short
  • int
  • float
  • long
  • double
  • boolean
  • Byte
  • - * Character
  • Short
  • Integer
  • Float
  • Long
  • Double
  • - * Boolean
      Access each of the properties via scripting, iterate through - * the array, and display the values. - */ - - public void positiveSetIndexedPropTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetIndexedProp"); - invoke(); - } - - /* - * @testName: positiveSetIntObjTest - * - * @assertion_ids: JSP:SPEC:91;JSP:SPEC:162.10 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance and set an - * Integer property of the bean using a String constant. PENDING Merge with - * prim test - */ - - public void positiveSetIntObjTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetIntObj"); - invoke(); - } - - /* - * @testName: positiveSetIntPrimTest - * - * @assertion_ids: JSP:SPEC:91 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance and set an - * int property of the bean using a String constant. - */ - - public void positiveSetIntPrimTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetIntPrim"); - invoke(); - } - - /* - * @testName: positiveSetLongObjTest - * - * @assertion_ids: JSP:SPEC:93;JSP:SPEC:162.10 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance and set an - * Long property of the bean using a String constant. - */ - - public void positiveSetLongObjTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetLongObj"); - invoke(); - } - - /* - * @testName: positiveSetLongPrimTest - * - * @assertion_ids: JSP:SPEC:93 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance and set a - * long property of the bean using a String constant. PENDING Merge with prim - * test - */ - public void positiveSetLongPrimTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetLongPrim"); - invoke(); - } - - /* - * @testName: positiveSetPropAllTest - * - * @assertion_ids: JSP:SPEC:162.2.1 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance and set the - * property attribute to '*'. The following properties should be set by the - * tag: name, num, str. - */ - - public void positiveSetPropAllTest() throws Exception { - String testName = "positiveSetPropAll"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); - TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" - + testName + ".jsp?name=Frodo&num=116165&str=Validated HTTP/1.0"); - - invoke(); - } - - /* - * @testName: positiveSetPropNoParamTest - * - * @assertion_ids: JSP:SPEC:162.4 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance. - * jsp:setProperty only specifies the name and property properties. The - * container should set the value of the Bean's property to the value of the - * request parameter that has the same name as specified by the property - * attribute. - */ - - public void positiveSetPropNoParamTest() throws Exception { - String testName = "positiveSetPropNoParam"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); - TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" - + testName + ".jsp?str=SAPPOTA HTTP/1.0"); - - invoke(); - } - - /* - * @testName: positiveSetPropParamTest - * - * @assertion_ids: JSP:SPEC:162.3 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance. - * jsp:setProperty only specifies the param property. The container should set - * the value of the Bean's property to the value of the request parameter that - * has the same name as specified by the param attribute. - */ - - public void positiveSetPropParamTest() throws Exception { - String testName = "positiveSetPropParam"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); - TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" - + testName + ".jsp?Name=MANGO HTTP/1.0"); - - invoke(); - } - - /* - * @testName: positiveSetPropReqTimeSingleQuotesTest - * - * @assertion_ids: JSP:SPEC:162.7.1 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the - * value of a bean property using a request-time attribute expression - * delimited by single quotes. PENDING Merge with - * positiveSetPropReqTimeDoubleQuotesTest - */ - - public void positiveSetPropReqTimeSingleQuotesTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetPropReqTimeSingleQuotes"); - invoke(); - } - - /* - * @testName: positiveSetPropReqTimeDoubleQuotesTest - * - * @assertion_ids: JSP:SPEC:162.7.1 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the - * value of a bean property using a request-time attribute expression - * delimited by double quotes. - * - */ - - public void positiveSetPropReqTimeDoubleQuotesTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetPropReqTimeDoubleQuotes"); - invoke(); - } - - /* - * @testName: positiveSetPropValueTest - * - * @assertion_ids: JSP:SPEC:162.1; JSP:SPEC:162.2; JSP:SPEC:162.7 - * - * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the - * value of a bean property using the value attribute. - */ - - public void positiveSetPropValueTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveSetPropValue"); - invoke(); - } - - /* - * @testName: positiveBeanPropertyEditorTest - * - * @assertion_ids: JSP:SPEC:86 - * - * @test_Strategy: Create a bean using useBean tag, use setProperty and and - * verfiy results using getProperty. - */ - - public void positiveBeanPropertyEditorTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveBeanPropertyEditor"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClientIT.java new file mode 100644 index 0000000000..6874fab1a1 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClientIT.java @@ -0,0 +1,508 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.actions.setproperty; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/actions/setproperty"); + setContextRoot("/jsp_coresyntx_act_setproperty_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_setproperty_web.war"); + // archive.addClasses(SetpropBean.class, MiscBean.class); + archive.addPackages(true, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_setproperty_web.xml")); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropValue.jsp")), "positiveSetPropValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropReqTimeSingleQuotes.jsp")), "positiveSetPropReqTimeSingleQuotes.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropReqTimeDoubleQuotes.jsp")), "positiveSetPropReqTimeDoubleQuotes.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropParam.jsp")), "positiveSetPropParam.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropNoParam.jsp")), "positiveSetPropNoParam.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetPropAll.jsp")), "positiveSetPropAll.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetLongPrim.jsp")), "positiveSetLongPrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetLongObj.jsp")), "positiveSetLongObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetIntPrim.jsp")), "positiveSetIntPrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetIntObj.jsp")), "positiveSetIntObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetIndexedProp.jsp")), "positiveSetIndexedProp.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetFloatPrim.jsp")), "positiveSetFloatPrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetFloatObj.jsp")), "positiveSetFloatObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetDoublePrim.jsp")), "positiveSetDoublePrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetDoubleObj.jsp")), "positiveSetDoubleObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetCharPrim.jsp")), "positiveSetCharPrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetCharObj.jsp")), "positiveSetCharObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetBytePrim.jsp")), "positiveSetBytePrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetByteObj.jsp")), "positiveSetByteObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetBooleanPrim.jsp")), "positiveSetBooleanPrim.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSetBooleanObj.jsp")), "positiveSetBooleanObj.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBeanPropertyEditor.jsp")), "positiveBeanPropertyEditor.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/Errorpage.jsp")), "Errorpage.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveSetBooleanObjTest + * + * @assertion_ids: JSP:SPEC:87; JSP:SPEC:162.10 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * Boolean property of the bean using a String constant. PENDING Merge with + * prim test + */ + + @Test + public void positiveSetBooleanObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetBooleanObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetBooleanObj"); + invoke(); + } + + /* + * @testName: positiveSetBooleanPrimTest + * + * @assertion_ids: JSP:SPEC:87 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * boolean property of the bean using a String constant. + * + */ + + @Test + public void positiveSetBooleanPrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetBooleanPrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetBooleanPrim"); + invoke(); + } + + /* + * @testName: positiveSetByteObjTest + * + * @assertion_ids: JSP:SPEC:88;JSP:SPEC:162.10 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * Byte property of the bean using a String constant. PENDING Merge with prim + * test + */ + + @Test + public void positiveSetByteObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetByteObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetByteObj"); + invoke(); + } + + /* + * @testName: positiveSetBytePrimTest + * + * @assertion_ids: JSP:SPEC:88 + * + * @test_Strategy: Set a byte property of the bean using a String constant. + * + */ + + @Test + public void positiveSetBytePrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetBytePrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetBytePrim"); + invoke(); + } + + /* + * @testName: positiveSetCharObjTest + * + * @assertion_ids: JSP:SPEC:89;JSP:SPEC:162.10 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * Character property of the bean using a String constant. PENDING Merge with + * prim test + */ + + @Test + public void positiveSetCharObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetCharObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetCharObj"); + invoke(); + } + + /* + * @testName: positiveSetCharPrimTest + * + * @assertion_ids: JSP:SPEC:89 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * char property of the bean using a String constant. + * + */ + + @Test + public void positiveSetCharPrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetCharPrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetCharPrim"); + invoke(); + } + + /* + * @testName: positiveSetDoubleObjTest + * + * @assertion_ids: JSP:SPEC:90; JSP:SPEC:162.10 + * + * @test_Strategy: and set a Double property of the bean using a String + * constant. PENDING Merge with prim test + */ + + @Test + public void positiveSetDoubleObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetDoubleObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetDoubleObj"); + invoke(); + } + + /* + * @testName: positiveSetDoublePrimTest + * + * @assertion_ids: JSP:SPEC:90 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * double property of the bean using a String constant. + * + */ + + @Test + public void positiveSetDoublePrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetDoublePrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetDoublePrim"); + invoke(); + } + + /* + * @testName: positiveSetFloatObjTest + * + * @assertion_ids: JSP:SPEC:92;JSP:SPEC:162.10 + * + * @test_Strategy: and set a Float property of the bean using a String + * constant. PENDING Merge with prim test + */ + + @Test + public void positiveSetFloatObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetFloatObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetFloatObj"); + invoke(); + } + + /* + * @testName: positiveSetFloatPrimTest + * + * @assertion_ids: JSP:SPEC:92 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * float property of the bean using a String constant. + * + */ + + @Test + public void positiveSetFloatPrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetFloatPrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetFloatPrim"); + invoke(); + } + + /* + * @testName: positiveSetIndexedPropTest + * + * @assertion_ids: JSP:SPEC:162.12 + * + * @test_Strategy: Create a bean using useBean tag, use setProperty and set + * properties using the following array types:
      • byte
      • char
      • + * short
      • int
      • float
      • long
      • double
      • boolean
      • Byte
      • + * Character
      • Short
      • Integer
      • Float
      • Long
      • Double
      • + * Boolean
          Access each of the properties via scripting, iterate through + * the array, and display the values. + */ + + @Test + public void positiveSetIndexedPropTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetIndexedProp.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetIndexedProp"); + invoke(); + } + + /* + * @testName: positiveSetIntObjTest + * + * @assertion_ids: JSP:SPEC:91;JSP:SPEC:162.10 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set an + * Integer property of the bean using a String constant. PENDING Merge with + * prim test + */ + + @Test + public void positiveSetIntObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetIntObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetIntObj"); + invoke(); + } + + /* + * @testName: positiveSetIntPrimTest + * + * @assertion_ids: JSP:SPEC:91 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set an + * int property of the bean using a String constant. + */ + + @Test + public void positiveSetIntPrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetIntPrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetIntPrim"); + invoke(); + } + + /* + * @testName: positiveSetLongObjTest + * + * @assertion_ids: JSP:SPEC:93;JSP:SPEC:162.10 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set an + * Long property of the bean using a String constant. + */ + + @Test + public void positiveSetLongObjTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetLongObj.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetLongObj"); + invoke(); + } + + /* + * @testName: positiveSetLongPrimTest + * + * @assertion_ids: JSP:SPEC:93 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set a + * long property of the bean using a String constant. PENDING Merge with prim + * test + */ + @Test + public void positiveSetLongPrimTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetLongPrim.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetLongPrim"); + invoke(); + } + + /* + * @testName: positiveSetPropAllTest + * + * @assertion_ids: JSP:SPEC:162.2.1 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance and set the + * property attribute to '*'. The following properties should be set by the + * tag: name, num, str. + */ + + @Test + public void positiveSetPropAllTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropAll.gf"); + setGoldenFileStream(gfStream); + String testName = "positiveSetPropAll"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); + TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" + + testName + ".jsp?name=Frodo&num=116165&str=Validated HTTP/1.0"); + + invoke(); + } + + /* + * @testName: positiveSetPropNoParamTest + * + * @assertion_ids: JSP:SPEC:162.4 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance. + * jsp:setProperty only specifies the name and property properties. The + * container should set the value of the Bean's property to the value of the + * request parameter that has the same name as specified by the property + * attribute. + */ + + @Test + public void positiveSetPropNoParamTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropNoParam.gf"); + setGoldenFileStream(gfStream); + String testName = "positiveSetPropNoParam"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); + TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" + + testName + ".jsp?str=SAPPOTA HTTP/1.0"); + + invoke(); + } + + /* + * @testName: positiveSetPropParamTest + * + * @assertion_ids: JSP:SPEC:162.3 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance. + * jsp:setProperty only specifies the param property. The container should set + * the value of the Bean's property to the value of the request parameter that + * has the same name as specified by the param attribute. + */ + + @Test + public void positiveSetPropParamTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropParam.gf"); + setGoldenFileStream(gfStream); + String testName = "positiveSetPropParam"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); + TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_act_setproperty_web/" + + testName + ".jsp?Name=MANGO HTTP/1.0"); + + invoke(); + } + + /* + * @testName: positiveSetPropReqTimeSingleQuotesTest + * + * @assertion_ids: JSP:SPEC:162.7.1 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the + * value of a bean property using a request-time attribute expression + * delimited by single quotes. PENDING Merge with + * positiveSetPropReqTimeDoubleQuotesTest + */ + + @Test + public void positiveSetPropReqTimeSingleQuotesTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropReqTimeSingleQuotes.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetPropReqTimeSingleQuotes"); + invoke(); + } + + /* + * @testName: positiveSetPropReqTimeDoubleQuotesTest + * + * @assertion_ids: JSP:SPEC:162.7.1 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the + * value of a bean property using a request-time attribute expression + * delimited by double quotes. + * + */ + + @Test + public void positiveSetPropReqTimeDoubleQuotesTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropReqTimeDoubleQuotes.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetPropReqTimeDoubleQuotes"); + invoke(); + } + + /* + * @testName: positiveSetPropValueTest + * + * @assertion_ids: JSP:SPEC:162.1; JSP:SPEC:162.2; JSP:SPEC:162.7 + * + * @test_Strategy: Using jsp:useBean, create a new bean instance. Set the + * value of a bean property using the value attribute. + */ + + @Test + public void positiveSetPropValueTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveSetPropValue.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveSetPropValue"); + invoke(); + } + + /* + * @testName: positiveBeanPropertyEditorTest + * + * @assertion_ids: JSP:SPEC:86 + * + * @test_Strategy: Create a bean using useBean tag, use setProperty and and + * verfiy results using getProperty. + */ + + @Test + public void positiveBeanPropertyEditorTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveBeanPropertyEditor.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveBeanPropertyEditor"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClient.java deleted file mode 100644 index faf98bc65d..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClient.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.actions.text; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot("/jsp_core_act_text_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: jspTextUsageContextTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the behavior of jsp:text. - */ - public void jspTextUsageContextTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextUsageContextTest1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Template\nText|Template Text2"); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextUsageContextTest2.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Template\nText|Template Text2"); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextUsageContextTest3.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Template Text|Template\nText2"); - invoke(); - } - - /* - * @testName: jspTextBodyRestrictionsTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that neiter nested actions nor scripting elements - * are allowed in the body of jsp:text. - */ - public void jspTextBodyRestrictionsTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest3.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest4.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest5.jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClientIT.java new file mode 100644 index 0000000000..4563255350 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClientIT.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.actions.text; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setContextRoot("/jsp_core_act_text_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_act_text_web.war"); + archive.addClasses(JspTestUtil.class); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_act_text_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspTextTag.tag", "tags/JspTextTag.tag"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextBodyRestrictionsTest1.jsp")), "JspTextBodyRestrictionsTest1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextBodyRestrictionsTest2.jsp")), "JspTextBodyRestrictionsTest2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextBodyRestrictionsTest3.jsp")), "JspTextBodyRestrictionsTest3.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextBodyRestrictionsTest4.jsp")), "JspTextBodyRestrictionsTest4.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextBodyRestrictionsTest5.jspx")), "JspTextBodyRestrictionsTest5.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextUsageContextTest1.jsp")), "JspTextUsageContextTest1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextUsageContextTest2.jspx")), "JspTextUsageContextTest2.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTextUsageContextTest3.jsp")), "JspTextUsageContextTest3.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: jspTextUsageContextTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the behavior of jsp:text. + */ + @Test + public void jspTextUsageContextTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextUsageContextTest1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Template\nText|Template Text2"); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextUsageContextTest2.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Template\nText|Template Text2"); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextUsageContextTest3.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Template Text|Template\nText2"); + invoke(); + } + + /* + * @testName: jspTextBodyRestrictionsTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that neiter nested actions nor scripting elements + * are allowed in the body of jsp:text. + */ + @Test + public void jspTextBodyRestrictionsTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest3.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest4.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_act_text_web/JspTextBodyRestrictionsTest5.jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java deleted file mode 100644 index b03abbc6a6..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java +++ /dev/null @@ -1,363 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.actions.usebean; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/actions/usebean"); - setContextRoot("/jsp_coresyntx_act_usebean_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveBeanNameTypeTest - * - * @assertion_ids: JSP:SPEC:155.1;JSP:SPEC:156;JSP:SPEC:162.2;JSP:SPEC:168.8 - * - * @test_Strategy: Use jsp:useBean to create a bean where the beanName and - * type attributes have the same values. Verify that the bean can be used by - * invoking a method on the bean inside a scriplet. - */ - - public void positiveBeanNameTypeTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveBeanNameType"); - invoke(); - } - - /* - * @testName: positiveBeanNameTypeCastTest - * - * @assertion_ids: JSP:SPEC:162.1 - * - * @test_Strategy: Use jsp:useBean to create a bean where the beanName - * specifies one particular type, and type specifies a superclass of the value - * specified by beanName. Verify that the bean can be used by invoking a - * method on the bean inside a scriplet. - */ - - public void positiveBeanNameTypeCastTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveBeanNameTypeCast"); - invoke(); - } - - /* - * @testName: positiveBodyNewTest - * - * @assertion_ids: JSP:SPEC:161.7.1 - * - * @test_Strategy: Using jsp:useBean, create a new instance. Within the body - * of the jsp:useBean action, use jsp:setProperty to initialize a Bean - * property. After closing the jsp:useBean action, use jsp:getProperty to - * validate that the property was indeed set. - */ - - public void positiveBodyNewTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveBodyNew"); - invoke(); - } - - /* - * @testName: positivePageScopedObjectTest - * - * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.2;JSP:SPEC:8 - * - * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean - * with the scope set to "page". After the object has been created, forward - * the request to a second JSP page to validate that an object associated with - * the same ID used in the first JSP page is not available in the current - * PageContext. - */ - - public void positivePageScopedObjectTest() throws Exception { - String testName = "positivePageScopedObject"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); - invoke(); - } - - /* - * @testName: positiveRequestScopedObjectTest - * - * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.3;JSP:SPEC:9 - * - * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean - * with the scope set to "request". After the object has been created, forward - * the request to a second JSP page to validate that an object associated with - * the same ID used in the first JSP page is available in the current - * HttpServletRequest. - */ - - public void positiveRequestScopedObjectTest() throws Exception { - String testName = "positiveRequestScopedObject"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); - invoke(); - } - - /* - * @testName: positiveSessionScopedObjectTest - * - * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.4;JSP:SPEC:10 - * - * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean - * with the scope set to "session". After the object has been created, forward - * the request to a second JSP page to validate that an object associated with - * the same ID used in the first JSP page is available in the current - * HttpSession. - */ - - public void positiveSessionScopedObjectTest() throws Exception { - String testName = "positiveSessionScopedObject"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); - invoke(); - } - - /* - * @testName: positiveApplicationScopedObjectTest - * - * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.5;JSP:SPEC:11 - * - * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean - * with the scope set to "application". After the object has been created, - * forward the request to a second JSP page to validate that an object - * associated with the same ID used in the first JSP page is available in the - * current ServletContext. - */ - - public void positiveApplicationScopedObjectTest() throws Exception { - String testName = "positiveApplicationScopedObject"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); - invoke(); - } - - /* - * @testName: positiveNoBodyTest - * - * @assertion_ids: JSP:SPEC:161.5 - * - * @test_Strategy: Explicit test to ensure that the jsp:useBean action can be - * used without a body. - */ - - public void positiveNoBodyTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveNoBody"); - invoke(); - } - - /* - * @testName: positiveClassTypeCastTest - * - * @assertion_ids: JSP:SPEC:161.8 - * - * @test_Strategy: Create a new bean instance with a particular class set for - * the class attribute, and a parent class for the type attribute. Validate - * That the instance is cast without an Exception. - */ - - public void positiveClassTypeCastTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveClassTypeCast"); - invoke(); - } - - /* - * @testName: negativeDuplicateIDFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:157 - * - * @test_Strategy: Create two beans with the same id attribute. Validate that - * a Fatal Translation error occurs. - */ - - public void negativeDuplicateIDFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateIDFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeSessionScopeFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:10;JSP:SPEC:159 - * - * @test_Strategy: Use the page directive to set the session attribute to - * false and then declare a bean with session scope. Validate that a Fatal - * Translation error occurs. - */ - - public void negativeSessionScopeFatalTranslationErrorTest() throws Exception { - String testName = "negativeSessionScopeFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeClassCastExceptionTest - * - * @assertion_ids: JSP:SPEC:161.4 - * - * @test_Strategy: In one JSP page, declare a bean of a particular type with - * session scope. Once declared, this page will forward to a second JSP page - * which will try to reference the previously declared bean in the session - * scope, but will define the type attribute with an incompatible type. - */ - - public void negativeClassCastExceptionTest() throws Exception { - String testName = "negativeClassCastException"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + "Fwd.jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: negativeTypeAssignableTest - * - * @assertion_ids: JSP:SPEC:152 - * - * @test_Strategy: both type and class attributes are present and class is not - * assignable to type - */ - - public void negativeTypeAssignableTest() throws Exception { - String testName = "negativeTypeAssignable"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeInvalidScopeTest - * - * @assertion_ids: JSP:SPEC:158.6 - * - * @test_Strategy: both type and class attributes are present and class is not - * assignable to type - */ - - public void negativeInvalidScopeTest() throws Exception { - String testName = "negativeInvalidScope"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultScopeTest - * - * @assertion_ids: JSP:SPEC:158.1 - * - * @test_Strategy: check if the default scope is page - */ - - public void defaultScopeTest() throws Exception { - String testName = "defaultScope"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: requestTimeBeanNameTest - * - * @assertion_ids: JSP:SPEC:154; JSP:SPEC:155 - * - * @test_Strategy: use a request-time attribute expression for beanName - */ - - public void requestTimeBeanNameTest() throws Exception { - String testName = "requestTimeBeanName"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: serBeanNameTest - * - * @assertion_ids: JSP:SPEC:155; JSP:SPEC:152 - * - * @test_Strategy: use beanName of the form a.b.c.ser - */ - - public void serBeanNameTest() throws Exception { - String testName = "serBeanName"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "1062014879125|Test PASSED"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClientIT.java new file mode 100644 index 0000000000..0a0d100bbe --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClientIT.java @@ -0,0 +1,426 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.actions.usebean; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/actions/usebean"); + setContextRoot("/jsp_coresyntx_act_usebean_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_usebean_web.war"); + archive.addClasses(Counter.class, NewCounter.class, String_IntBean.class); + + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_usebean_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/date.ser")), "WEB-INF/classes/date.ser"); + + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/serBeanName.jsp")), "serBeanName.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ScopeResult.jsp")), "ScopeResult.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/requestTimeBeanName.jsp")), "requestTimeBeanName.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSessionScopedObject.jsp")), "positiveSessionScopedObject.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveRequestScopedObject.jsp")), "positiveRequestScopedObject.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positivePageScopedObject.jsp")), "positivePageScopedObject.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveNoBody.jsp")), "positiveNoBody.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveClassTypeCast.jsp")), "positiveClassTypeCast.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBodyNew.jsp")), "positiveBodyNew.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBeanNameTypeCast.jsp")), "positiveBeanNameTypeCast.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBeanNameType.jsp")), "positiveBeanNameType.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveApplicationScopedObject.jsp")), "positiveApplicationScopedObject.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeTypeAssignable.jsp")), "negativeTypeAssignable.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeSessionScopeFatalTranslationError.jsp")), "negativeSessionScopeFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeInvalidScope.jsp")), "negativeInvalidScope.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIDFatalTranslationError.jsp")), "negativeDuplicateIDFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeClassCastExceptionFwd.jsp")), "negativeClassCastExceptionFwd.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeClassCastException.jsp")), "negativeClassCastException.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/errorPage.jsp")), "errorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultScope.jsp")), "defaultScope.jsp"); + + return archive; + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveBeanNameTypeTest + * + * @assertion_ids: JSP:SPEC:155.1;JSP:SPEC:156;JSP:SPEC:162.2;JSP:SPEC:168.8 + * + * @test_Strategy: Use jsp:useBean to create a bean where the beanName and + * type attributes have the same values. Verify that the bean can be used by + * invoking a method on the bean inside a scriplet. + */ + + @Test + public void positiveBeanNameTypeTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveBeanNameType.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveBeanNameType"); + invoke(); + } + + /* + * @testName: positiveBeanNameTypeCastTest + * + * @assertion_ids: JSP:SPEC:162.1 + * + * @test_Strategy: Use jsp:useBean to create a bean where the beanName + * specifies one particular type, and type specifies a superclass of the value + * specified by beanName. Verify that the bean can be used by invoking a + * method on the bean inside a scriplet. + */ + + @Test + public void positiveBeanNameTypeCastTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveBeanNameTypeCast.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveBeanNameTypeCast"); + invoke(); + } + + /* + * @testName: positiveBodyNewTest + * + * @assertion_ids: JSP:SPEC:161.7.1 + * + * @test_Strategy: Using jsp:useBean, create a new instance. Within the body + * of the jsp:useBean action, use jsp:setProperty to initialize a Bean + * property. After closing the jsp:useBean action, use jsp:getProperty to + * validate that the property was indeed set. + */ + + @Test + public void positiveBodyNewTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveBodyNew.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveBodyNew"); + invoke(); + } + + /* + * @testName: positivePageScopedObjectTest + * + * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.2;JSP:SPEC:8 + * + * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean + * with the scope set to "page". After the object has been created, forward + * the request to a second JSP page to validate that an object associated with + * the same ID used in the first JSP page is not available in the current + * PageContext. + */ + + @Test + public void positivePageScopedObjectTest() throws Exception { + String testName = "positivePageScopedObject"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); + invoke(); + } + + /* + * @testName: positiveRequestScopedObjectTest + * + * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.3;JSP:SPEC:9 + * + * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean + * with the scope set to "request". After the object has been created, forward + * the request to a second JSP page to validate that an object associated with + * the same ID used in the first JSP page is available in the current + * HttpServletRequest. + */ + + @Test + public void positiveRequestScopedObjectTest() throws Exception { + String testName = "positiveRequestScopedObject"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); + invoke(); + } + + /* + * @testName: positiveSessionScopedObjectTest + * + * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.4;JSP:SPEC:10 + * + * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean + * with the scope set to "session". After the object has been created, forward + * the request to a second JSP page to validate that an object associated with + * the same ID used in the first JSP page is available in the current + * HttpSession. + */ + + @Test + public void positiveSessionScopedObjectTest() throws Exception { + String testName = "positiveSessionScopedObject"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); + invoke(); + } + + /* + * @testName: positiveApplicationScopedObjectTest + * + * @assertion_ids: JSP:SPEC:158; JSP:SPEC:158.5;JSP:SPEC:11 + * + * @test_Strategy: In one JSP page, create a new bean object using jsp:useBean + * with the scope set to "application". After the object has been created, + * forward the request to a second JSP page to validate that an object + * associated with the same ID used in the first JSP page is available in the + * current ServletContext. + */ + + @Test + public void positiveApplicationScopedObjectTest() throws Exception { + String testName = "positiveApplicationScopedObject"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "status:Test Status=PASSED"); + invoke(); + } + + /* + * @testName: positiveNoBodyTest + * + * @assertion_ids: JSP:SPEC:161.5 + * + * @test_Strategy: Explicit test to ensure that the jsp:useBean action can be + * used without a body. + */ + + @Test + public void positiveNoBodyTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveNoBody.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveNoBody"); + invoke(); + } + + /* + * @testName: positiveClassTypeCastTest + * + * @assertion_ids: JSP:SPEC:161.8 + * + * @test_Strategy: Create a new bean instance with a particular class set for + * the class attribute, and a parent class for the type attribute. Validate + * That the instance is cast without an Exception. + */ + + @Test + public void positiveClassTypeCastTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveClassTypeCast.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveClassTypeCast"); + invoke(); + } + + /* + * @testName: negativeDuplicateIDFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:157 + * + * @test_Strategy: Create two beans with the same id attribute. Validate that + * a Fatal Translation error occurs. + */ + + @Test + public void negativeDuplicateIDFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateIDFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeSessionScopeFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:10;JSP:SPEC:159 + * + * @test_Strategy: Use the page directive to set the session attribute to + * false and then declare a bean with session scope. Validate that a Fatal + * Translation error occurs. + */ + + @Test + public void negativeSessionScopeFatalTranslationErrorTest() throws Exception { + String testName = "negativeSessionScopeFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeClassCastExceptionTest + * + * @assertion_ids: JSP:SPEC:161.4 + * + * @test_Strategy: In one JSP page, declare a bean of a particular type with + * session scope. Once declared, this page will forward to a second JSP page + * which will try to reference the previously declared bean in the session + * scope, but will define the type attribute with an incompatible type. + */ + + @Test + public void negativeClassCastExceptionTest() throws Exception { + String testName = "negativeClassCastException"; + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/negativeClassCastException.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + "Fwd.jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: negativeTypeAssignableTest + * + * @assertion_ids: JSP:SPEC:152 + * + * @test_Strategy: both type and class attributes are present and class is not + * assignable to type + */ + + @Test + public void negativeTypeAssignableTest() throws Exception { + String testName = "negativeTypeAssignable"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeInvalidScopeTest + * + * @assertion_ids: JSP:SPEC:158.6 + * + * @test_Strategy: both type and class attributes are present and class is not + * assignable to type + */ + + @Test + public void negativeInvalidScopeTest() throws Exception { + String testName = "negativeInvalidScope"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultScopeTest + * + * @assertion_ids: JSP:SPEC:158.1 + * + * @test_Strategy: check if the default scope is page + */ + + @Test + public void defaultScopeTest() throws Exception { + String testName = "defaultScope"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: requestTimeBeanNameTest + * + * @assertion_ids: JSP:SPEC:154; JSP:SPEC:155 + * + * @test_Strategy: use a request-time attribute expression for beanName + */ + + @Test + public void requestTimeBeanNameTest() throws Exception { + String testName = "requestTimeBeanName"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: serBeanNameTest + * + * @assertion_ids: JSP:SPEC:155; JSP:SPEC:152 + * + * @test_Strategy: use beanName of the form a.b.c.ser + */ + + @Test + public void serBeanNameTest() throws Exception { + String testName = "serBeanName"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_act_usebean_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "1062014879125|Test PASSED"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java deleted file mode 100644 index a7275805ef..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * %W 06/02/11 - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.actions.usebean2; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_usebean2_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/actions/usebean2"); - setContextRoot("/jsp_coresyntx_act_usebean2_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* - * @testName: inScriptlessTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: when used in scriptless context, an EL variable is created. - */ - - public void inScriptlessTest() throws Exception { - String testName = "inScriptlessTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "[|]|invoke tag|[|]"); - // TEST_PROPS.setProperty(SEARCH_STRING, "invoke tag"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${list"); - invoke(); - } - - /* - * @testName: blockSCopeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: The scope of the scripting language variable is dependent - * upon the scoping rules and capabilities of the scripting language - */ - - public void blockSCopeTest() throws Exception { - String testName = "blockSCopeTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "one"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "two"); - invoke(); - } - - /* - * @testName: existingWithBodyTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: If the jsp:useBean action had a non-empty body it is - * ignored if this bean already exists. - */ - - public void existingWithBodyTest() throws Exception { - String testName = "existingWithBodyTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "one"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, - "This body should be ignored"); - invoke(); - } - - /* - * @testName: noClassNoBeanNameTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: If the object is not found in the specified scope and - * neither class nor beanName are given, a java.lang.InstantiationException - * shall occur. - */ - - public void noClassNoBeanNameTest() throws Exception { - String testName = "noClassNoBeanNameTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|InstantiationException"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: unrestrictedBodyTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: The variable is initialized and available within the scope - * of the body. Body content is not restricted. - */ - - public void unrestrictedBodyTest() throws Exception { - String testName = "unrestrictedBodyTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "add to list|added to list|In unrestrictedBodyTestInclude.jsp|one"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClientIT.java new file mode 100644 index 0000000000..150b035e6d --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClientIT.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * %W 06/02/11 + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.actions.usebean2; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_coresyntx_act_usebean2_web"; + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/actions/usebean2"); + setContextRoot("/jsp_coresyntx_act_usebean2_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_act_usebean2_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_act_usebean2_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/beanBody.tag", "tags/beanBody.tag"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/unrestrictedBodyTestInclude.jsp")), "unrestrictedBodyTestInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/unrestrictedBodyTest.jsp")), "unrestrictedBodyTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noClassNoBeanNameTest.jsp")), "noClassNoBeanNameTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/inScriptlessTest.jsp")), "inScriptlessTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/existingWithBodyTestInclude.jsp")), "existingWithBodyTestInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/existingWithBodyTest.jsp")), "existingWithBodyTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/blockSCopeTest.jsp")), "blockSCopeTest.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* + * @testName: inScriptlessTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: when used in scriptless context, an EL variable is created. + */ + + @Test + public void inScriptlessTest() throws Exception { + String testName = "inScriptlessTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "[|]|invoke tag|[|]"); + // TEST_PROPS.setProperty(SEARCH_STRING, "invoke tag"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${list"); + invoke(); + } + + /* + * @testName: blockSCopeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: The scope of the scripting language variable is dependent + * upon the scoping rules and capabilities of the scripting language + */ + + @Test + public void blockSCopeTest() throws Exception { + String testName = "blockSCopeTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "one"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "two"); + invoke(); + } + + /* + * @testName: existingWithBodyTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: If the jsp:useBean action had a non-empty body it is + * ignored if this bean already exists. + */ + + @Test + public void existingWithBodyTest() throws Exception { + String testName = "existingWithBodyTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "one"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, + "This body should be ignored"); + invoke(); + } + + /* + * @testName: noClassNoBeanNameTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: If the object is not found in the specified scope and + * neither class nor beanName are given, a java.lang.InstantiationException + * shall occur. + */ + + @Test + public void noClassNoBeanNameTest() throws Exception { + String testName = "noClassNoBeanNameTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|InstantiationException"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: unrestrictedBodyTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: The variable is initialized and available within the scope + * of the body. Body content is not restricted. + */ + + @Test + public void unrestrictedBodyTest() throws Exception { + String testName = "unrestrictedBodyTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "add to list|added to list|In unrestrictedBodyTestInclude.jsp|one"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClient.java deleted file mode 100644 index 8adb397f91..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClient.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.directives.include; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/directives/include"); - setContextRoot("/jsp_coresyntx_direct_include_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* - * @testName: positiveIncludeCtxRelativeDirectiveTest - * - * @assertion_ids: JSP:SPEC:69 - * - * @test_Strategy: Using an include directive, include content referenced by a - * context-relative path. PENDING Merge with test below - */ - - public void positiveIncludeCtxRelativeDirectiveTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelativeDirective"); - invoke(); - } - - /* - * @testName: positiveIncludePageRelativeDirectiveTest - * - * @assertion_ids: JSP:SPEC:69 - * - * @test_Strategy: Using an include directive, include content referenced by a - * page-relative path. - */ - - public void positiveIncludePageRelativeDirectiveTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelativeDirective"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClientIT.java new file mode 100644 index 0000000000..1dc67bb67f --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClientIT.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.directives.include; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/directives/include"); + setContextRoot("/jsp_coresyntx_direct_include_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_direct_include_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_direct_include_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/includecommon.jsp")), "includecommon.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludeCtxRelativeDirective.jsp")), "positiveIncludeCtxRelativeDirective.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludePageRelativeDirective.jsp")), "positiveIncludePageRelativeDirective.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* + * @testName: positiveIncludeCtxRelativeDirectiveTest + * + * @assertion_ids: JSP:SPEC:69 + * + * @test_Strategy: Using an include directive, include content referenced by a + * context-relative path. PENDING Merge with test below + */ + + @Test + public void positiveIncludeCtxRelativeDirectiveTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludeCtxRelativeDirective.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveIncludeCtxRelativeDirective"); + invoke(); + } + + /* + * @testName: positiveIncludePageRelativeDirectiveTest + * + * @assertion_ids: JSP:SPEC:69 + * + * @test_Strategy: Using an include directive, include content referenced by a + * page-relative path. + */ + + @Test + public void positiveIncludePageRelativeDirectiveTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveIncludePageRelativeDirective.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveIncludePageRelativeDirective"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java deleted file mode 100644 index da1bbd36c3..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java +++ /dev/null @@ -1,1288 +0,0 @@ -/* - * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. - * All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.directives.page; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/directives/page"); - setContextRoot("/jsp_coresyntx_directive_page_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveBuffAutoflushTest - * - * @assertion_ids: JSP:SPEC:44; JSP:SPEC:42 - * - * @test_Strategy: Leaving the defaults for autoFlush and buffer, validate - * that the buffer is automatically flushed once the buffer is full. - */ - - public void positiveBuffAutoflushTest() throws Exception { - String testName = "positiveBuffAutoflush"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(RESPONSE_MATCH, "5999"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: negativeBuffAutoflushTest - * - * @assertion_ids: JSP:SPEC:45 - * - * @test_Strategy: set autoFlash to false when buffer=none, resulting in a - * translation error. - */ - - public void negativeBuffAutoflushTest() throws Exception { - String testName = "negativeBuffAutoflush"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveBuffCreateTest - * - * @assertion_ids: JSP:SPEC:41 - * - * @test_Strategy: Validate that the page can configure a buffer and set the - * autoFlush attribute to false. Write data to the output stream and manually - * flush the content - */ - - public void positiveBuffCreateTest() throws Exception { - String testName = "positiveBuffCreate"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(RESPONSE_MATCH, "999"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: negativeDuplicateBufferFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two buffer attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateBufferFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateBufferFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateBufferFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with buffer attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateBufferFatalTranslationError2Test() throws Exception { - String testName = "negativeDuplicateBufferFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateAutoFlushFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two autoFlush attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateAutoFlushFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateAutoFlushFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateAutoFlushFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with autoflush attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateAutoFlushFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateAutoFlushFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsThreadSafeFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two isThreadSafe attributes - * of different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsThreadSafeFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateIsThreadSafeFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsThreadSafeFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with isThreadSafe attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsThreadSafeFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateIsThreadSafeFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsErrorPageFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two isErrorPage attributes of - * different values Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsErrorPageFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateIsErrorPageFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsErrorPageFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with isErrorPage attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsErrorPageFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateIsErrorPageFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsELIgnoredFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two isELIgnored attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsELIgnoredFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateIsELIgnoredFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateIsELIgnoredFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with isELIgnored attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateIsELIgnoredFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateIsELIgnoredFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeBufferOverflowExceptionTest - * - * @assertion_ids: JSP:SPEC:44 - * - * @test_Strategy: Declare a page directive with autoFlush set to false. - * Overflow the buffer and verify the Exception is caught. - */ - - public void negativeBufferOverflowExceptionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "negativeBufferOverflowException"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: positiveContentTypeTest - * - * @assertion_ids: JSP:SPEC:52 - * - * @test_Strategy: Using the page directive, set the contentType attribute to - * "text/plain;charset=ISO-8859-1". Verify on the client side that the - * Content-Type header was properly set in the response. - */ - public void positiveContentTypeTest() throws Exception { - String testName = "positiveContenttype"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/plain;charset=ISO-8859-1"); - invoke(); - - } - - /* - * @testName: negativeDuplicateContentFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with contentType attributes - * specified of different values. Validate that a fatal translation error - * occurs. - * - */ - - public void negativeDuplicateContentFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateContentFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateContentFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with contentType attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateContentFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateContentFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveDefaultIsErrorPageTest - * - * @assertion_ids: JSP:SPEC:49 - * - * @test_Strategy: Verify that the 'isErrorPage' attribute is false by - * generating an exception in the called page and then have the error page - * attempt to access the implicit exception object. - */ - - public void positiveDefaultIsErrorPageTest() throws Exception { - String testName = "positiveDefaultIsErrorPage"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - - } - - /* - * @testName: positiveErrorPageTest - * - * @assertion_ids: JSP:SPEC:48 - * - * @test_Strategy: In the initial JSP page, generate a java.lang.Arithmetic - * Exception by dividing an int value by 0. Validate the following: The - * errorPage attributes value must be used instead of the error-page defined - * in web.xml - */ - - public void positiveErrorPageTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveErrorPage"); - TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); - invoke(); - } - - /* - * @testName: negativeFatalTranslationErrorTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Generate an exception from the requested page with the - * errorPage attribute set. The Error page has isErrorPage set to false and - * will attempt to access the exception object. - * - * A fatal translation error shall result if a JSP error page has the - * isErrorPage attribute set to false and an attempt is made to access the - * implicit exception object. JavaServer Pages Specification v1.2, Sec 2.10.1 - */ - public void negativeFatalTranslationErrorTest() throws Exception { - String testName = "negativeFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - - } - - /* - * @testName: negativeDuplicateErrorPageFatalTranslationErrorTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Declare a page directive with two errorPage attributes. - * Validate that a fatal translation error occurs. - * - * Duplicate errorPage attributes/values within a given translation unit shall - * result in a fatal translation error. JavaServer Pages Specification v1.2, - * Sec 2.10.1 - */ - - public void negativeDuplicateErrorPageFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateErrorPageFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateErrorPageFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with errorPage attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateErrorPageFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateErrorPageFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveExtendsTest - * - * @assertion_ids: JSP:SPEC:33 - * - * @test_Strategy: Provide the extends attribute with a fully qualified class. - * The resulting JSP implementation class will use instanceof to validate that - * this page instance is an instance of the class that it extends. - */ - - public void positiveExtendsTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveExtends"); - invoke(); - } - - /* - * @testName: negativeDuplicateExtendsFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @assertion: Duplicate extends attributes with distinct values within a - * given translation unit shall result in a fatal translation error. - * JavaServer Pages Specification v1.2, Sec. 2.10.1 - * - * @test_Strategy: Declare a page directive with two extends attributes with - * distinct values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateExtendsFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateExtendsFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateExtendsFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @assertion: Duplicate extends attributes with distinct values within a - * given translation unit - * - * @test_Strategy: Declare two page directives with extends attributes with - * distinct values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateExtendsFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateExtendsFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveImportTest - * - * @assertion_ids: JSP:SPEC:34 - * - * @test_Strategy: Use the import attribute to import 'java.util.Properties'. - * Validated that a Properties object can be created and used. - */ - - public void positiveImportTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveImport"); - invoke(); - } - - /* - * @testName: implicitImportLangTest - * - * @assertion_ids: JSP:SPEC:35 - * - * @test_Strategy: Validate that classes from the java.lang package are - * implicitly imported by creating and using a java.lang.Integer object. - * PENDING Merge with exising import tests. - */ - - public void implicitImportLangTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "implicitImportLang"); - invoke(); - } - - /* - * @testName: implicitImportJspTest - * - * @assertion_ids: JSP:SPEC:35 - * - * @test_Strategy: Validate that classes from the jakarta.servlet.jsp package - * are implicitly imported by calling JspFactory.getDefaultFactory() method. - */ - - public void implicitImportJspTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "implicitImportJsp"); - invoke(); - } - - /* - * @testName: implicitImportServletTest - * - * @assertion_ids: JSP:SPEC:35 - * - * @test_Strategy: Validate that classes from the jakarta.servlet package are - * implicitly imported by creating and using an instance of RequestDispatcher. - */ - - public void implicitImportServletTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "implicitImportServlet"); - invoke(); - } - - /* - * @testName: implicitImportHttpTest - * - * @assertion_ids: JSP:SPEC:35 - * - * @test_Strategy: Validate that classes from the jakarta.servlet.http package - * are implicitly imported by creating and using an instance of Cookie. - */ - - public void implicitImportHttpTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "implicitImportHttp"); - invoke(); - } - - /* - * @testName: positiveMultipleImportTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two import attributes. - * - */ - - public void positiveMultipleImportTest() throws Exception { - String testName = "positiveMultipleImport"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: negativeMultiplePageEncodingTest - * - * @assertion_ids: JSP:SPEC:229.21 - * - * @test_Strategy: Declare a page directive with two pageEncoding attributes. - * - */ - - public void negativeMultiplePageEncodingTest() throws Exception { - String testName = "negativeMultiplePageEncoding"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveInfoTest - * - * @assertion_ids: JSP:SPEC:47 - * - * @test_Strategy: Set the info attribute of the page directive. Call - * getServletInfo(). - */ - - public void positiveInfoTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveInfo"); - invoke(); - } - - /* - * @testName: negativeDuplicateInfoFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two info attributes of - * different values and Validate that a fatal translation error occurs. - * - */ - - public void negativeDuplicateInfoFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateInfoFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateInfoFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with info attributes of - * different values and Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateInfoFatalTranslationError2Test() throws Exception { - String testName = "negativeDuplicateInfoFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveLangTest - * - * @assertion_ids: JSP:SPEC:32 - * - * @test_Strategy: Validate that the language attribute can be set to "java" - * without an error. - */ - - public void positiveLangTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveLang"); - invoke(); - } - - /* - * @testName: negativeDuplicateLanguageFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two language attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateLanguageFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateLanguageFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateLanguageFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with language attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateLanguageFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateLanguageFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveSessionTest - * - * @assertion_ids: JSP:SPEC:36 - * - * @test_Strategy: Set the session attribute to 'true' and validate that the - * implicit session variable can be accessed and used. - */ - - public void positiveSessionTest() throws Exception { - String testName = "positiveSession"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(RESPONSE_MATCH, "got true"); - invoke(); - } - - /* - * @testName: positiveSessionDefaultTest - * - * @assertion_ids: JSP:SPEC:38 - * - * @test_Strategy: Do not set the session attribute in the page. Validate that - * the implicit session variable can be accessed and used. - */ - - public void positiveSessionDefaultTest() throws Exception { - String testName = "positiveSessionDefault"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(RESPONSE_MATCH, "got true"); - invoke(); - } - - /* - * @testName: negativeSessionFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:37 - * - * @test_Strategy: Validate that setting the session attribute to false will - * result in a fatal translation error if the implicit session variable is - * referenced. - */ - - public void negativeSessionFatalTranslationErrorTest() throws Exception { - String testName = "negativeSessionFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateSessionFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two session attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateSessionFatalTranslationErrorTest() throws Exception { - String testName = "negativeDuplicateSessionFatalTranslationError"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateSessionFatalTranslationError2Test - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare two page directives with session attributes of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateSessionFatalTranslationError2Test() - throws Exception { - String testName = "negativeDuplicateSessionFatalTranslationError2"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveDuplicateBufferTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical buffer - * attributes. - */ - - public void positiveDuplicateBufferTest() throws Exception { - String testName = "positiveDuplicateBuffer"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateAutoFlushTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical autoFlush - * attributes. - */ - - public void positiveDuplicateAutoFlushTest() throws Exception { - String testName = "positiveDuplicateAutoFlush"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateIsThreadSafeTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical isThreadSafe - * attributes. - */ - - public void positiveDuplicateIsThreadSafeTest() throws Exception { - String testName = "positiveDuplicateIsThreadSafe"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateIsErrorPageTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical isErrorPage - * attributes. - */ - - public void positiveDuplicateIsErrorPageTest() throws Exception { - String testName = "positiveDuplicateIsErrorPage"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateIsELIgnoredTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical isELIgnored - * attributes. - */ - - public void positiveDuplicateIsELIgnoredTest() throws Exception { - String testName = "positiveDuplicateIsELIgnored"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateContentTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical contentType - * attributes specified. - * - */ - - public void positiveDuplicateContentTest() throws Exception { - String testName = "positiveDuplicateContent"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateErrorPageTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical errorPage - * attributes. - */ - - public void positiveDuplicateErrorPageTest() throws Exception { - String testName = "positiveDuplicateErrorPage"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateExtendsTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical extends - * attributes. - */ - - public void positiveDuplicateExtendsTest() throws Exception { - String testName = "positiveDuplicateExtends"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateInfoTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical info - * attributes. - * - */ - - public void positiveDuplicateInfoTest() throws Exception { - String testName = "positiveDuplicateInfo"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateLanguageTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical language - * attributes. - */ - - public void positiveDuplicateLanguageTest() throws Exception { - String testName = "positiveDuplicateLanguage"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveDuplicateSessionTest - * - * @assertion_ids: JSP:SPEC:21 - * - * @test_Strategy: Declare a page directive with two identical session - * attributes. - */ - - public void positiveDuplicateSessionTest() throws Exception { - String testName = "positiveDuplicateSession"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeBufferSuffixTest - * - * @assertion_ids: JSP:SPEC:40 - * - * @test_Strategy: The suffix kb is mandatory or a translation error must - * occur. - */ - - public void negativeBufferSuffixTest() throws Exception { - String testName = "negativeBufferSuffix"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + "2.jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: errorPageExceptionAttributeTest - * - * @assertion_ids: JSP:SPEC:50 - * - * @test_Strategy: Throwable object is transferred by the throwing page - * implementation to the error page implementation by saving the object - * reference on the common ServletRequest object using the setAttribute - * method, with a name of jakarta.servlet.jsp.jspException (for - * backwards-compatibility) and also jakarta.servlet.error.exception (for - * compatibility with the servlet specification). - */ - - public void errorPageExceptionAttributeTest() throws Exception { - String testName = "errorPageExceptionAttributeTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, - "Test PASSED|jakarta.servlet.error.exception and jakarta.servlet.jsp.jspException are the same"); - TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); - invoke(); - } - - /* - * @testName: negativeImportUtilTest - * - * @assertion_ids: JSP:SPEC:267 - * - * @test_Strategy: Verify that a jsp page does not import java.util.* by - * default. - */ - public void negativeImportUtilTest() throws Exception { - String testName = "negativeImportUtil"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeImportIoTest - * - * @assertion_ids: JSP:SPEC:267 - * - * @test_Strategy: Verify that a jsp page does not import java.io.* by - * default. - */ - public void negativeImportIoTest() throws Exception { - String testName = "negativeImportIo"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: isELIgnoredTrueTemplateTextTest - * - * @assertion_ids: JSP:SPEC:268 - * - * @test_Strategy: [IsELIgnored] Verify that EL expressions are ignored by the - * container in template text when the IsELIgnored page directive attribute is - * set to true. - */ - public void isELIgnoredTrueTemplateTextTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "IsELIgnoredTrueTemplateTextTest"); - invoke(); - } - - /* - * @testName: isELIgnoredFalseTemplateTextDollarTest - * - * @assertion_ids: JSP:SPEC:268 - * - * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by - * the container in template text when the IsELIgnored page directive - * attribute is set to false and the '$' character is used. - */ - public void isELIgnoredFalseTemplateTextDollarTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "IsELIgnoredFalseTemplateTextDollarTest"); - invoke(); - } - - /* - * @testName: isELIgnoredFalseTemplateTextPoundTest - * - * @assertion_ids: JSP:SPEC:268 - * - * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by - * the container in template text when the IsELIgnored page directive - * attribute is set to false and the '#' character is used. Since the use of - * the '#' character is illegal in template text, a translation error is - * expected. - */ - public void isELIgnoredFalseTemplateTextPoundTest() throws Exception { - String testName = "IsELIgnoredFalseTemplateTextPoundTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: isELIgnoredFalseActionTest - * - * @assertion_ids: JSP:SPEC:268 - * - * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by - * the container in actions when the IsELIgnored page directive attribute is - * set to false. - */ - public void isELIgnoredFalseActionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "IsELIgnoredFalseActionTest"); - invoke(); - } - - /* - * @testName: isELIgnoredTrueActionTest - * - * @assertion_ids: JSP:SPEC:268 - * - * @test_Strategy: [IsELIgnored] Verify that EL expressions are ignored by the - * container in actions when the IsELIgnored page directive attribute is set - * to true. - */ - public void isELIgnoredTrueActionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "IsELIgnoredTrueActionTest"); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest - * - * @assertion_ids: JSP:SPEC:269 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that - * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to - * false, a translation error occurs when the '{#' character sequence is used - * in template text. - */ - public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest() - throws Exception { - String testName = "DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest - * - * @assertion_ids: JSP:SPEC:269 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that - * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to - * true, the '{#' character sequence is allowed in template text. - */ - public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest() - throws Exception { - TEST_PROPS.setProperty(STANDARD, - "DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest"); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest - * - * @assertion_ids: JSP:SPEC:269 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that - * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to - * false, a translation error occurs when the '{#' character sequence is used - * in an action. - */ - public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception { - String testName = "DeferredSyntaxAllowedAsLiteralFalseActionTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest - * - * @assertion_ids: JSP:SPEC:269 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that - * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to - * true, the '{#' character sequence is allowed in an action. - */ - public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, - "DeferredSyntaxAllowedAsLiteralTrueActionTest"); - invoke(); - } - - /* - * @testName: errorOnELNotFoundFalseTest - * - * @assertion_ids: JSP:SPEC:319 - * - * @test_Strategy: [ErrorOnELNotFoundPageDirective] Verify that when the - * ErrorOnELNotFound page directive attribute is set to false, a reference - * to an unresolved identifier results in the empty string being used. - */ - public void errorOnELNotFoundFalseTest() - throws Exception { - String testName = "ErrorOnELNotFoundFalseTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - invoke(); - } - - /* - * @testName: errorOnELNotFoundTrueTest - * - * @assertion_ids: JSP:SPEC:319 - * - * @test_Strategy: [ErrorOnELNotFoundPageDirective] Verify that when the - * ErrorOnELNotFound page directive attribute is set to false, a reference - * to an unresolved identifier results in the empty string being used. - */ - public void errorOnELNotFoundTrueTest() - throws Exception { - String testName = "ErrorOnELNotFoundTrueTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClientIT.java new file mode 100644 index 0000000000..ea7ccafe82 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClientIT.java @@ -0,0 +1,1482 @@ +/* + * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. + * All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.directives.page; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/directives/page"); + setContextRoot("/jsp_coresyntx_directive_page_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_directive_page_web.war"); + archive.addClasses(JspTestUtil.class); + archive.addPackages(false, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_directive_page_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/iselignoredaction.tld", "iselignoredaction.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/deferredsyntaxaction.tld", "deferredsyntaxaction.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/willNotSee.jsp")), "willNotSee.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSessionDefault.jsp")), "positiveSessionDefault.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveSession.jsp")), "positiveSession.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveMultipleImport.jsp")), "positiveMultipleImport.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveLang.jsp")), "positiveLang.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveInfo.jsp")), "positiveInfo.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveImport.jsp")), "positiveImport.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveExtends.jsp")), "positiveExtends.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveErrorPage.jsp")), "positiveErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateSession.jsp")), "positiveDuplicateSession.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateLanguage.jsp")), "positiveDuplicateLanguage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateIsThreadSafe.jsp")), "positiveDuplicateIsThreadSafe.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateIsErrorPage.jsp")), "positiveDuplicateIsErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateIsELIgnored.jsp")), "positiveDuplicateIsELIgnored.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateInfo.jsp")), "positiveDuplicateInfo.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateExtends.jsp")), "positiveDuplicateExtends.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateErrorPage.jsp")), "positiveDuplicateErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateContent.jsp")), "positiveDuplicateContent.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateBuffer.jsp")), "positiveDuplicateBuffer.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateAutoFlush.jsp")), "positiveDuplicateAutoFlush.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDefaultIsErrorPage.jsp")), "positiveDefaultIsErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveContenttype.jsp")), "positiveContenttype.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBuffCreate.jsp")), "positiveBuffCreate.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveBuffAutoflush.jsp")), "positiveBuffAutoflush.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeSessionFatalTranslationError.jsp")), "negativeSessionFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeMultiplePageEncoding.jsp")), "negativeMultiplePageEncoding.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeImportUtil.jsp")), "negativeImportUtil.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeImportIo.jsp")), "negativeImportIo.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeFatalTranslationError.jsp")), "negativeFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateSessionFatalTranslationError2.jsp")), "negativeDuplicateSessionFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateSessionFatalTranslationError.jsp")), "negativeDuplicateSessionFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateLanguageFatalTranslationError2.jsp")), "negativeDuplicateLanguageFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateLanguageFatalTranslationError.jsp")), "negativeDuplicateLanguageFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsThreadSafeFatalTranslationError2.jsp")), "negativeDuplicateIsThreadSafeFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsThreadSafeFatalTranslationError.jsp")), "negativeDuplicateIsThreadSafeFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsErrorPageFatalTranslationError2.jsp")), "negativeDuplicateIsErrorPageFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsErrorPageFatalTranslationError.jsp")), "negativeDuplicateIsErrorPageFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsELIgnoredFatalTranslationError2.jsp")), "negativeDuplicateIsELIgnoredFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsELIgnoredFatalTranslationError.jsp")), "negativeDuplicateIsELIgnoredFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateInfoFatalTranslationError2.jsp")), "negativeDuplicateInfoFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateInfoFatalTranslationError.jsp")), "negativeDuplicateInfoFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateExtendsFatalTranslationError2.jsp")), "negativeDuplicateExtendsFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateExtendsFatalTranslationError.jsp")), "negativeDuplicateExtendsFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateErrorPageFatalTranslationError2.jsp")), "negativeDuplicateErrorPageFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateErrorPageFatalTranslationError.jsp")), "negativeDuplicateErrorPageFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateContentFatalTranslationError2.jsp")), "negativeDuplicateContentFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateContentFatalTranslationError.jsp")), "negativeDuplicateContentFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateBufferFatalTranslationError2.jsp")), "negativeDuplicateBufferFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateBufferFatalTranslationError.jsp")), "negativeDuplicateBufferFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateAutoFlushFatalTranslationError2.jsp")), "negativeDuplicateAutoFlushFatalTranslationError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateAutoFlushFatalTranslationError.jsp")), "negativeDuplicateAutoFlushFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeBufferSuffix2.jsp")), "negativeBufferSuffix2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeBufferSuffix.jsp")), "negativeBufferSuffix.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeBufferOverflowException.jsp")), "negativeBufferOverflowException.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeBuffAutoflush.jsp")), "negativeBuffAutoflush.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/myerrorpage.jsp")), "myerrorpage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsELIgnoredTrueTemplateTextTest.jsp")), "IsELIgnoredTrueTemplateTextTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsELIgnoredTrueActionTest.jsp")), "IsELIgnoredTrueActionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsELIgnoredFalseTemplateTextPoundTest.jsp")), "IsELIgnoredFalseTemplateTextPoundTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsELIgnoredFalseTemplateTextDollarTest.jsp")), "IsELIgnoredFalseTemplateTextDollarTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IsELIgnoredFalseActionTest.jsp")), "IsELIgnoredFalseActionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportServlet.jsp")), "implicitImportServlet.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportLang.jsp")), "implicitImportLang.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportJsp.jsp")), "implicitImportJsp.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportHttp.jsp")), "implicitImportHttp.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicit.jsp")), "implicit.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/FatalTranslationErrorPage.jsp")), "FatalTranslationErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/errorPageExceptionAttributeTestError.jsp")), "errorPageExceptionAttributeTestError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/errorPageExceptionAttributeTest.jsp")), "errorPageExceptionAttributeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/errorpagedefault.jsp")), "errorpagedefault.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorOnELNotFoundTrueTest.jsp")), "ErrorOnELNotFoundTrueTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorOnELNotFoundFalseTest.jsp")), "ErrorOnELNotFoundFalseTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/duplicateErrorPage.jsp")), "duplicateErrorPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp")), "DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueActionTest.jsp")), "DeferredSyntaxAllowedAsLiteralTrueActionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp")), "DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralFalseActionTest.jsp")), "DeferredSyntaxAllowedAsLiteralFalseActionTest.jsp"); + + return archive; + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveBuffAutoflushTest + * + * @assertion_ids: JSP:SPEC:44; JSP:SPEC:42 + * + * @test_Strategy: Leaving the defaults for autoFlush and buffer, validate + * that the buffer is automatically flushed once the buffer is full. + */ + + @Test + public void positiveBuffAutoflushTest() throws Exception { + String testName = "positiveBuffAutoflush"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(RESPONSE_MATCH, "5999"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: negativeBuffAutoflushTest + * + * @assertion_ids: JSP:SPEC:45 + * + * @test_Strategy: set autoFlash to false when buffer=none, resulting in a + * translation error. + */ + + @Test + public void negativeBuffAutoflushTest() throws Exception { + String testName = "negativeBuffAutoflush"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveBuffCreateTest + * + * @assertion_ids: JSP:SPEC:41 + * + * @test_Strategy: Validate that the page can configure a buffer and set the + * autoFlush attribute to false. Write data to the output stream and manually + * flush the content + */ + + @Test + public void positiveBuffCreateTest() throws Exception { + String testName = "positiveBuffCreate"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(RESPONSE_MATCH, "999"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: negativeDuplicateBufferFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two buffer attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateBufferFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateBufferFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateBufferFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with buffer attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateBufferFatalTranslationError2Test() throws Exception { + String testName = "negativeDuplicateBufferFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateAutoFlushFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two autoFlush attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateAutoFlushFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateAutoFlushFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateAutoFlushFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with autoflush attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateAutoFlushFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateAutoFlushFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsThreadSafeFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two isThreadSafe attributes + * of different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsThreadSafeFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateIsThreadSafeFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsThreadSafeFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with isThreadSafe attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsThreadSafeFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateIsThreadSafeFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsErrorPageFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two isErrorPage attributes of + * different values Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsErrorPageFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateIsErrorPageFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsErrorPageFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with isErrorPage attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsErrorPageFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateIsErrorPageFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsELIgnoredFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two isELIgnored attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsELIgnoredFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateIsELIgnoredFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateIsELIgnoredFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with isELIgnored attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateIsELIgnoredFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateIsELIgnoredFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeBufferOverflowExceptionTest + * + * @assertion_ids: JSP:SPEC:44 + * + * @test_Strategy: Declare a page directive with autoFlush set to false. + * Overflow the buffer and verify the Exception is caught. + */ + + @Test + public void negativeBufferOverflowExceptionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/negativeBufferOverflowException.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "negativeBufferOverflowException"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: positiveContentTypeTest + * + * @assertion_ids: JSP:SPEC:52 + * + * @test_Strategy: Using the page directive, set the contentType attribute to + * "text/plain;charset=ISO-8859-1". Verify on the client side that the + * Content-Type header was properly set in the response. + */ + @Test + public void positiveContentTypeTest() throws Exception { + String testName = "positiveContenttype"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/plain;charset=ISO-8859-1"); + invoke(); + + } + + /* + * @testName: negativeDuplicateContentFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with contentType attributes + * specified of different values. Validate that a fatal translation error + * occurs. + * + */ + + @Test + public void negativeDuplicateContentFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateContentFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateContentFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with contentType attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateContentFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateContentFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveDefaultIsErrorPageTest + * + * @assertion_ids: JSP:SPEC:49 + * + * @test_Strategy: Verify that the 'isErrorPage' attribute is false by + * generating an exception in the called page and then have the error page + * attempt to access the implicit exception object. + */ + + @Test + public void positiveDefaultIsErrorPageTest() throws Exception { + String testName = "positiveDefaultIsErrorPage"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + + } + + /* + * @testName: positiveErrorPageTest + * + * @assertion_ids: JSP:SPEC:48 + * + * @test_Strategy: In the initial JSP page, generate a java.lang.Arithmetic + * Exception by dividing an int value by 0. Validate the following: The + * errorPage attributes value must be used instead of the error-page defined + * in web.xml + */ + + @Test + public void positiveErrorPageTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveErrorPage.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveErrorPage"); + TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); + invoke(); + } + + /* + * @testName: negativeFatalTranslationErrorTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Generate an exception from the requested page with the + * errorPage attribute set. The Error page has isErrorPage set to false and + * will attempt to access the exception object. + * + * A fatal translation error shall result if a JSP error page has the + * isErrorPage attribute set to false and an attempt is made to access the + * implicit exception object. JavaServer Pages Specification v1.2, Sec 2.10.1 + */ + @Test + public void negativeFatalTranslationErrorTest() throws Exception { + String testName = "negativeFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + + } + + /* + * @testName: negativeDuplicateErrorPageFatalTranslationErrorTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Declare a page directive with two errorPage attributes. + * Validate that a fatal translation error occurs. + * + * Duplicate errorPage attributes/values within a given translation unit shall + * result in a fatal translation error. JavaServer Pages Specification v1.2, + * Sec 2.10.1 + */ + + @Test + public void negativeDuplicateErrorPageFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateErrorPageFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateErrorPageFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with errorPage attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateErrorPageFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateErrorPageFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveExtendsTest + * + * @assertion_ids: JSP:SPEC:33 + * + * @test_Strategy: Provide the extends attribute with a fully qualified class. + * The resulting JSP implementation class will use instanceof to validate that + * this page instance is an instance of the class that it extends. + */ + + @Test + public void positiveExtendsTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveExtends.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveExtends"); + invoke(); + } + + /* + * @testName: negativeDuplicateExtendsFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @assertion: Duplicate extends attributes with distinct values within a + * given translation unit shall result in a fatal translation error. + * JavaServer Pages Specification v1.2, Sec. 2.10.1 + * + * @test_Strategy: Declare a page directive with two extends attributes with + * distinct values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateExtendsFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateExtendsFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateExtendsFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @assertion: Duplicate extends attributes with distinct values within a + * given translation unit + * + * @test_Strategy: Declare two page directives with extends attributes with + * distinct values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateExtendsFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateExtendsFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveImportTest + * + * @assertion_ids: JSP:SPEC:34 + * + * @test_Strategy: Use the import attribute to import 'java.util.Properties'. + * Validated that a Properties object can be created and used. + */ + + @Test + public void positiveImportTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveImport.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveImport"); + invoke(); + } + + /* + * @testName: implicitImportLangTest + * + * @assertion_ids: JSP:SPEC:35 + * + * @test_Strategy: Validate that classes from the java.lang package are + * implicitly imported by creating and using a java.lang.Integer object. + * PENDING Merge with exising import tests. + */ + + @Test + public void implicitImportLangTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/implicitImportLang.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "implicitImportLang"); + invoke(); + } + + /* + * @testName: implicitImportJspTest + * + * @assertion_ids: JSP:SPEC:35 + * + * @test_Strategy: Validate that classes from the jakarta.servlet.jsp package + * are implicitly imported by calling JspFactory.getDefaultFactory() method. + */ + + @Test + public void implicitImportJspTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/implicitImportJsp.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "implicitImportJsp"); + invoke(); + } + + /* + * @testName: implicitImportServletTest + * + * @assertion_ids: JSP:SPEC:35 + * + * @test_Strategy: Validate that classes from the jakarta.servlet package are + * implicitly imported by creating and using an instance of RequestDispatcher. + */ + + @Test + public void implicitImportServletTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/implicitImportServlet.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "implicitImportServlet"); + invoke(); + } + + /* + * @testName: implicitImportHttpTest + * + * @assertion_ids: JSP:SPEC:35 + * + * @test_Strategy: Validate that classes from the jakarta.servlet.http package + * are implicitly imported by creating and using an instance of Cookie. + */ + + @Test + public void implicitImportHttpTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/implicitImportHttp.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "implicitImportHttp"); + invoke(); + } + + /* + * @testName: positiveMultipleImportTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two import attributes. + * + */ + + @Test + public void positiveMultipleImportTest() throws Exception { + String testName = "positiveMultipleImport"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: negativeMultiplePageEncodingTest + * + * @assertion_ids: JSP:SPEC:229.21 + * + * @test_Strategy: Declare a page directive with two pageEncoding attributes. + * + */ + + @Test + public void negativeMultiplePageEncodingTest() throws Exception { + String testName = "negativeMultiplePageEncoding"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveInfoTest + * + * @assertion_ids: JSP:SPEC:47 + * + * @test_Strategy: Set the info attribute of the page directive. Call + * getServletInfo(). + */ + + @Test + public void positiveInfoTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveInfo.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveInfo"); + invoke(); + } + + /* + * @testName: negativeDuplicateInfoFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two info attributes of + * different values and Validate that a fatal translation error occurs. + * + */ + + @Test + public void negativeDuplicateInfoFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateInfoFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateInfoFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with info attributes of + * different values and Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateInfoFatalTranslationError2Test() throws Exception { + String testName = "negativeDuplicateInfoFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveLangTest + * + * @assertion_ids: JSP:SPEC:32 + * + * @test_Strategy: Validate that the language attribute can be set to "java" + * without an error. + */ + + @Test + public void positiveLangTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveLang.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveLang"); + invoke(); + } + + /* + * @testName: negativeDuplicateLanguageFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two language attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateLanguageFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateLanguageFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateLanguageFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with language attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateLanguageFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateLanguageFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveSessionTest + * + * @assertion_ids: JSP:SPEC:36 + * + * @test_Strategy: Set the session attribute to 'true' and validate that the + * implicit session variable can be accessed and used. + */ + + @Test + public void positiveSessionTest() throws Exception { + String testName = "positiveSession"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(RESPONSE_MATCH, "got true"); + invoke(); + } + + /* + * @testName: positiveSessionDefaultTest + * + * @assertion_ids: JSP:SPEC:38 + * + * @test_Strategy: Do not set the session attribute in the page. Validate that + * the implicit session variable can be accessed and used. + */ + + @Test + public void positiveSessionDefaultTest() throws Exception { + String testName = "positiveSessionDefault"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(RESPONSE_MATCH, "got true"); + invoke(); + } + + /* + * @testName: negativeSessionFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:37 + * + * @test_Strategy: Validate that setting the session attribute to false will + * result in a fatal translation error if the implicit session variable is + * referenced. + */ + + @Test + public void negativeSessionFatalTranslationErrorTest() throws Exception { + String testName = "negativeSessionFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateSessionFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two session attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateSessionFatalTranslationErrorTest() throws Exception { + String testName = "negativeDuplicateSessionFatalTranslationError"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateSessionFatalTranslationError2Test + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare two page directives with session attributes of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateSessionFatalTranslationError2Test() + throws Exception { + String testName = "negativeDuplicateSessionFatalTranslationError2"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveDuplicateBufferTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical buffer + * attributes. + */ + + @Test + public void positiveDuplicateBufferTest() throws Exception { + String testName = "positiveDuplicateBuffer"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateAutoFlushTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical autoFlush + * attributes. + */ + + @Test + public void positiveDuplicateAutoFlushTest() throws Exception { + String testName = "positiveDuplicateAutoFlush"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateIsThreadSafeTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical isThreadSafe + * attributes. + */ + + @Test + public void positiveDuplicateIsThreadSafeTest() throws Exception { + String testName = "positiveDuplicateIsThreadSafe"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateIsErrorPageTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical isErrorPage + * attributes. + */ + + @Test + public void positiveDuplicateIsErrorPageTest() throws Exception { + String testName = "positiveDuplicateIsErrorPage"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateIsELIgnoredTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical isELIgnored + * attributes. + */ + + @Test + public void positiveDuplicateIsELIgnoredTest() throws Exception { + String testName = "positiveDuplicateIsELIgnored"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateContentTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical contentType + * attributes specified. + * + */ + + @Test + public void positiveDuplicateContentTest() throws Exception { + String testName = "positiveDuplicateContent"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateErrorPageTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical errorPage + * attributes. + */ + + @Test + public void positiveDuplicateErrorPageTest() throws Exception { + String testName = "positiveDuplicateErrorPage"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateExtendsTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical extends + * attributes. + */ + + @Test + public void positiveDuplicateExtendsTest() throws Exception { + String testName = "positiveDuplicateExtends"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateInfoTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical info + * attributes. + * + */ + + @Test + public void positiveDuplicateInfoTest() throws Exception { + String testName = "positiveDuplicateInfo"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateLanguageTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical language + * attributes. + */ + + @Test + public void positiveDuplicateLanguageTest() throws Exception { + String testName = "positiveDuplicateLanguage"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveDuplicateSessionTest + * + * @assertion_ids: JSP:SPEC:21 + * + * @test_Strategy: Declare a page directive with two identical session + * attributes. + */ + + @Test + public void positiveDuplicateSessionTest() throws Exception { + String testName = "positiveDuplicateSession"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeBufferSuffixTest + * + * @assertion_ids: JSP:SPEC:40 + * + * @test_Strategy: The suffix kb is mandatory or a translation error must + * occur. + */ + + @Test + public void negativeBufferSuffixTest() throws Exception { + String testName = "negativeBufferSuffix"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + "2.jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: errorPageExceptionAttributeTest + * + * @assertion_ids: JSP:SPEC:50 + * + * @test_Strategy: Throwable object is transferred by the throwing page + * implementation to the error page implementation by saving the object + * reference on the common ServletRequest object using the setAttribute + * method, with a name of jakarta.servlet.jsp.jspException (for + * backwards-compatibility) and also jakarta.servlet.error.exception (for + * compatibility with the servlet specification). + */ + + @Test + public void errorPageExceptionAttributeTest() throws Exception { + String testName = "errorPageExceptionAttributeTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, + "Test PASSED|jakarta.servlet.error.exception and jakarta.servlet.jsp.jspException are the same"); + TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); + invoke(); + } + + /* + * @testName: negativeImportUtilTest + * + * @assertion_ids: JSP:SPEC:267 + * + * @test_Strategy: Verify that a jsp page does not import java.util.* by + * default. + */ + @Test + public void negativeImportUtilTest() throws Exception { + String testName = "negativeImportUtil"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeImportIoTest + * + * @assertion_ids: JSP:SPEC:267 + * + * @test_Strategy: Verify that a jsp page does not import java.io.* by + * default. + */ + @Test + public void negativeImportIoTest() throws Exception { + String testName = "negativeImportIo"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: isELIgnoredTrueTemplateTextTest + * + * @assertion_ids: JSP:SPEC:268 + * + * @test_Strategy: [IsELIgnored] Verify that EL expressions are ignored by the + * container in template text when the IsELIgnored page directive attribute is + * set to true. + */ + @Test + public void isELIgnoredTrueTemplateTextTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/IsELIgnoredTrueTemplateTextTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "IsELIgnoredTrueTemplateTextTest"); + invoke(); + } + + /* + * @testName: isELIgnoredFalseTemplateTextDollarTest + * + * @assertion_ids: JSP:SPEC:268 + * + * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by + * the container in template text when the IsELIgnored page directive + * attribute is set to false and the '$' character is used. + */ + @Test + public void isELIgnoredFalseTemplateTextDollarTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/IsELIgnoredFalseTemplateTextDollarTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "IsELIgnoredFalseTemplateTextDollarTest"); + invoke(); + } + + /* + * @testName: isELIgnoredFalseTemplateTextPoundTest + * + * @assertion_ids: JSP:SPEC:268 + * + * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by + * the container in template text when the IsELIgnored page directive + * attribute is set to false and the '#' character is used. Since the use of + * the '#' character is illegal in template text, a translation error is + * expected. + */ + @Test + public void isELIgnoredFalseTemplateTextPoundTest() throws Exception { + String testName = "IsELIgnoredFalseTemplateTextPoundTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: isELIgnoredFalseActionTest + * + * @assertion_ids: JSP:SPEC:268 + * + * @test_Strategy: [IsELIgnored] Verify that EL expressions are recognized by + * the container in actions when the IsELIgnored page directive attribute is + * set to false. + */ + @Test + public void isELIgnoredFalseActionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/IsELIgnoredFalseActionTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "IsELIgnoredFalseActionTest"); + invoke(); + } + + /* + * @testName: isELIgnoredTrueActionTest + * + * @assertion_ids: JSP:SPEC:268 + * + * @test_Strategy: [IsELIgnored] Verify that EL expressions are ignored by the + * container in actions when the IsELIgnored page directive attribute is set + * to true. + */ + @Test + public void isELIgnoredTrueActionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/IsELIgnoredTrueActionTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "IsELIgnoredTrueActionTest"); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest + * + * @assertion_ids: JSP:SPEC:269 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that + * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to + * false, a translation error occurs when the '{#' character sequence is used + * in template text. + */ + @Test + public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest() + throws Exception { + String testName = "DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest + * + * @assertion_ids: JSP:SPEC:269 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that + * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to + * true, the '{#' character sequence is allowed in template text. + */ + @Test + public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest() + throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, + "DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest"); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest + * + * @assertion_ids: JSP:SPEC:269 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that + * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to + * false, a translation error occurs when the '{#' character sequence is used + * in an action. + */ + @Test + public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception { + String testName = "DeferredSyntaxAllowedAsLiteralFalseActionTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest + * + * @assertion_ids: JSP:SPEC:269 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralPageDirective] Verify that + * when the DeferredSyntaxAllowedAsLiteral page directive attribute is set to + * true, the '{#' character sequence is allowed in an action. + */ + @Test + public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueActionTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, + "DeferredSyntaxAllowedAsLiteralTrueActionTest"); + invoke(); + } + + /* + * @testName: errorOnELNotFoundFalseTest + * + * @assertion_ids: JSP:SPEC:319 + * + * @test_Strategy: [ErrorOnELNotFoundPageDirective] Verify that when the + * ErrorOnELNotFound page directive attribute is set to false, a reference + * to an unresolved identifier results in the empty string being used. + */ + @Test + public void errorOnELNotFoundFalseTest() + throws Exception { + String testName = "ErrorOnELNotFoundFalseTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + invoke(); + } + + /* + * @testName: errorOnELNotFoundTrueTest + * + * @assertion_ids: JSP:SPEC:319 + * + * @test_Strategy: [ErrorOnELNotFoundPageDirective] Verify that when the + * ErrorOnELNotFound page directive attribute is set to false, a reference + * to an unresolved identifier results in the empty string being used. + */ + @Test + public void errorOnELNotFoundTrueTest() + throws Exception { + String testName = "ErrorOnELNotFoundTrueTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_directive_page_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClient.java deleted file mode 100644 index f34c63edec..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClient.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.directives.taglib; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot("/jsp_core_syntx_direct_taglib_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveTagLibTest - * - * @assertion_ids: JSP:SPEC:59; JSP:SPEC:64 - * - * @test_Strategy: Validate that the taglib directive is recognized by the - * container by declaring a new tag and calling an action against that tag. - */ - - public void positiveTagLibTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_core_syntx_direct_taglib_web/positiveTagLib.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClientIT.java new file mode 100644 index 0000000000..5fb059d296 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClientIT.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.directives.taglib; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.tags.tck.SimpleTag; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public URLClientIT() throws Exception { + + + setContextRoot("/jsp_core_syntx_direct_taglib_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_core_syntx_direct_taglib_web.war"); + archive.addClasses(SimpleTag.class); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_core_syntx_direct_taglib_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/common.tld", "common.tld"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveTagLib.jsp")), "positiveTagLib.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveTagLibTest + * + * @assertion_ids: JSP:SPEC:59; JSP:SPEC:64 + * + * @test_Strategy: Validate that the taglib directive is recognized by the + * container by declaring a new tag and calling an action against that tag. + */ + + @Test + public void positiveTagLibTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_core_syntx_direct_taglib_web/positiveTagLib.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java deleted file mode 100644 index 448efee526..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.implicitobjects; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/implicitobjects"); - setContextRoot("/jsp_coresyntx_implicitobjects_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: checkSessionTest - * - * @assertion_ids: JSP:SPEC:15 - * - * @test_Strategy: Validate that the object associated with the session - * scripting variable is of type jakarta.servlet.http.HttpSession and that a - * method can be called against it. - */ - - public void checkSessionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkSession"); - invoke(); - } - - /* - * @testName: checkConfigTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the config - * scripting variable is of type jakarta.servlet.ServletConfig and that a method - * can be called against it. - */ - - public void checkConfigTest() throws Exception { - String testName = "checkConfig"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_implicitobjects_web/" + testName + " HTTP/1.0"); - invoke(); - } - - /* - * @testName: checkExceptionTest - * - * @assertion_ids: JSP:SPEC:17 - * - * @test_Strategy: Validate that the object associated with the exception - * scripting variable is of an instance of the exception type thrown (a - * subclass of java.lang.Throwable). - */ - - public void checkExceptionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkException"); - TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); - invoke(); - } - - /* - * @testName: checkOutTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the out scripting - * variable is of type jakarta.servlet.jsp.JspWriter. - */ - - public void checkOutTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkOut"); - invoke(); - } - - /* - * @testName: checkPageTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the page scripting - * variable is of type java.lang.Object. - */ - - public void checkPageTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkPage"); - invoke(); - } - - /* - * @testName: checkPageContextTest - * - * @assertion_ids: JSP:SPEC:14 - * - * @test_Strategy: Validate that the object associated with the pageContext - * scripting variable is of type jakarta.servlet.jsp.PageContext and that a - * method can be called against it. - */ - - public void checkPageContextTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkPageContext"); - invoke(); - } - - /* - * @testName: checkRequestTest - * - * @assertion_ids: JSP:SPEC:12 - * - * @test_Strategy: Validate that the object associated with the request - * scripting variable is of type jakarta.servlet.Request (parent class of - * HttpServletRequest) and that a method can be called against it. - */ - - public void checkRequestTest() throws Exception { - String testName = "checkRequest"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); - TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_implicitobjects_web/" - + testName + ".jsp?Years=2 HTTP/1.0"); - invoke(); - } - - /* - * @testName: checkResponseTest - * - * @assertion_ids: JSP:SPEC:13 - * - * @test_Strategy: Validate that the object associated with the response - * scripting variable is of type jakarta.servlet.Response (parent class of - * HttpServletResponse) and that a method can be called against it. - */ - - public void checkResponseTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkResponse"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "TestHeader:Method call OK"); - invoke(); - } - - /* - * @testName: checkApplicationTest - * - * @assertion_ids: JSP:SPEC:16 - * - * @test_Strategy: Validate that the object associated with the application - * scripting variable is of type jakarta.servlet.ServletContext that a method - * can be called against it. - */ - - public void checkApplicationTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "checkApplication"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClientIT.java new file mode 100644 index 0000000000..68da817bd6 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClientIT.java @@ -0,0 +1,249 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.implicitobjects; + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/implicitobjects"); + setContextRoot("/jsp_coresyntx_implicitobjects_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_implicitobjects_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_implicitobjects_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/Errorpage.jsp")), "Errorpage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkSession.jsp")), "checkSession.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkResponse.jsp")), "checkResponse.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkRequest.jsp")), "checkRequest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkPageContext.jsp")), "checkPageContext.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkPage.jsp")), "checkPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkOut.jsp")), "checkOut.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkException.jsp")), "checkException.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkConfig.jsp")), "checkConfig.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkApplication.jsp")), "checkApplication.jsp"); + + return archive; + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: checkSessionTest + * + * @assertion_ids: JSP:SPEC:15 + * + * @test_Strategy: Validate that the object associated with the session + * scripting variable is of type jakarta.servlet.http.HttpSession and that a + * method can be called against it. + */ + + @Test + public void checkSessionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkSession.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkSession"); + invoke(); + } + + /* + * @testName: checkConfigTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the config + * scripting variable is of type jakarta.servlet.ServletConfig and that a method + * can be called against it. + */ + + @Test + public void checkConfigTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkConfig.gf"); + setGoldenFileStream(gfStream); + String testName = "checkConfig"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_implicitobjects_web/" + testName + " HTTP/1.0"); + invoke(); + } + + /* + * @testName: checkExceptionTest + * + * @assertion_ids: JSP:SPEC:17 + * + * @test_Strategy: Validate that the object associated with the exception + * scripting variable is of an instance of the exception type thrown (a + * subclass of java.lang.Throwable). + */ + + @Test + public void checkExceptionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkException.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkException"); + TEST_PROPS.setProperty(IGNORE_STATUS_CODE, "true"); + invoke(); + } + + /* + * @testName: checkOutTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the out scripting + * variable is of type jakarta.servlet.jsp.JspWriter. + */ + + @Test + public void checkOutTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkOut.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkOut"); + invoke(); + } + + /* + * @testName: checkPageTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the page scripting + * variable is of type java.lang.Object. + */ + + @Test + public void checkPageTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkPage.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkPage"); + invoke(); + } + + /* + * @testName: checkPageContextTest + * + * @assertion_ids: JSP:SPEC:14 + * + * @test_Strategy: Validate that the object associated with the pageContext + * scripting variable is of type jakarta.servlet.jsp.PageContext and that a + * method can be called against it. + */ + + @Test + public void checkPageContextTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkPageContext.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkPageContext"); + invoke(); + } + + /* + * @testName: checkRequestTest + * + * @assertion_ids: JSP:SPEC:12 + * + * @test_Strategy: Validate that the object associated with the request + * scripting variable is of type jakarta.servlet.Request (parent class of + * HttpServletRequest) and that a method can be called against it. + */ + + @Test + public void checkRequestTest() throws Exception { + String testName = "checkRequest"; + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkRequest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(GOLDENFILE, testName + ".gf"); + TEST_PROPS.setProperty(REQUEST, "GET /jsp_coresyntx_implicitobjects_web/" + + testName + ".jsp?Years=2 HTTP/1.0"); + invoke(); + } + + /* + * @testName: checkResponseTest + * + * @assertion_ids: JSP:SPEC:13 + * + * @test_Strategy: Validate that the object associated with the response + * scripting variable is of type jakarta.servlet.Response (parent class of + * HttpServletResponse) and that a method can be called against it. + */ + + @Test + public void checkResponseTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkResponse.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkResponse"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "TestHeader:Method call OK"); + invoke(); + } + + /* + * @testName: checkApplicationTest + * + * @assertion_ids: JSP:SPEC:16 + * + * @test_Strategy: Validate that the object associated with the application + * scripting variable is of type jakarta.servlet.ServletContext that a method + * can be called against it. + */ + + @Test + public void checkApplicationTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/checkApplication.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "checkApplication"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClient.java deleted file mode 100644 index 3cbe8f9ba3..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClient.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.scripting.declaration; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/scripting/declaration"); - setContextRoot("/jsp_coresyntx_script_declaration_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveDeclarationTest - * - * @assertion_ids: JSP:SPEC:74;PENDING - * - * @test_Strategy: Validate the scripting declarations are properly - * recognized, by declaring and assigning a value to an int variable, and - * displaying the value of the variable (validate in both standard and XML - * syntax. - */ - - public void positiveDeclarationTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveDeclaration"); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_declaration_web/positiveDeclaration.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClientIT.java new file mode 100644 index 0000000000..8b6bd36398 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClientIT.java @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.scripting.declaration; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/scripting/declaration"); + setContextRoot("/jsp_coresyntx_script_declaration_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_script_declaration_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_script_declaration_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDeclaration.jsp")), "positiveDeclaration.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDeclaration.jspx")), "positiveDeclaration.jspx"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveDeclarationTest + * + * @assertion_ids: JSP:SPEC:74;PENDING + * + * @test_Strategy: Validate the scripting declarations are properly + * recognized, by declaring and assigning a value to an int variable, and + * displaying the value of the variable (validate in both standard and XML + * syntax. + */ + + @Test + public void positiveDeclarationTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveDeclaration.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveDeclaration"); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_declaration_web/positiveDeclaration.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java deleted file mode 100644 index a4dff2e1c1..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java +++ /dev/null @@ -1,540 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.scripting.el; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: elInvocationAndUsageTest - * - * @assertion_ids: JSP:SPEC:97;JSP:SPEC:99;JSP:SPEC:100 - * - * @test_Strategy: Validate EL expression will be evaluated by the container - * when provided as attribute values for actions that accept dynamic values, - * as body content when body content type is not tagdependent, as template - * text, and that the expression is only evaluated using the construct - * ${expr}. - */ - public void elInvocationAndUsageTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElInvocationAndUsageTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "Expression in template text: Evaluated|" - + "These should not be evaluated: {pageScope.eval}, pageScope.eval}, {pageScope.eval|" - + "Expression from attribute: Evaluated|" - + "Expression in body of action: Evaluated|" - + "Expression in body of tagdependent body content tag: ${pageScope.eval}"); - invoke(); - } - - /* - * @testName: elStaticAttributeTest - * - * @assertion_ids: JSP:SPEC:98 - * - * @test_Strategy: Validate EL expressions provided to an action that does not - * accept dynamic attributes will result in a translation error. - */ - public void elStaticAttributeTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElStaticAttributeTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: elAttributeSearchTest - * - * @assertion_ids: JSP:SPEC:118 - * - * @test_Strategy: Validate that if no scope qualifier is provided, attributes - * are located in the PageContext using the semantics of - * PageContext.findAttribute(String). If no attribute can be found, the - * expression evaluation must be null. - */ - public void elAttributeSearchTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElAttributeSearchTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBooleanLiteralTest - * - * @assertion_ids: JSP:SPEC:101 - * - * @test_Strategy: Validate that the EL Boolean literal evaluated as expected. - */ - public void elBooleanLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBooleanLiteralTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elNullLiteralTest - * - * @assertion_ids: JSP:SPEC:105 - * - * @test_Strategy: Validate that EL Null literal evaluated as expected. - */ - public void elNullLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElNullLiteralTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elIntegerLiteralTest - * - * @assertion_ids: JSP:SPEC:102 - * - * @test_Strategy: Validate that EL Integer literal evaluated as expected. - */ - public void elIntegerLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElIntegerLiteralTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elFloatingPointLiteralTest - * - * @assertion_ids: JSP:SPEC:103 - * - * @test_Strategy: Validate that EL Floating Point literal evaluated as - * expected. - */ - public void elFloatingPointLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElFloatingPointLiteralTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elStringLiteralTest - * - * @assertion_ids: JSP:SPEC:104 - * - * @test_Strategy: Validate that EL String literal evaluated as expected. - */ - public void elStringLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElStringLiteralTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBinaryOperators1Test - * - * @assertion_ids: JSP:SPEC:107.1;JSP:SPEC:107.2;JSP:SPEC:107.3;JSP:SPEC:107.4 - * - * @test_Strategy: Validate the binary operators, '+', '-', and '*' when using - * Doubles, Floats, and Strings. - */ - public void elBinaryOperators1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBinaryOperators1Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBinaryOperators2Test - * - * @assertion_ids: JSP:SPEC:108.1;JSP:SPEC:108.2;JSP:SPEC:108.3 - * - * @test_Strategy: Validate the binary operators, '/' and 'div' when using - * different types. - */ - public void elBinaryOperators2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBinaryOperators2Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBinaryOperators3Test - * - * @assertion_ids: JSP:SPEC:109.1;JSP:SPEC:109.2;JSP:SPEC:109.3;JSP:SPEC:109.4 - * - * @test_Strategy: Validate the binary operator '%' and 'mod' when using - * different types. - */ - public void elBinaryOperators3Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBinaryOperators3Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBinaryOperators4Test - * - * @assertion_ids: JSP:SPEC:113.1 - * - * @test_Strategy: Validate the binary operator '&&', 'and', '||', and "or' - * when using different types. - */ - public void elBinaryOperators4Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBinaryOperators4Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elUnaryOperators1Test - * - * @assertion_ids: JSP:SPEC:110.1;JSP:SPEC:110.2.1;JSP:SPEC:110.2.2; - * JSP:SPEC:110.2.3;JSP:SPEC:110.3 - * - * @test_Strategy: Validate the unary minus ('-') operator with variaous types - * and validate the evaluation of the expression returns the expected value. - */ - public void elUnaryOperators1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElUnaryOperators1Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elUnaryOperators2Test - * - * @assertion_ids: JSP:SPEC:114.1 - * - * @test_Strategy: Validate the unary minus ('!' and 'not') returns the - * expected value. - */ - public void elUnaryOperators2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElUnaryOperators2Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elRelationalOperators1Test - * - * @assertion_ids: JSP:SPEC:111.1;JSP:SPEC:111.2;JSP:SPEC:111.3; - * JSP:SPEC:111.4;JSP:SPEC:111.8;JSP:SPEC:111.5; JSP:SPEC:111.6 - * - * @test_Strategy: Validate the relational operators '<', '>', '<=', '>=', - * 'lt', 'gt', 'le', 'ge' when one value is null, as well as the various types - * (Double, Float, Short, etc). Verify the relational operation behaves as - * expected. - */ - public void elRelationalOperators1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElRelationalOperators1Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elRelationalOperators2Test - * - * @assertion_ids: JSP:SPEC:112.1;JSP:SPEC:112.2;JSP:SPEC:112.3; - * JSP:SPEC:112.4;JSP:SPEC:112.5;JSP:SPEC:112.6; JSP:SPEC:112.6.2 - * - * @test_Strategy: Validate the relational operators '==', '!=', 'ne', 'eq', - * when one value is null or both values are null, as well as the various - * types (Double, Float, Short, etc). Verify the relational operation behaves - * as expected. - */ - public void elRelationalOperators2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElRelationalOperators2Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elEmptyOperatorTest - * - * @assertion_ids: JSP:SPEC:115.1;JSP:SPEC:115.2;JSP:SPEC:115.3; - * JSP:SPEC:115.4;JSP:SPEC:115.5;JSP:SPEC:115.6 - * - * @test_Strategy: Validate the behavior of the EL 'empty' operator when used - * to evaluate null, String, array, Map, and Collection values (on the case of - * the array, map, and Collection, provide emtpy and non-empty values) - */ - public void elEmptyOperatorTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElEmptyOperatorTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elStringCoercionTest - * - * @assertion_ids: JSP:SPEC:135.1;JSP:SPEC:135.2;JSP:SPEC:135.4; - * JSP:SPEC:134.5 - * - * @testStrategy: Validate that various can be successfully corerced to a - * String using the EL string coercion rules. Also validate any error - * conditions that can occur during the coercion. - */ - public void elStringCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElStringCoercionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elNumberCoercionTest - * - * @assertion_ids: JSP:SPEC:136.1;JSP:SPEC:136.2;JSP:SPEC:136.3; - * JSP:SPEC:136.4;JSP:SPEC:136.5;JSP:SPEC:136.6; JSP:SPEC:136.7;JSP:SPEC:136.8 - * - * @testStrategy: Validate the EL is able to convert between the various - * number types successfully based on varying input and target values. Also - * validate any error conditions that can occur during the coercion. - */ - public void elNumberCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElNumberCoercionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elCharacterCoercionTest - * - * @assertion_ids: JSP:SPEC:137.1;JSP:SPEC:137.2;JSP:SPEC:137.3; - * JSP:SPEC:137.4;JSP:SPEC:137.5;JSP:SPEC:137.6 - * - * @testStrategy: Validate that the EL is able to convert various types to a - * Character. Also validate any error conditions that can occur during the - * coercion. - */ - public void elCharacterCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElCharacterCoercionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elBooleanCoercionTest - * - * @assertion_ids: JSP:SPEC:138.1;JSP:SPEC:138.2;JSP:SPEC:138.3; - * JSP:SPEC:138.4;JSP:SPEC:138.5 - * - * @testStrategy: Validate that the EL is able to convert various types to a - * Boolean. Also validate any error conditions that can occur during the - * coercion. - */ - public void elBooleanCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElBooleanCoercionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elOtherTypeCoercionTest - * - * @assertion_ids: JSP:SPEC:139.1;JSP:SPEC:139.2;JSP:SPEC:139.3; - * JSP:SPEC:139.6 - * - * @testStrategy: Validate that the EL is able to convert various types - * including invoking propery editors if target type has PropertyEditory. - * Additionally validate any specified error conditions. - */ - public void elOtherTypeCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElOtherTypeCoercionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: elPrimitiveBoxedTypeConversionTest - * - * @assertion_ids: JSP:SPEC:134.1;JSP:SPEC:134.2;JSP:SPEC:134.4 - * - * @testStrategy: Validate that if the target type is primitive and the - * resulting EL evaluation is a boxed type, the result is 'unboxed' and passed - * to the attribute. If a runtime error doens't occur due to a type problem, - * the test passes. - */ - public void elPrimitiveBoxedTypeConversionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElPrimitiveBoxedTypeConversionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: elFunctionInvocationTest - * - * @assertion_ids: JSP:SPEC:122.5;JSP:SPEC:122.6 - * - * @test_Strategy: Validation an EL Function can be successfully invoked. - */ - public void elFunctionInvocationTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElFunctionInvocationTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: elNonExistingFunctionNameTest - * - * @assertion_ids: JSP:SPEC:122.3 - * - * @test_Strategy: Validate a translation error occurs if the specified - * function name doesn't exist in the imported taglibrary. - */ - public void elNonExistingFunctionNameTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElNonExistingFunctionNameTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: elNonMatchingFunctionSignatureTest - * - * @assertion_ids: JSP:SPEC:122.4 - * - * @test_Strategy: Validate a translation error occurs if the specified - * function find a matching name, but the signature doesn't match. - */ - public void elNonMatchingFunctionSignatureTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElNonMatchingFunctionSignatureTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: elNonStaticPublicFunctionTest - * - * @assertion_ids: JSP:SPEC:120 - * - * @test_Strategy: Validate a translation error occurs if the specified - * function is not defined a public static. - */ - public void elNonStaticPublicFunctionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ElNonStaticPublicFunctionTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: elTernaryOperatorTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the operation/evaluation of the container when - * presented with ternary operator expressions. - */ - public void elTernaryOperatorTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/ELTernaryOperatorTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED"); - invoke(); - } - - /* - * @testName: elBinaryOperatorParenthesesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the operation/evaluation of the container when - * presented with binary operator expressions with parentheses. - */ - public void elBinaryOperatorParenthesesTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_coresyntx_script_el_web/elBinaryOperatorParenthesesTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true|true|true|true|2|1.4"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClientIT.java new file mode 100644 index 0000000000..7da939d8ad --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClientIT.java @@ -0,0 +1,627 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.scripting.el; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public URLClientIT() throws Exception { + + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_script_el_web.war"); + archive.addClasses(JspTestUtil.class); + archive.addPackages(true, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_script_el_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/el.tld", "el.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/nonstatic.tld", "nonstatic.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElAttributeSearchTest.jsp")), "ElAttributeSearchTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/elBinaryOperatorParenthesesTest.jsp")), "elBinaryOperatorParenthesesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBinaryOperators1Test.jsp")), "ElBinaryOperators1Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBinaryOperators2Test.jsp")), "ElBinaryOperators2Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBinaryOperators3Test.jsp")), "ElBinaryOperators3Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBinaryOperators4Test.jsp")), "ElBinaryOperators4Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBooleanCoercionTest.jsp")), "ElBooleanCoercionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElBooleanLiteralTest.jsp")), "ElBooleanLiteralTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElCharacterCoercionTest.jsp")), "ElCharacterCoercionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElEcmaBeanAccessTest.jsp")), "ElEcmaBeanAccessTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElEcmaListArrayTest.jsp")), "ElEcmaListArrayTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElEcmaMapTest.jsp")), "ElEcmaMapTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElEcmaNullValuesTest.jsp")), "ElEcmaNullValuesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElEmptyOperatorTest.jsp")), "ElEmptyOperatorTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElFloatingPointLiteralTest.jsp")), "ElFloatingPointLiteralTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElFunctionInvocationTest.jsp")), "ElFunctionInvocationTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElFunctionNamespaceTest.jsp")), "ElFunctionNamespaceTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitApplicationScopeTest.jsp")), "ElImplicitApplicationScopeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitCookieTest.jsp")), "ElImplicitCookieTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitHeaderTest.jsp")), "ElImplicitHeaderTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitHeaderValuesTest.jsp")), "ElImplicitHeaderValuesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitInitParamTest.jsp")), "ElImplicitInitParamTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitPageContextTest.jsp")), "ElImplicitPageContextTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitPageScopeTest.jsp")), "ElImplicitPageScopeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitParamTest.jsp")), "ElImplicitParamTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitParamValuesTest.jsp")), "ElImplicitParamValuesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitRequestScopeTest.jsp")), "ElImplicitRequestScopeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElImplicitSessionScopeTest.jsp")), "ElImplicitSessionScopeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElIntegerLiteralTest.jsp")), "ElIntegerLiteralTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElInvocationAndUsageTest.jsp")), "ElInvocationAndUsageTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElNonExistingFunctionNameTest.jsp")), "ElNonExistingFunctionNameTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElNonMatchingFunctionSignatureTest.jsp")), "ElNonMatchingFunctionSignatureTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElNonStaticPublicFunctionTest.jsp")), "ElNonStaticPublicFunctionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElNullLiteralTest.jsp")), "ElNullLiteralTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElNumberCoercionTest.jsp")), "ElNumberCoercionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElOtherTypeCoercionTest.jsp")), "ElOtherTypeCoercionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElPrimitiveBoxedTypeConversionTest.jsp")), "ElPrimitiveBoxedTypeConversionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElRelationalOperators1Test.jsp")), "ElRelationalOperators1Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElRelationalOperators2Test.jsp")), "ElRelationalOperators2Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElStaticAttributeTest.jsp")), "ElStaticAttributeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElStringCoercionTest.jsp")), "ElStringCoercionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElStringLiteralTest.jsp")), "ElStringLiteralTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELTernaryOperatorTest.jsp")), "ELTernaryOperatorTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElUnaryOperators1Test.jsp")), "ElUnaryOperators1Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ElUnaryOperators2Test.jsp")), "ElUnaryOperators2Test.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: elInvocationAndUsageTest + * + * @assertion_ids: JSP:SPEC:97;JSP:SPEC:99;JSP:SPEC:100 + * + * @test_Strategy: Validate EL expression will be evaluated by the container + * when provided as attribute values for actions that accept dynamic values, + * as body content when body content type is not tagdependent, as template + * text, and that the expression is only evaluated using the construct + * ${expr}. + */ + @Test + public void elInvocationAndUsageTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElInvocationAndUsageTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "Expression in template text: Evaluated|" + + "These should not be evaluated: {pageScope.eval}, pageScope.eval}, {pageScope.eval|" + + "Expression from attribute: Evaluated|" + + "Expression in body of action: Evaluated|" + + "Expression in body of tagdependent body content tag: ${pageScope.eval}"); + invoke(); + } + + /* + * @testName: elStaticAttributeTest + * + * @assertion_ids: JSP:SPEC:98 + * + * @test_Strategy: Validate EL expressions provided to an action that does not + * accept dynamic attributes will result in a translation error. + */ + @Test + public void elStaticAttributeTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElStaticAttributeTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: elAttributeSearchTest + * + * @assertion_ids: JSP:SPEC:118 + * + * @test_Strategy: Validate that if no scope qualifier is provided, attributes + * are located in the PageContext using the semantics of + * PageContext.findAttribute(String). If no attribute can be found, the + * expression evaluation must be null. + */ + @Test + public void elAttributeSearchTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElAttributeSearchTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBooleanLiteralTest + * + * @assertion_ids: JSP:SPEC:101 + * + * @test_Strategy: Validate that the EL Boolean literal evaluated as expected. + */ + @Test + public void elBooleanLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBooleanLiteralTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elNullLiteralTest + * + * @assertion_ids: JSP:SPEC:105 + * + * @test_Strategy: Validate that EL Null literal evaluated as expected. + */ + @Test + public void elNullLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElNullLiteralTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elIntegerLiteralTest + * + * @assertion_ids: JSP:SPEC:102 + * + * @test_Strategy: Validate that EL Integer literal evaluated as expected. + */ + @Test + public void elIntegerLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElIntegerLiteralTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elFloatingPointLiteralTest + * + * @assertion_ids: JSP:SPEC:103 + * + * @test_Strategy: Validate that EL Floating Point literal evaluated as + * expected. + */ + @Test + public void elFloatingPointLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElFloatingPointLiteralTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elStringLiteralTest + * + * @assertion_ids: JSP:SPEC:104 + * + * @test_Strategy: Validate that EL String literal evaluated as expected. + */ + @Test + public void elStringLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElStringLiteralTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBinaryOperators1Test + * + * @assertion_ids: JSP:SPEC:107.1;JSP:SPEC:107.2;JSP:SPEC:107.3;JSP:SPEC:107.4 + * + * @test_Strategy: Validate the binary operators, '+', '-', and '*' when using + * Doubles, Floats, and Strings. + */ + @Test + public void elBinaryOperators1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBinaryOperators1Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBinaryOperators2Test + * + * @assertion_ids: JSP:SPEC:108.1;JSP:SPEC:108.2;JSP:SPEC:108.3 + * + * @test_Strategy: Validate the binary operators, '/' and 'div' when using + * different types. + */ + @Test + public void elBinaryOperators2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBinaryOperators2Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBinaryOperators3Test + * + * @assertion_ids: JSP:SPEC:109.1;JSP:SPEC:109.2;JSP:SPEC:109.3;JSP:SPEC:109.4 + * + * @test_Strategy: Validate the binary operator '%' and 'mod' when using + * different types. + */ + @Test + public void elBinaryOperators3Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBinaryOperators3Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBinaryOperators4Test + * + * @assertion_ids: JSP:SPEC:113.1 + * + * @test_Strategy: Validate the binary operator '&&', 'and', '||', and "or' + * when using different types. + */ + @Test + public void elBinaryOperators4Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBinaryOperators4Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elUnaryOperators1Test + * + * @assertion_ids: JSP:SPEC:110.1;JSP:SPEC:110.2.1;JSP:SPEC:110.2.2; + * JSP:SPEC:110.2.3;JSP:SPEC:110.3 + * + * @test_Strategy: Validate the unary minus ('-') operator with variaous types + * and validate the evaluation of the expression returns the expected value. + */ + @Test + public void elUnaryOperators1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElUnaryOperators1Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elUnaryOperators2Test + * + * @assertion_ids: JSP:SPEC:114.1 + * + * @test_Strategy: Validate the unary minus ('!' and 'not') returns the + * expected value. + */ + @Test + public void elUnaryOperators2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElUnaryOperators2Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elRelationalOperators1Test + * + * @assertion_ids: JSP:SPEC:111.1;JSP:SPEC:111.2;JSP:SPEC:111.3; + * JSP:SPEC:111.4;JSP:SPEC:111.8;JSP:SPEC:111.5; JSP:SPEC:111.6 + * + * @test_Strategy: Validate the relational operators '<', '>', '<=', '>=', + * 'lt', 'gt', 'le', 'ge' when one value is null, as well as the various types + * (Double, Float, Short, etc). Verify the relational operation behaves as + * expected. + */ + @Test + public void elRelationalOperators1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElRelationalOperators1Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elRelationalOperators2Test + * + * @assertion_ids: JSP:SPEC:112.1;JSP:SPEC:112.2;JSP:SPEC:112.3; + * JSP:SPEC:112.4;JSP:SPEC:112.5;JSP:SPEC:112.6; JSP:SPEC:112.6.2 + * + * @test_Strategy: Validate the relational operators '==', '!=', 'ne', 'eq', + * when one value is null or both values are null, as well as the various + * types (Double, Float, Short, etc). Verify the relational operation behaves + * as expected. + */ + @Test + public void elRelationalOperators2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElRelationalOperators2Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elEmptyOperatorTest + * + * @assertion_ids: JSP:SPEC:115.1;JSP:SPEC:115.2;JSP:SPEC:115.3; + * JSP:SPEC:115.4;JSP:SPEC:115.5;JSP:SPEC:115.6 + * + * @test_Strategy: Validate the behavior of the EL 'empty' operator when used + * to evaluate null, String, array, Map, and Collection values (on the case of + * the array, map, and Collection, provide emtpy and non-empty values) + */ + @Test + public void elEmptyOperatorTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElEmptyOperatorTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elStringCoercionTest + * + * @assertion_ids: JSP:SPEC:135.1;JSP:SPEC:135.2;JSP:SPEC:135.4; + * JSP:SPEC:134.5 + * + * @testStrategy: Validate that various can be successfully corerced to a + * String using the EL string coercion rules. Also validate any error + * conditions that can occur during the coercion. + */ + @Test + public void elStringCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElStringCoercionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elNumberCoercionTest + * + * @assertion_ids: JSP:SPEC:136.1;JSP:SPEC:136.2;JSP:SPEC:136.3; + * JSP:SPEC:136.4;JSP:SPEC:136.5;JSP:SPEC:136.6; JSP:SPEC:136.7;JSP:SPEC:136.8 + * + * @testStrategy: Validate the EL is able to convert between the various + * number types successfully based on varying input and target values. Also + * validate any error conditions that can occur during the coercion. + */ + @Test + public void elNumberCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElNumberCoercionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elCharacterCoercionTest + * + * @assertion_ids: JSP:SPEC:137.1;JSP:SPEC:137.2;JSP:SPEC:137.3; + * JSP:SPEC:137.4;JSP:SPEC:137.5;JSP:SPEC:137.6 + * + * @testStrategy: Validate that the EL is able to convert various types to a + * Character. Also validate any error conditions that can occur during the + * coercion. + */ + @Test + public void elCharacterCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElCharacterCoercionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elBooleanCoercionTest + * + * @assertion_ids: JSP:SPEC:138.1;JSP:SPEC:138.2;JSP:SPEC:138.3; + * JSP:SPEC:138.4;JSP:SPEC:138.5 + * + * @testStrategy: Validate that the EL is able to convert various types to a + * Boolean. Also validate any error conditions that can occur during the + * coercion. + */ + @Test + public void elBooleanCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElBooleanCoercionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elOtherTypeCoercionTest + * + * @assertion_ids: JSP:SPEC:139.1;JSP:SPEC:139.2;JSP:SPEC:139.3; + * JSP:SPEC:139.6 + * + * @testStrategy: Validate that the EL is able to convert various types + * including invoking propery editors if target type has PropertyEditory. + * Additionally validate any specified error conditions. + */ + @Test + public void elOtherTypeCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElOtherTypeCoercionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: elPrimitiveBoxedTypeConversionTest + * + * @assertion_ids: JSP:SPEC:134.1;JSP:SPEC:134.2;JSP:SPEC:134.4 + * + * @testStrategy: Validate that if the target type is primitive and the + * resulting EL evaluation is a boxed type, the result is 'unboxed' and passed + * to the attribute. If a runtime error doens't occur due to a type problem, + * the test passes. + */ + @Test + public void elPrimitiveBoxedTypeConversionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElPrimitiveBoxedTypeConversionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: elFunctionInvocationTest + * + * @assertion_ids: JSP:SPEC:122.5;JSP:SPEC:122.6 + * + * @test_Strategy: Validation an EL Function can be successfully invoked. + */ + @Test + public void elFunctionInvocationTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElFunctionInvocationTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: elNonExistingFunctionNameTest + * + * @assertion_ids: JSP:SPEC:122.3 + * + * @test_Strategy: Validate a translation error occurs if the specified + * function name doesn't exist in the imported taglibrary. + */ + @Test + public void elNonExistingFunctionNameTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElNonExistingFunctionNameTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: elNonMatchingFunctionSignatureTest + * + * @assertion_ids: JSP:SPEC:122.4 + * + * @test_Strategy: Validate a translation error occurs if the specified + * function find a matching name, but the signature doesn't match. + */ + @Test + public void elNonMatchingFunctionSignatureTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElNonMatchingFunctionSignatureTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: elNonStaticPublicFunctionTest + * + * @assertion_ids: JSP:SPEC:120 + * + * @test_Strategy: Validate a translation error occurs if the specified + * function is not defined a public static. + */ + @Test + public void elNonStaticPublicFunctionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ElNonStaticPublicFunctionTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: elTernaryOperatorTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the operation/evaluation of the container when + * presented with ternary operator expressions. + */ + @Test + public void elTernaryOperatorTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/ELTernaryOperatorTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "Test PASSED|Test PASSED|Test PASSED|Test PASSED|Test PASSED"); + invoke(); + } + + /* + * @testName: elBinaryOperatorParenthesesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the operation/evaluation of the container when + * presented with binary operator expressions with parentheses. + */ + @Test + public void elBinaryOperatorParenthesesTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_coresyntx_script_el_web/elBinaryOperatorParenthesesTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true|true|true|true|2|1.4"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClient.java deleted file mode 100644 index 783e76221a..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClient.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.scripting.escaping; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/scripting/escaping"); - setContextRoot("/jsp_coresyntx_script_escape_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - */ - - /* Run tests */ - - // ============================================ Tests ====== - - /* - * @testName: positiveEscapingTest - * - * @assertion_ids: JSP:SPEC:7 - * - * @testStrategy: Validate handling of escaped entities. - */ - public void positiveEscapingTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveEscapingTest"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClientIT.java new file mode 100644 index 0000000000..b11475b6ec --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClientIT.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.scripting.escaping; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/scripting/escaping"); + setContextRoot("/jsp_coresyntx_script_escape_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_script_escape_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_script_escape_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveEscapingTest.jsp")), "positiveEscapingTest.jsp"); + + return archive; + + } + + + /* Run tests */ + + // ============================================ Tests ====== + + /* + * @testName: positiveEscapingTest + * + * @assertion_ids: JSP:SPEC:7 + * + * @testStrategy: Validate handling of escaped entities. + */ + @Test + public void positiveEscapingTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveEscapingTest.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveEscapingTest"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java deleted file mode 100644 index 4853a5858a..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.scripting.expressions; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/scripting/expressions"); - setContextRoot("/jsp_coresyntx_script_expressions_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveExprTest - * - * @assertion_ids: JSP:SPEC:77 - * - * @test_Strategy: Validate that the container can correctly support a basic - * expression by validating the output returned. - */ - - public void positiveExprTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveExpr"); - invoke(); - } - - /* - * @testName: positiveExprCommentTest - * - * @assertion_ids: JSP:SPEC:5 - * - * @test_Strategy: Validate that an HTML stye comment with an embedded - * expression returns the value of the expression within the comment and that - * the HTML comment is treated as template text. - */ - - public void positiveExprCommentTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveExprComment"); - invoke(); - } - - /* - * @testName: positiveExprWhiteSpaceTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the container correctly handles different - * whitespace values with an expression element. - */ - - public void positiveExprWhiteSpaceTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveExprWhiteSpace"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClientIT.java new file mode 100644 index 0000000000..852a4c30fd --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClientIT.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.scripting.expressions; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/scripting/expressions"); + setContextRoot("/jsp_coresyntx_script_expressions_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_script_expressions_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_script_expressions_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveExprWhiteSpace.jsp")), "positiveExprWhiteSpace.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveExprComment.jsp")), "positiveExprComment.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveExpr.jsp")), "positiveExpr.jsp"); + + return archive; + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveExprTest + * + * @assertion_ids: JSP:SPEC:77 + * + * @test_Strategy: Validate that the container can correctly support a basic + * expression by validating the output returned. + */ + + @Test + public void positiveExprTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveExpr.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveExpr"); + invoke(); + } + + /* + * @testName: positiveExprCommentTest + * + * @assertion_ids: JSP:SPEC:5 + * + * @test_Strategy: Validate that an HTML stye comment with an embedded + * expression returns the value of the expression within the comment and that + * the HTML comment is treated as template text. + */ + + @Test + public void positiveExprCommentTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveExprComment.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveExprComment"); + invoke(); + } + + /* + * @testName: positiveExprWhiteSpaceTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the container correctly handles different + * whitespace values with an expression element. + */ + + @Test + public void positiveExprWhiteSpaceTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveExprWhiteSpace.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveExprWhiteSpace"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClient.java deleted file mode 100644 index 5fcd1db2ce..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClient.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.core_syntax.scripting.scriptlet; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/core_syntax/scripting/scriptlet"); - setContextRoot("/jsp_coresyntx_script_scriptlet_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveScriptletTest - * - * @assertion_ids: JSP:SPEC:76 - * - * @test_Strategy: Correct syntax is used in the scriptlet - * - */ - - public void positiveScriptletTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, "positiveScriptlet"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClientIT.java new file mode 100644 index 0000000000..0877c3acdd --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClientIT.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.core_syntax.scripting.scriptlet; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/core_syntax/scripting/scriptlet"); + setContextRoot("/jsp_coresyntx_script_scriptlet_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_coresyntx_script_scriptlet_web.war"); + archive.addClasses(Counter.class); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_coresyntx_script_scriptlet_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveScriptlet.jsp")), "positiveScriptlet.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveScriptletTest + * + * @assertion_ids: JSP:SPEC:76 + * + * @test_Strategy: Correct syntax is used in the scriptlet + * + */ + + @Test + public void positiveScriptletTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/positiveScriptlet.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, "positiveScriptlet"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java deleted file mode 100644 index 7f502b524b..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. - * All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * @(#)URLClient.java 1.2 05/05/03 - */ - -package com.sun.ts.tests.jsp.spec.el.jsp; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/el/jsp/"); - setContextRoot("/jsp_el_jsp_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: positiveELDeferredValueValueTest - * - * @assertion_ids: JSP:SPEC:282 - * - * @test_Strategy: [ELDeferredValueValue] In a jsp page, pass a String literal - * expression and an expression using the #{} syntax to a tag handler via a - * deferred-value element in the tld file. Verify that the expressions are - * accepted and that their values are transmitted correctly to the tag - * handler. - */ - public void positiveELDeferredValueValueTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/positiveELDeferredValueValue.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeELDeferredValueValueTest - * - * @assertion_ids: JSP:SPEC:282 - * - * @test_Strategy: [ELDeferredValueValue] In a jsp page, pass an expression - * using the ${} syntax to a tag handler via a deferred-value element in the - * tld file. Verify that a page translation error occurs. - */ - public void negativeELDeferredValueValueTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/negativeELDeferredValueValue.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: eLDeferredValueCoercionTest - * - * @assertion_ids: JSP:SPEC:284 - * - * @test_Strategy: [ELDeferredValueCoercion] In a jsp page, pass a String - * literal expression and an expression using the #{} syntax to a tag handler - * via a deferred-value element in the tld file. Verify that the expressions - * are accepted, that their values are coerced to the expected type and - * evaluate as expected. - */ - public void eLDeferredValueCoercionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/ELDeferredValueCoercion.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveELDeferredMethodValueTest - * - * @assertion_ids: JSP:SPEC:287 - * - * @test_Strategy: [ELDeferredMethodValue] In a jsp page, pass a String - * literal expression and an expression using the #{} syntax to a tag handler - * via a deferred-method element in the tld file. Verify that the expressions - * are accepted and that their values are transmitted correctly to the tag - * handler. - */ - public void positiveELDeferredMethodValueTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/positiveELDeferredMethodValue.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeELDeferredMethodValueTest - * - * @assertion_ids: JSP:SPEC:287 - * - * @test_Strategy: [ELDeferredMethodValue] In a jsp page, pass an expression - * using the ${} syntax to a tag handler via a deferred-method element in the - * tld file. Verify that a page translation error occurs. - */ - public void negativeELDeferredMethodValueTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/negativeELDeferredMethodValue.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: eLDeferredMethodStringLiteralTest - * - * @assertion_ids: JSP:SPEC:288 - * - * @test_Strategy: [ELDeferredMethodStringLiteral] In a jsp page, pass a - * literal expression representing a String and a literal expression - * representing a Double to a tag handler via a deferred-method element in the - * tld file. Verify that the expressions are accepted, that they are coerced - * to the proper type and have the expected values. - */ - public void eLDeferredMethodStringLiteralTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteral.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: eLDeferredMethodStringLiteralErrorTest1 - * - * @assertion_ids: JSP:SPEC:289 - * - * @test_Strategy: [ELDeferredMethodStringLiteralError] In a jsp page, pass a - * string literal to a tag handler via a deferred-method element in the tld - * file where the method signature -element has a return value of void. Verify - * that a page translation error occurs. - */ - public void eLDeferredMethodStringLiteralErrorTest1() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteralError1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: eLDeferredMethodStringLiteralErrorTest2 - * - * @assertion_ids: JSP:SPEC:289 - * - * @test_Strategy: [ELDeferredMethodStringLiteralError] In a jsp page, pass a - * string literal to a tag handler via a deferred-method element in the tld - * file where the string literal cannot be coerced to the return type of the - * method signature. Verify that a page translation error occurs. - */ - public void eLDeferredMethodStringLiteralErrorTest2() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteralError2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: templateTextPoundTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:272 - * - * @test_Strategy: [TemplateTextPoundTranslationError] Verify that the #{ - * character sequence, when embedded in template text, triggers a translation - * error. - */ - public void templateTextPoundTranslationErrorTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/TemplateTextPoundTranslationError.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: tagLibraryPoundTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:273 - * - * @test_Strategy: [TagLibraryPoundTranslationError] Verify that the #{ - * character sequence triggers a translation error if used for a tag attribute - * of a tag library where the jsp-version is greater than or equal to 2.1, and - * for which the attribute is not marked as a deferred expression in the TLD. - */ - public void tagLibraryPoundTranslationErrorTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/TagLibraryPoundTranslationError.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: allowedDynamicAttributeValueTypesTest - * - * @assertion_ids: JSP:SPEC:290 - * - * @test_Strategy: [AllowedDynamicAttributeValueTypes] In a jsp page, pass a - * literal expression, a scriptlet expression, an expression using the ${} - * syntax, and deferred-value and deferred-method expressions using the #{} - * syntax as dynamic attributes to a tag handler. Verify that the expressions - * are accepted. - */ - public void allowedDynamicAttributeValueTypesTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/AllowedDynamicAttributeValueTypes.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: dynamicAttributeSetterMethodTest - * - * @assertion_ids: JSP:SPEC:291 - * - * @test_Strategy: [DynamicAttributeSetterMethod] Verify that an argument to - * the setter method of a dynamic attribute must be of type java.lang.Object. - * Implement a tag handler with a setter method whose argument is a primitive - * type and see that the container generates an internal server error. - */ - public void dynamicAttributeSetterMethodTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/DynamicAttributeSetterMethod.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - - /* - * @testName: implicitImportTest - * - * @assertion_ids: JSP:SPEC:35 - * - * @test_Strategy: [ImplicitELImport] Verify that each of the implicit package - * is available to the EL environment. - */ - public void implicitImportTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_jsp_web/ImplicitELImport.jsp HTTP/1.1"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClientIT.java new file mode 100644 index 0000000000..888aa71c71 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/jsp/URLClientIT.java @@ -0,0 +1,325 @@ +/* + * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. + * All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * @(#)URLClient.java 1.2 05/05/03 + */ + +package com.sun.ts.tests.jsp.spec.el.jsp; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; +import com.sun.ts.tests.jsp.common.tags.tck.SetTag; +import com.sun.ts.tests.common.el.spec.Book; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/el/jsp/"); + setContextRoot("/jsp_el_jsp_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_el_jsp_web.war"); + archive.addClasses(JspTestUtil.class, + SetTag.class, + Book.class + ); + archive.addPackages(true, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_el_jsp_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/el_jsp.tld", "el_jsp.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TemplateTextPoundTranslationError.jsp")), "TemplateTextPoundTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TagLibraryPoundTranslationError.jsp")), "TagLibraryPoundTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveELDeferredValueValue.jsp")), "positiveELDeferredValueValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveELDeferredMethodValue.jsp")), "positiveELDeferredMethodValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeELDeferredValueValue.jsp")), "negativeELDeferredValueValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeELDeferredMethodValue.jsp")), "negativeELDeferredMethodValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitELImport.jsp")), "ImplicitELImport.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELDeferredValueCoercion.jsp")), "ELDeferredValueCoercion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELDeferredMethodStringLiteralError2.jsp")), "ELDeferredMethodStringLiteralError2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELDeferredMethodStringLiteralError1.jsp")), "ELDeferredMethodStringLiteralError1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELDeferredMethodStringLiteral.jsp")), "ELDeferredMethodStringLiteral.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DynamicAttributeSetterMethod.jsp")), "DynamicAttributeSetterMethod.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/AllowedDynamicAttributeValueTypes.jsp")), "AllowedDynamicAttributeValueTypes.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: positiveELDeferredValueValueTest + * + * @assertion_ids: JSP:SPEC:282 + * + * @test_Strategy: [ELDeferredValueValue] In a jsp page, pass a String literal + * expression and an expression using the #{} syntax to a tag handler via a + * deferred-value element in the tld file. Verify that the expressions are + * accepted and that their values are transmitted correctly to the tag + * handler. + */ + @Test + public void positiveELDeferredValueValueTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/positiveELDeferredValueValue.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeELDeferredValueValueTest + * + * @assertion_ids: JSP:SPEC:282 + * + * @test_Strategy: [ELDeferredValueValue] In a jsp page, pass an expression + * using the ${} syntax to a tag handler via a deferred-value element in the + * tld file. Verify that a page translation error occurs. + */ + @Test + public void negativeELDeferredValueValueTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/negativeELDeferredValueValue.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: eLDeferredValueCoercionTest + * + * @assertion_ids: JSP:SPEC:284 + * + * @test_Strategy: [ELDeferredValueCoercion] In a jsp page, pass a String + * literal expression and an expression using the #{} syntax to a tag handler + * via a deferred-value element in the tld file. Verify that the expressions + * are accepted, that their values are coerced to the expected type and + * evaluate as expected. + */ + @Test + public void eLDeferredValueCoercionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/ELDeferredValueCoercion.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveELDeferredMethodValueTest + * + * @assertion_ids: JSP:SPEC:287 + * + * @test_Strategy: [ELDeferredMethodValue] In a jsp page, pass a String + * literal expression and an expression using the #{} syntax to a tag handler + * via a deferred-method element in the tld file. Verify that the expressions + * are accepted and that their values are transmitted correctly to the tag + * handler. + */ + @Test + public void positiveELDeferredMethodValueTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/positiveELDeferredMethodValue.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeELDeferredMethodValueTest + * + * @assertion_ids: JSP:SPEC:287 + * + * @test_Strategy: [ELDeferredMethodValue] In a jsp page, pass an expression + * using the ${} syntax to a tag handler via a deferred-method element in the + * tld file. Verify that a page translation error occurs. + */ + @Test + public void negativeELDeferredMethodValueTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/negativeELDeferredMethodValue.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: eLDeferredMethodStringLiteralTest + * + * @assertion_ids: JSP:SPEC:288 + * + * @test_Strategy: [ELDeferredMethodStringLiteral] In a jsp page, pass a + * literal expression representing a String and a literal expression + * representing a Double to a tag handler via a deferred-method element in the + * tld file. Verify that the expressions are accepted, that they are coerced + * to the proper type and have the expected values. + */ + @Test + public void eLDeferredMethodStringLiteralTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteral.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: eLDeferredMethodStringLiteralErrorTest1 + * + * @assertion_ids: JSP:SPEC:289 + * + * @test_Strategy: [ELDeferredMethodStringLiteralError] In a jsp page, pass a + * string literal to a tag handler via a deferred-method element in the tld + * file where the method signature -element has a return value of void. Verify + * that a page translation error occurs. + */ + @Test + public void eLDeferredMethodStringLiteralErrorTest1() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteralError1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: eLDeferredMethodStringLiteralErrorTest2 + * + * @assertion_ids: JSP:SPEC:289 + * + * @test_Strategy: [ELDeferredMethodStringLiteralError] In a jsp page, pass a + * string literal to a tag handler via a deferred-method element in the tld + * file where the string literal cannot be coerced to the return type of the + * method signature. Verify that a page translation error occurs. + */ + @Test + public void eLDeferredMethodStringLiteralErrorTest2() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/ELDeferredMethodStringLiteralError2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: templateTextPoundTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:272 + * + * @test_Strategy: [TemplateTextPoundTranslationError] Verify that the #{ + * character sequence, when embedded in template text, triggers a translation + * error. + */ + @Test + public void templateTextPoundTranslationErrorTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/TemplateTextPoundTranslationError.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: tagLibraryPoundTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:273 + * + * @test_Strategy: [TagLibraryPoundTranslationError] Verify that the #{ + * character sequence triggers a translation error if used for a tag attribute + * of a tag library where the jsp-version is greater than or equal to 2.1, and + * for which the attribute is not marked as a deferred expression in the TLD. + */ + @Test + public void tagLibraryPoundTranslationErrorTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/TagLibraryPoundTranslationError.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: allowedDynamicAttributeValueTypesTest + * + * @assertion_ids: JSP:SPEC:290 + * + * @test_Strategy: [AllowedDynamicAttributeValueTypes] In a jsp page, pass a + * literal expression, a scriptlet expression, an expression using the ${} + * syntax, and deferred-value and deferred-method expressions using the #{} + * syntax as dynamic attributes to a tag handler. Verify that the expressions + * are accepted. + */ + @Test + public void allowedDynamicAttributeValueTypesTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/AllowedDynamicAttributeValueTypes.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: dynamicAttributeSetterMethodTest + * + * @assertion_ids: JSP:SPEC:291 + * + * @test_Strategy: [DynamicAttributeSetterMethod] Verify that an argument to + * the setter method of a dynamic attribute must be of type java.lang.Object. + * Implement a tag handler with a setter method whose argument is a primitive + * type and see that the container generates an internal server error. + */ + @Test + public void dynamicAttributeSetterMethodTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/DynamicAttributeSetterMethod.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + + /* + * @testName: implicitImportTest + * + * @assertion_ids: JSP:SPEC:35 + * + * @test_Strategy: [ImplicitELImport] Verify that each of the implicit package + * is available to the EL environment. + */ + @Test + public void implicitImportTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_jsp_web/ImplicitELImport.jsp HTTP/1.1"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClient.java deleted file mode 100644 index b9d1bc854a..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClient.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * @(#)URLClient.java 1.2 05/05/03 - */ - -package com.sun.ts.tests.jsp.spec.el.language; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: poundDollarSameMeaningTest - * - * @assertion_ids: EL:SPEC:1 - * - * @test_Strategy: [PoundDollarSameMeaning] In a jsp page, set an EL variable, - * then pass it to a tag handler as both ${expr} and #{expr}. Verify that the - * tag handler's evaluation of both forms is identical. - */ - public void poundDollarSameMeaningTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/PoundDollarSameMeaning.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: parseOnceEvalManyTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: [ExprParsedEvalMany] In a jsp page, verify that once an - * expression is parsed, it can be evaluated multiple times. - */ - public void parseOnceEvalManyTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/ParseOnceEvalMany.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: rValueCoercion1Test - * - * @assertion_ids: EL:SPEC:3 - * - * @test_Strategy: [RValueCoercion] Set the value of a ValueExpression to a - * String type and verify that the value retrieved when the expression is - * evaluated is also a String type. - */ - public void rValueCoercion1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/RValueCoercion1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: rValueCoercion2Test - * - * @assertion_ids: EL:SPEC:3 - * - * @test_Strategy: [RValueCoercion] Set the value of a ValueExpression to a - * complex type and verify that the value retrieved when the expression is - * evaluated is a String type in accordance with the coercion rules. - */ - public void rValueCoercion2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/RValueCoercion2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: literalExprEval1Test - * - * @assertion_ids: EL:SPEC:6 - * - * @test_Strategy: [LiteralExprEval] Set the value of a ValueExpression to a - * literal String type. Verify that the value retrieved when the expression is - * evaluated is a String equal to the value set. - */ - public void literalExprEval1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/LiteralExprEval1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: literalExprEval2Test - * - * @assertion_ids: EL:SPEC:6 - * - * @test_Strategy: [LiteralExprEval] Coerce a String literal to a Boolean in a - * ValueExpression. Verify that the value retrieved when the expression is - * evaluated is a Boolean of the expected value. - */ - public void literalExprEval2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/LiteralExprEval2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: eLSyntaxEscapeTest - * - * @assertion_ids: EL:SPEC:8 - * - * @test_Strategy: [ELSyntaxEscape] Verify that the EL special characters '&' - * and '#' are treated as literals when preceded with '\'. - */ - public void eLSyntaxEscapeTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/ELSyntaxEscape.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: literalExprAsMethodExpr1Test - * - * @assertion_ids: EL:SPEC:10 - * - * @test_Strategy: [LiteralExprAsMethodExpr] Verify that a literal-expression - * can also be used as a method expression that returns a non-void value. - */ - public void literalExprAsMethodExpr1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/LiteralExprAsMethodExpr1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: literalExprAsMethodExpr2Test - * - * @assertion_ids: EL:SPEC:10 - * - * @test_Strategy: [LiteralExprAsMethodExpr] Verify that a literal-expression - * can also be used as a method expression that returns a non-void value. - * Verify that the standard coercion rules apply if the return type is not - * java.lang.String. - */ - public void literalExprAsMethodExpr2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/LiteralExprAsMethodExpr2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: compositeExprEval1Test - * - * @assertion_ids: EL:SPEC:11 - * - * @test_Strategy: [CompositeExprEval] Verify that in a composite expression - * eval-expressions are coerced to Strings according to the EL type conversion - * rules and concatenated with any intervening literal-expressions. - */ - public void compositeExprEval1Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/CompositeExprEval1.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: compositeExprEval2Test - * - * @assertion_ids: EL:SPEC:11 - * - * @test_Strategy: [CompositeExprEval] Verify that in a composite expression - * eval-expressions are evaluated left to right, coerced to Strings according - * to the EL type conversion rules, and concatenated with any intervening - * literal-expressions. - */ - public void compositeExprEval2Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/CompositeExprEval2.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: dotAndIndexOperatorsSameTest - * - * @assertion_ids: EL:SPEC:15 - * - * @test_Strategy: [DotAndIndexOperatorsSame] Verify that the dot and index - * operators are evaluated in the same way. - */ - public void dotAndIndexOperatorsSameTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_el_language_web/DotAndIndexOperatorsSame.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClientIT.java new file mode 100644 index 0000000000..cf8fd66325 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/el/language/URLClientIT.java @@ -0,0 +1,288 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * @(#)URLClient.java 1.2 05/05/03 + */ + +package com.sun.ts.tests.jsp.spec.el.language; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; +import com.sun.ts.tests.jsp.common.tags.tck.SetTag; +import com.sun.ts.tests.common.el.spec.Book; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + + public URLClientIT() throws Exception { + + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_el_language_web.war"); + archive.addClasses(JspTestUtil.class, + SetTag.class, + Book.class + ); + archive.addPackages(true, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_el_language_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/el_language.tld", "el_language.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/RValueCoercion2.jsp")), "RValueCoercion2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/RValueCoercion1.jsp")), "RValueCoercion1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/PoundDollarSameMeaning.jsp")), "PoundDollarSameMeaning.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ParseOnceEvalMany.jsp")), "ParseOnceEvalMany.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/LiteralExprEval2.jsp")), "LiteralExprEval2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/LiteralExprEval1.jsp")), "LiteralExprEval1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/LiteralExprAsMethodExpr2.jsp")), "LiteralExprAsMethodExpr2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/LiteralExprAsMethodExpr1.jsp")), "LiteralExprAsMethodExpr1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ELSyntaxEscape.jsp")), "ELSyntaxEscape.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DotAndIndexOperatorsSame.jsp")), "DotAndIndexOperatorsSame.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CompositeExprEval2.jsp")), "CompositeExprEval2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/CompositeExprEval1.jsp")), "CompositeExprEval1.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: poundDollarSameMeaningTest + * + * @assertion_ids: EL:SPEC:1 + * + * @test_Strategy: [PoundDollarSameMeaning] In a jsp page, set an EL variable, + * then pass it to a tag handler as both ${expr} and #{expr}. Verify that the + * tag handler's evaluation of both forms is identical. + */ + @Test + public void poundDollarSameMeaningTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/PoundDollarSameMeaning.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: parseOnceEvalManyTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: [ExprParsedEvalMany] In a jsp page, verify that once an + * expression is parsed, it can be evaluated multiple times. + */ + @Test + public void parseOnceEvalManyTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/ParseOnceEvalMany.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: rValueCoercion1Test + * + * @assertion_ids: EL:SPEC:3 + * + * @test_Strategy: [RValueCoercion] Set the value of a ValueExpression to a + * String type and verify that the value retrieved when the expression is + * evaluated is also a String type. + */ + @Test + public void rValueCoercion1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/RValueCoercion1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: rValueCoercion2Test + * + * @assertion_ids: EL:SPEC:3 + * + * @test_Strategy: [RValueCoercion] Set the value of a ValueExpression to a + * complex type and verify that the value retrieved when the expression is + * evaluated is a String type in accordance with the coercion rules. + */ + @Test + public void rValueCoercion2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/RValueCoercion2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: literalExprEval1Test + * + * @assertion_ids: EL:SPEC:6 + * + * @test_Strategy: [LiteralExprEval] Set the value of a ValueExpression to a + * literal String type. Verify that the value retrieved when the expression is + * evaluated is a String equal to the value set. + */ + @Test + public void literalExprEval1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/LiteralExprEval1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: literalExprEval2Test + * + * @assertion_ids: EL:SPEC:6 + * + * @test_Strategy: [LiteralExprEval] Coerce a String literal to a Boolean in a + * ValueExpression. Verify that the value retrieved when the expression is + * evaluated is a Boolean of the expected value. + */ + @Test + public void literalExprEval2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/LiteralExprEval2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: eLSyntaxEscapeTest + * + * @assertion_ids: EL:SPEC:8 + * + * @test_Strategy: [ELSyntaxEscape] Verify that the EL special characters '&' + * and '#' are treated as literals when preceded with '\'. + */ + @Test + public void eLSyntaxEscapeTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/ELSyntaxEscape.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: literalExprAsMethodExpr1Test + * + * @assertion_ids: EL:SPEC:10 + * + * @test_Strategy: [LiteralExprAsMethodExpr] Verify that a literal-expression + * can also be used as a method expression that returns a non-void value. + */ + @Test + public void literalExprAsMethodExpr1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/LiteralExprAsMethodExpr1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: literalExprAsMethodExpr2Test + * + * @assertion_ids: EL:SPEC:10 + * + * @test_Strategy: [LiteralExprAsMethodExpr] Verify that a literal-expression + * can also be used as a method expression that returns a non-void value. + * Verify that the standard coercion rules apply if the return type is not + * java.lang.String. + */ + @Test + public void literalExprAsMethodExpr2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/LiteralExprAsMethodExpr2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: compositeExprEval1Test + * + * @assertion_ids: EL:SPEC:11 + * + * @test_Strategy: [CompositeExprEval] Verify that in a composite expression + * eval-expressions are coerced to Strings according to the EL type conversion + * rules and concatenated with any intervening literal-expressions. + */ + @Test + public void compositeExprEval1Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/CompositeExprEval1.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: compositeExprEval2Test + * + * @assertion_ids: EL:SPEC:11 + * + * @test_Strategy: [CompositeExprEval] Verify that in a composite expression + * eval-expressions are evaluated left to right, coerced to Strings according + * to the EL type conversion rules, and concatenated with any intervening + * literal-expressions. + */ + @Test + public void compositeExprEval2Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/CompositeExprEval2.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: dotAndIndexOperatorsSameTest + * + * @assertion_ids: EL:SPEC:15 + * + * @test_Strategy: [DotAndIndexOperatorsSame] Verify that the dot and index + * operators are evaluated in the same way. + */ + @Test + public void dotAndIndexOperatorsSameTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_el_language_web/DotAndIndexOperatorsSame.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClient.java deleted file mode 100644 index c14f1af25e..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClient.java +++ /dev/null @@ -1,467 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -/* - * @(#)URLClient.java 1.36 02/11/04 - */ - -package com.sun.ts.tests.jsp.spec.i18n; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/i18n"); - setContextRoot("/jsp_config_encode_web"); - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: i18nStandardPageResponseEncodingTest - * - * @assertion_ids: JSP:SPEC:249.4;JSP:SPEC:250.3;JSP:SPEC:250.6.2; - * JSP:SPEC:250.2;JSP:SPEC:249.2;JSP:SPEC:250.6.1; - * JSP:SPEC:249.3;JSP:SPEC:250.1;JSP:SPEC:250.4 - * - * @test_Strategy: Request 1: Using a page encoded in ISO-8859-1, with no page - * directive including verify the page is is properly loaded and the resulting - * output content type is the default of text/html with the charset parameter - * set to ISO-8859-1. Request 2: Using a page encoded in ISO-8859-15, with a - * page directive specifying only the pageEncoding (set to ISO-8859-15), - * validate the page is properly loaded and the resulting output content is - * the default of text/html with a charset of ISO-8859-15. Request 3: Using a - * page encoded in ISO-8859-15, with a page directive specifying only a - * contentType (set to text/plain charset=ISO-8859-15), validate the page is - * properly loaded and the resulting output content is the default of - * text/plain with a charset of ISO-8859-15. - * - * Request 4: Using a page encoded in ISO-8859-15, with a page directive - * specifying both a contentType ( text/plain; charset=ISO-8859-1) and a - * pageEncoding of ISO-8859-15, the page is properly loaded and the resulting - * output content is set to text/plain with a charset of ISO-8859-1. - * - * CHALLENGES: This test has been challenged in the mistaken belief that, in - * the case where the page encoding is ISO-8859-1, the content type need not - * specify a charset parameter. In support of this position, the challenger - * cited JSP 2.0, section 4.2, which states: - * - * "For JSP pages in standard syntax, it is the character encoding specified - * by the pageEncoding attribute of the page directive or by a JSP - * configuration element page-encoding whose URL pattern matches the page. - * Only the character encoding specified for the requested page is used; the - * encodings of files included via the include directive are not taken into - * consideration. If there's no such specification, no initial response - * character encoding is passed to ServletResponse.setContentType() - the - * ServletResponse object's default, ISO-8859-1, is used." - * - * However, this section omits the fact that if the default encoding is used, - * it will be added to the response content type as soon as - * ServletResponse.getWriter() is called. See the javadoc for - * ServletResponse.setContentType() and ServletResponse.getWriter(). - */ - public void i18nStandardPageResponseEncodingTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NNoPageEncNoContTypeTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=ISO-8859-1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NPageEncTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=ISO-8859-15"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NContTypeTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/plain;charset=ISO-8859-15"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NPageEncContTypeTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/plain;charset=ISO-8859-1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); - invoke(); - } - - /* - * @testName: i18nXmlPageResponseEncodingTest - * - * @assertion_ids: JSP:SPEC:249.5;JSP:SPEC:249.6;JSP:SPEC:250.5; - * JSP:SPEC:250.3;JSP:SPEC:250.1;JSP:SPEC:250.4 - * - * @test_Strategy: This test will exercise JSP documents with and without a - * prolog with an encoding attribute. This will be performed over several - * requests. This test will also validate that items such as charset - * parameters present in a contentType attribute don't cause problems with the - * encodings. Request 1: Validate that a page encoded in EBCDIC (cp500, or - * IBM500) by a directive) where the resulting output content is set to - * text/xml with a charset of UTF-8. Request 2: Validate that a page encoded - * in cp871 (or IBM871) can properly be loaded when both the prolog and the - * pageEncoding attribute of the page directive specify the same value. The - * resulting output should have a content of text/xml and a charset of UTF-8. - * Request 3: Validate that a page encoded in cp871 (or IBM871) can properly - * be loaded when the encoding is specified by the prolog. The resulting - * content type should be what is specified by the contentType attribute of - * the page directive, which in this case is text/plain with a charset of - * ISO-8859-1 Request 4: Validate that a page encoded in UTF-16 can properly - * be loaded when the encoding is specified by the prolog as well as the - * pageEncoding attribute of the page directive. Since the contentType - * attribute is also present the resulting output should have a content type - * of text/plain with a charset of ISO-8859-1. Request 5: Validate that if the - * JSP document (encoding in UTF-16) has a prolog with no encoding attribute, - * that the container is able to properly load the document using the encoding - * detection semantics specified by the XML 1.0 specification. In this case - * the JSP document has no pageEncoding or contentType attributes and is - * encoded in UTF-16. The container should be able to load and parse the page - * without issue. The response content type should be text/xml with a charset - * of UTF-8. Request 6: Validate that a JSP document (encoding in UTF-16BE) - * has a prolog with no encoding attribute, that the container is able to - * properly load the document using the encoding detection semantics specified - * by the XML 1.0 specification. In this case the JSP document has only a - * pageEncoding attribute defined. The container should be able to load and - * parse the page without issue. The response content type should be text/xml - * with a charset of UTF-8. Request 7: Validate that a JSP document (encoded - * in UTF-16LE) has a prolog with no encoding attribute, that the container is - * able to properly load the document using the encoding detection semantics - * specified by the XML 1.0 specification. In this case the JSP document has - * only a contentType attribute defined. The container should be able to load - * and parse the page without issue. The response content type should be based - * off the contentType attribute: text/plain with a charset of ISO-8859-1. - * Request 8: Validate that a JSP document (encoded in UTF-16) has a prolog - * with no encoding attribute, that the container is able to properly load the - * document using the encoding detection semantics specified by the XML 1.0 - * specification. In this case the JSP document has both contentType and - * pageEncoding attributes defined. The container should be able to load and - * parse the page without issue. The response content type should be based off - * the contentType attribute: text/plain with a charset of ISO-8859-1. - */ - public void i18nXmlPageResponseEncodingTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/prolog/I18NNoPageEncNoContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/xml; charset=UTF-8"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/prolog/I18NPageEncTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/xml; charset=UTF-8"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/prolog/I18NContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/plain; charset=ISO-8859-1"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/prolog/I18NPageEncContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/plain; charset=ISO-8859-1"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/noprolog/I18NNoPageEncNoContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/xml; charset=UTF-8"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/noprolog/I18NPageEncTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/xml; charset=UTF-8"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/noprolog/I18NContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/plain; charset=ISO-8859-1"); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/noprolog/I18NPageEncContTypeTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type: text/plain; charset=ISO-8859-1"); - invoke(); - } - - /* - * @testName: i18nEncodingMismatchTest - * - * @assertion_ids: JSP:SPEC:249.7 - * - * @test_Strategy: Validate that if a JSP Document specifies an encoding in - * the XML prolog and a JSP page directive specifies a different encoding, a - * translation error occurs. NOTE: The similiar translation-time - * error with a mismatched encoding between property groups and pages in - * standard syntax are covered in the spec/configuration test area. - */ - public void i18nEncodingMismatchTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NXmlPrologNonMatchingDirectiveTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NXmlPrologNonMatchingPropertyGroupTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: i18nUnsupportedEncodingTest - * - * @assertion_ids: JSP:SPEC:249.8 - * - * @test_Strategy: Validate a translation error occurs if a standard JSP - * specifies an invalid encoding in the page directive, or if a JSP document - * has an invalid encoding in the prolog. - */ - public void i18nUnsupportedEncodingTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NUnsupportedEncodingTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NUnsupportedEncodingTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: i18nIncludedContentTest - * - * @assertion_ids: JSP:SPEC:249.5 - * - * @test_Strategy: Validate that units that make up a single translation unit - * all have their file encoding detected individually. In this case a JSP - * Document encoded in UTF-16BE using the include directive includes another - * JSP Document encoded in UTF-16LE. - */ - public void i18nIncludedContentTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NIncludedContentTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Included Content|Test PASSED"); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NIncludedContentTest.jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Included Content|Test PASSED"); - invoke(); - } - - /* - * @testName: i18nBomByteSequencesUTF8Test - * - * @assertion_ids: JSP:SPEC:299 - * - * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character - * encoding of pages in standard syntax is determined by a BOM, and that the - * byte sequences reserved to identify a BOM at the beginning of a page do not - * appear in the page's output. - */ - public void i18nBomByteSequencesUTF8Test() throws Exception { - - String searchStr = "this is a test"; - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=UTF-8"); - TEST_PROPS.setProperty(SEARCH_STRING, searchStr); - TEST_PROPS.setProperty(REQUEST, "GET /jsp_i18n_web/bom/UTF8.jsp HTTP/1.1"); - invoke(); - } - - /* - * @testName: i18nBomByteSequencesUTF16BETest - * - * @assertion_ids: JSP:SPEC:299 - * - * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character - * encoding of pages in standard syntax is determined by a BOM, and that the - * byte sequences reserved to identify a BOM at the beginning of a page do not - * appear in the page's output. - */ - public void i18nBomByteSequencesUTF16BETest() throws Exception { - - String searchStr = "this is a test"; - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=UTF-16BE"); - TEST_PROPS.setProperty(SEARCH_STRING, searchStr); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF16BE.jsp HTTP/1.1"); - invoke(); - } - - /* - * @testName: i18nBomByteSequencesUTF16LETest - * - * @assertion_ids: JSP:SPEC:299 - * - * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character - * encoding of pages in standard syntax is determined by a BOM, and that the - * byte sequences reserved to identify a BOM at the beginning of a page do not - * appear in the page's output. - */ - public void i18nBomByteSequencesUTF16LETest() throws Exception { - - String searchStr = "this is a test"; - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=UTF-16LE"); - TEST_PROPS.setProperty(SEARCH_STRING, searchStr); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF16LE.jsp HTTP/1.1"); - invoke(); - } - - /* - * @testName: i18nBomLegalCharacterEncodingTest1 - * - * @assertion_ids: JSP:SPEC:300 - * - * @test_Strategy: [BOMLegalCharacterEncoding] Verify that when using a BOM, - * it is legal to describe the character encoding in a JSP page-encoding - * configuration element. - */ - public void i18nBomLegalCharacterEncodingTest1() throws Exception { - - String searchStr = "this is a test"; - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=UTF-16BE"); - TEST_PROPS.setProperty(SEARCH_STRING, searchStr); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF16ConfigElement.jsp HTTP/1.1"); - invoke(); - } - - /* - * @testName: i18nBomLegalCharacterEncodingTest2 - * - * @assertion_ids: JSP:SPEC:300 - * - * @test_Strategy: [BOMLegalCharacterEncoding] Verify that when using a BOM, - * it is legal to describe the character encoding in the pageEncoding - * attribute of a page directive. - */ - public void i18nBomLegalCharacterEncodingTest2() throws Exception { - - String searchStr = "this is a test"; - TEST_PROPS.setProperty(EXPECTED_HEADERS, - "Content-Type:text/html;charset=UTF-16LE"); - TEST_PROPS.setProperty(SEARCH_STRING, searchStr); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF16PageEncodingAttribute.jsp HTTP/1.1"); - invoke(); - } - - /* - * @testName: i18nBomErrorReportingTest1 - * - * @assertion_ids: JSP:SPEC:318 - * - * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error - * results when the encoding specified by page-encoding configuration element - * whose URL matches the page does not match the encoding indicated by the - * BOM. - */ - public void i18nBomErrorReportingTest1() throws Exception { - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF8ConfigElement.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: i18nBomErrorReportingTest2 - * - * @assertion_ids: JSP:SPEC:318 - * - * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error - * results when the encoding specified by the pageEncoding attribute of a page - * directive does not match the encoding indicated by the BOM. - */ - public void i18nBomErrorReportingTest2() throws Exception { - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/bom/UTF16BadPageEncodingAttribute.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: i18nBomErrorReportingTest3 - * - * @assertion_ids: JSP:SPEC:318 - * - * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error - * results when the encoding specified by the pageEncoding attribute of a tag - * directive does not match the encoding indicated by the BOM. - */ - public void i18nBomErrorReportingTest3() throws Exception { - - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_i18n_web/I18NBadTagPageEncoding.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClientIT.java new file mode 100644 index 0000000000..d9b8ac9767 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/i18n/URLClientIT.java @@ -0,0 +1,516 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +/* + * @(#)URLClient.java 1.36 02/11/04 + */ + +package com.sun.ts.tests.jsp.spec.i18n; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/i18n"); + setContextRoot("/jsp_config_encode_web"); + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_i18n_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_i18n_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/BadTagPageEncoding.tag", "tags/BadTagPageEncoding.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/inclusion_utf-16LE.jspx")), "inclusion_utf-16LE.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/inclusion_iso.txt")), "inclusion_iso.txt"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NXmlPrologNonMatchingPropertyGroupTest.jspx")), "I18NXmlPrologNonMatchingPropertyGroupTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NXmlPrologNonMatchingDirectiveTest.jspx")), "I18NXmlPrologNonMatchingDirectiveTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NUnsupportedEncodingTest.jspx")), "I18NUnsupportedEncodingTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NUnsupportedEncodingTest.jsp")), "I18NUnsupportedEncodingTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NPageEncTest.jsp")), "I18NPageEncTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NPageEncContTypeTest.jsp")), "I18NPageEncContTypeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NNoPageEncNoContTypeTest.jsp")), "I18NNoPageEncNoContTypeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NIncludedContentTest.jspx")), "I18NIncludedContentTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NIncludedContentTest.jsp")), "I18NIncludedContentTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NContTypeTest.jsp")), "I18NContTypeTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/I18NBadTagPageEncoding.jsp")), "I18NBadTagPageEncoding.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prolog/I18NPageEncTest.jspx")), "prolog/I18NPageEncTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prolog/I18NPageEncContTypeTest.jspx")), "prolog/I18NPageEncContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prolog/I18NNoPageEncNoContTypeTest.jspx")), "prolog/I18NNoPageEncNoContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/prolog/I18NContTypeTest.jspx")), "prolog/I18NContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noprolog/I18NPageEncTest.jspx")), "noprolog/I18NPageEncTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noprolog/I18NPageEncContTypeTest.jspx")), "noprolog/I18NPageEncContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noprolog/I18NNoPageEncNoContTypeTest.jspx")), "noprolog/I18NNoPageEncNoContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/noprolog/I18NContTypeTest.jspx")), "noprolog/I18NContTypeTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF16PageEncodingAttribute.jsp")), "bom/UTF16PageEncodingAttribute.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF16LE.jsp")), "bom/UTF16LE.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF16ConfigElement.jsp")), "bom/UTF16ConfigElement.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF16BE.jsp")), "bom/UTF16BE.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF16BadPageEncodingAttribute.jsp")), "bom/UTF16BadPageEncodingAttribute.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF8ConfigElement.jsp")), "bom/UTF8ConfigElement.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bom/UTF8.jsp")), "bom/UTF8.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: i18nStandardPageResponseEncodingTest + * + * @assertion_ids: JSP:SPEC:249.4;JSP:SPEC:250.3;JSP:SPEC:250.6.2; + * JSP:SPEC:250.2;JSP:SPEC:249.2;JSP:SPEC:250.6.1; + * JSP:SPEC:249.3;JSP:SPEC:250.1;JSP:SPEC:250.4 + * + * @test_Strategy: Request 1: Using a page encoded in ISO-8859-1, with no page + * directive including verify the page is is properly loaded and the resulting + * output content type is the default of text/html with the charset parameter + * set to ISO-8859-1. Request 2: Using a page encoded in ISO-8859-15, with a + * page directive specifying only the pageEncoding (set to ISO-8859-15), + * validate the page is properly loaded and the resulting output content is + * the default of text/html with a charset of ISO-8859-15. Request 3: Using a + * page encoded in ISO-8859-15, with a page directive specifying only a + * contentType (set to text/plain charset=ISO-8859-15), validate the page is + * properly loaded and the resulting output content is the default of + * text/plain with a charset of ISO-8859-15. + * + * Request 4: Using a page encoded in ISO-8859-15, with a page directive + * specifying both a contentType ( text/plain; charset=ISO-8859-1) and a + * pageEncoding of ISO-8859-15, the page is properly loaded and the resulting + * output content is set to text/plain with a charset of ISO-8859-1. + * + * CHALLENGES: This test has been challenged in the mistaken belief that, in + * the case where the page encoding is ISO-8859-1, the content type need not + * specify a charset parameter. In support of this position, the challenger + * cited JSP 2.0, section 4.2, which states: + * + * "For JSP pages in standard syntax, it is the character encoding specified + * by the pageEncoding attribute of the page directive or by a JSP + * configuration element page-encoding whose URL pattern matches the page. + * Only the character encoding specified for the requested page is used; the + * encodings of files included via the include directive are not taken into + * consideration. If there's no such specification, no initial response + * character encoding is passed to ServletResponse.setContentType() - the + * ServletResponse object's default, ISO-8859-1, is used." + * + * However, this section omits the fact that if the default encoding is used, + * it will be added to the response content type as soon as + * ServletResponse.getWriter() is called. See the javadoc for + * ServletResponse.setContentType() and ServletResponse.getWriter(). + */ + @Test + public void i18nStandardPageResponseEncodingTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NNoPageEncNoContTypeTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=ISO-8859-1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NPageEncTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=ISO-8859-15"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NContTypeTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/plain;charset=ISO-8859-15"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NPageEncContTypeTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/plain;charset=ISO-8859-1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "${testPassed}"); + invoke(); + } + + /* + * @testName: i18nXmlPageResponseEncodingTest + * + * @assertion_ids: JSP:SPEC:249.5;JSP:SPEC:249.6;JSP:SPEC:250.5; + * JSP:SPEC:250.3;JSP:SPEC:250.1;JSP:SPEC:250.4 + * + * @test_Strategy: This test will exercise JSP documents with and without a + * prolog with an encoding attribute. This will be performed over several + * requests. This test will also validate that items such as charset + * parameters present in a contentType attribute don't cause problems with the + * encodings. Request 1: Validate that a page encoded in EBCDIC (cp500, or + * IBM500) by a directive) where the resulting output content is set to + * text/xml with a charset of UTF-8. Request 2: Validate that a page encoded + * in cp871 (or IBM871) can properly be loaded when both the prolog and the + * pageEncoding attribute of the page directive specify the same value. The + * resulting output should have a content of text/xml and a charset of UTF-8. + * Request 3: Validate that a page encoded in cp871 (or IBM871) can properly + * be loaded when the encoding is specified by the prolog. The resulting + * content type should be what is specified by the contentType attribute of + * the page directive, which in this case is text/plain with a charset of + * ISO-8859-1 Request 4: Validate that a page encoded in UTF-16 can properly + * be loaded when the encoding is specified by the prolog as well as the + * pageEncoding attribute of the page directive. Since the contentType + * attribute is also present the resulting output should have a content type + * of text/plain with a charset of ISO-8859-1. Request 5: Validate that if the + * JSP document (encoding in UTF-16) has a prolog with no encoding attribute, + * that the container is able to properly load the document using the encoding + * detection semantics specified by the XML 1.0 specification. In this case + * the JSP document has no pageEncoding or contentType attributes and is + * encoded in UTF-16. The container should be able to load and parse the page + * without issue. The response content type should be text/xml with a charset + * of UTF-8. Request 6: Validate that a JSP document (encoding in UTF-16BE) + * has a prolog with no encoding attribute, that the container is able to + * properly load the document using the encoding detection semantics specified + * by the XML 1.0 specification. In this case the JSP document has only a + * pageEncoding attribute defined. The container should be able to load and + * parse the page without issue. The response content type should be text/xml + * with a charset of UTF-8. Request 7: Validate that a JSP document (encoded + * in UTF-16LE) has a prolog with no encoding attribute, that the container is + * able to properly load the document using the encoding detection semantics + * specified by the XML 1.0 specification. In this case the JSP document has + * only a contentType attribute defined. The container should be able to load + * and parse the page without issue. The response content type should be based + * off the contentType attribute: text/plain with a charset of ISO-8859-1. + * Request 8: Validate that a JSP document (encoded in UTF-16) has a prolog + * with no encoding attribute, that the container is able to properly load the + * document using the encoding detection semantics specified by the XML 1.0 + * specification. In this case the JSP document has both contentType and + * pageEncoding attributes defined. The container should be able to load and + * parse the page without issue. The response content type should be based off + * the contentType attribute: text/plain with a charset of ISO-8859-1. + */ + @Test + public void i18nXmlPageResponseEncodingTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/prolog/I18NNoPageEncNoContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/xml; charset=UTF-8"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/prolog/I18NPageEncTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/xml; charset=UTF-8"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/prolog/I18NContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/plain; charset=ISO-8859-1"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/prolog/I18NPageEncContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/plain; charset=ISO-8859-1"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/noprolog/I18NNoPageEncNoContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/xml; charset=UTF-8"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/noprolog/I18NPageEncTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/xml; charset=UTF-8"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/noprolog/I18NContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/plain; charset=ISO-8859-1"); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/noprolog/I18NPageEncContTypeTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type: text/plain; charset=ISO-8859-1"); + invoke(); + } + + /* + * @testName: i18nEncodingMismatchTest + * + * @assertion_ids: JSP:SPEC:249.7 + * + * @test_Strategy: Validate that if a JSP Document specifies an encoding in + * the XML prolog and a JSP page directive specifies a different encoding, a + * translation error occurs. NOTE: The similiar translation-time + * error with a mismatched encoding between property groups and pages in + * standard syntax are covered in the spec/configuration test area. + */ + @Test + public void i18nEncodingMismatchTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NXmlPrologNonMatchingDirectiveTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NXmlPrologNonMatchingPropertyGroupTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: i18nUnsupportedEncodingTest + * + * @assertion_ids: JSP:SPEC:249.8 + * + * @test_Strategy: Validate a translation error occurs if a standard JSP + * specifies an invalid encoding in the page directive, or if a JSP document + * has an invalid encoding in the prolog. + */ + @Test + public void i18nUnsupportedEncodingTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NUnsupportedEncodingTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NUnsupportedEncodingTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: i18nIncludedContentTest + * + * @assertion_ids: JSP:SPEC:249.5 + * + * @test_Strategy: Validate that units that make up a single translation unit + * all have their file encoding detected individually. In this case a JSP + * Document encoded in UTF-16BE using the include directive includes another + * JSP Document encoded in UTF-16LE. + */ + @Test + public void i18nIncludedContentTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NIncludedContentTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Included Content|Test PASSED"); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NIncludedContentTest.jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Included Content|Test PASSED"); + invoke(); + } + + /* + * @testName: i18nBomByteSequencesUTF8Test + * + * @assertion_ids: JSP:SPEC:299 + * + * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character + * encoding of pages in standard syntax is determined by a BOM, and that the + * byte sequences reserved to identify a BOM at the beginning of a page do not + * appear in the page's output. + */ + @Test + public void i18nBomByteSequencesUTF8Test() throws Exception { + + String searchStr = "this is a test"; + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=UTF-8"); + TEST_PROPS.setProperty(SEARCH_STRING, searchStr); + TEST_PROPS.setProperty(REQUEST, "GET /jsp_i18n_web/bom/UTF8.jsp HTTP/1.1"); + invoke(); + } + + /* + * @testName: i18nBomByteSequencesUTF16BETest + * + * @assertion_ids: JSP:SPEC:299 + * + * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character + * encoding of pages in standard syntax is determined by a BOM, and that the + * byte sequences reserved to identify a BOM at the beginning of a page do not + * appear in the page's output. + */ + @Test + public void i18nBomByteSequencesUTF16BETest() throws Exception { + + String searchStr = "this is a test"; + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=UTF-16BE"); + TEST_PROPS.setProperty(SEARCH_STRING, searchStr); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF16BE.jsp HTTP/1.1"); + invoke(); + } + + /* + * @testName: i18nBomByteSequencesUTF16LETest + * + * @assertion_ids: JSP:SPEC:299 + * + * @test_Strategy: [BOMCharacterEncodingDescription] Verify that the character + * encoding of pages in standard syntax is determined by a BOM, and that the + * byte sequences reserved to identify a BOM at the beginning of a page do not + * appear in the page's output. + */ + @Test + public void i18nBomByteSequencesUTF16LETest() throws Exception { + + String searchStr = "this is a test"; + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=UTF-16LE"); + TEST_PROPS.setProperty(SEARCH_STRING, searchStr); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF16LE.jsp HTTP/1.1"); + invoke(); + } + + /* + * @testName: i18nBomLegalCharacterEncodingTest1 + * + * @assertion_ids: JSP:SPEC:300 + * + * @test_Strategy: [BOMLegalCharacterEncoding] Verify that when using a BOM, + * it is legal to describe the character encoding in a JSP page-encoding + * configuration element. + */ + @Test + public void i18nBomLegalCharacterEncodingTest1() throws Exception { + + String searchStr = "this is a test"; + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=UTF-16BE"); + TEST_PROPS.setProperty(SEARCH_STRING, searchStr); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF16ConfigElement.jsp HTTP/1.1"); + invoke(); + } + + /* + * @testName: i18nBomLegalCharacterEncodingTest2 + * + * @assertion_ids: JSP:SPEC:300 + * + * @test_Strategy: [BOMLegalCharacterEncoding] Verify that when using a BOM, + * it is legal to describe the character encoding in the pageEncoding + * attribute of a page directive. + */ + @Test + public void i18nBomLegalCharacterEncodingTest2() throws Exception { + + String searchStr = "this is a test"; + TEST_PROPS.setProperty(EXPECTED_HEADERS, + "Content-Type:text/html;charset=UTF-16LE"); + TEST_PROPS.setProperty(SEARCH_STRING, searchStr); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF16PageEncodingAttribute.jsp HTTP/1.1"); + invoke(); + } + + /* + * @testName: i18nBomErrorReportingTest1 + * + * @assertion_ids: JSP:SPEC:318 + * + * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error + * results when the encoding specified by page-encoding configuration element + * whose URL matches the page does not match the encoding indicated by the + * BOM. + */ + @Test + public void i18nBomErrorReportingTest1() throws Exception { + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF8ConfigElement.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: i18nBomErrorReportingTest2 + * + * @assertion_ids: JSP:SPEC:318 + * + * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error + * results when the encoding specified by the pageEncoding attribute of a page + * directive does not match the encoding indicated by the BOM. + */ + @Test + public void i18nBomErrorReportingTest2() throws Exception { + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/bom/UTF16BadPageEncodingAttribute.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: i18nBomErrorReportingTest3 + * + * @assertion_ids: JSP:SPEC:318 + * + * @test_Strategy: [BOMErrorReporting] Verify that when using a BOM, an error + * results when the encoding specified by the pageEncoding attribute of a tag + * directive does not match the encoding indicated by the BOM. + */ + @Test + public void i18nBomErrorReportingTest3() throws Exception { + + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_i18n_web/I18NBadTagPageEncoding.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java deleted file mode 100644 index 1b49870a67..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.jspdocument.elements; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_jspdocument_elements_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - */ - - /* - * @testName: negativeJspRootTest - * - * @assertion_ids: JSP:SPEC:177; JSP:SPEC:173.1 - * - * @test_Strategy: use jsp:root not as the top element of a jsp document. - * jsp-property-group config overrides other determiniations. - */ - - public void negativeJspRootTest() throws Exception { - String testName = "negativeJspRoot"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + "notJspDocument.jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: jspRootPrefixTest - * - * @assertion_ids: JSP:SPEC:175 - * - * @test_Strategy: use a different prefix abc - */ - - public void jspRootPrefixTest() throws Exception { - String testName = "jspRootPrefix"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: directiveIncludeLocationTest - * - * @assertion_ids: JSP:SPEC:179.1; JSP:SPEC:179; JSP:SPEC:179.3 - * - * @test_Strategy: use jsp:directive.include anywhere within a jsp document. - */ - - public void directiveIncludeLocationTest() throws Exception { - String testName = "directiveIncludeLocation"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "HELLO|ONE|HELLO|TWO"); - invoke(); - } - - /* - * @testName: directiveIncludeInJspPageTest - * - * @assertion_ids: JSP:SPEC:179.5 - * - * @test_Strategy: use jsp:directive.include in a jsp page - */ - - public void directiveIncludeInJspPageTest() throws Exception { - String testName = "directiveIncludeInJspPage"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "HELLO|ONE"); - invoke(); - } - - /* - * @testName: directivePageInJspPageTest - * - * @assertion_ids: JSP:SPEC:178.39 - * - * @test_Strategy: use jsp:directive.page in a jsp page - */ - - public void directivePageInJspPageTest() throws Exception { - String testName = "directivePageInJspPage"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "listSize2"); - invoke(); - } - - /* - * @testName: scriptingTest - * - * @assertion_ids: JSP:SPEC:180; JSP:SPEC:181; JSP:SPEC:182 - * - * @test_Strategy: use jsp:declaration, jsp:scriptlet, and jsp:expression in a - * jsp document. - */ - - public void scriptingTest() throws Exception { - String testName = "scripting"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "JSP637|JSP637|99"); - invoke(); - } - - /* - * @testName: scriptingInJspPageTest - * - * @assertion_ids: JSP:SPEC:180.4; JSP:SPEC:181.2; JSP:SPEC:182.5 - * - * @test_Strategy: use jsp:declaration, jsp:scriptlet, and jsp:expression in a - * jsp page. - */ - - public void scriptingInJspPageTest() throws Exception { - String testName = "scriptingInJspPage"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - TEST_PROPS.setProperty(SEARCH_STRING, "JSP637|99"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClientIT.java new file mode 100644 index 0000000000..68af224029 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClientIT.java @@ -0,0 +1,205 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.jspdocument.elements; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_jspdocument_elements_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspdocument_elements_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspdocument_elements_web.xml")); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scriptingInJspPage.jsp")), "scriptingInJspPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/scripting.jspx")), "scripting.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/notJspDocument.jspx")), "notJspDocument.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeJspRoot.jspx")), "negativeJspRoot.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/jspRootPrefix.jspx")), "jspRootPrefix.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/included.jspx")), "included.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/included.jsp")), "included.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/directivePageInJspPage.jsp")), "directivePageInJspPage.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/directiveIncludeLocation.jspx")), "directiveIncludeLocation.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/directiveIncludeInJspPage.jsp")), "directiveIncludeInJspPage.jsp"); + return archive; + + } + + + /* + * @testName: negativeJspRootTest + * + * @assertion_ids: JSP:SPEC:177; JSP:SPEC:173.1 + * + * @test_Strategy: use jsp:root not as the top element of a jsp document. + * jsp-property-group config overrides other determiniations. + */ + + @Test + public void negativeJspRootTest() throws Exception { + String testName = "negativeJspRoot"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + "notJspDocument.jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: jspRootPrefixTest + * + * @assertion_ids: JSP:SPEC:175 + * + * @test_Strategy: use a different prefix abc + */ + + @Test + public void jspRootPrefixTest() throws Exception { + String testName = "jspRootPrefix"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: directiveIncludeLocationTest + * + * @assertion_ids: JSP:SPEC:179.1; JSP:SPEC:179; JSP:SPEC:179.3 + * + * @test_Strategy: use jsp:directive.include anywhere within a jsp document. + */ + + @Test + public void directiveIncludeLocationTest() throws Exception { + String testName = "directiveIncludeLocation"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "HELLO|ONE|HELLO|TWO"); + invoke(); + } + + /* + * @testName: directiveIncludeInJspPageTest + * + * @assertion_ids: JSP:SPEC:179.5 + * + * @test_Strategy: use jsp:directive.include in a jsp page + */ + + @Test + public void directiveIncludeInJspPageTest() throws Exception { + String testName = "directiveIncludeInJspPage"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "HELLO|ONE"); + invoke(); + } + + /* + * @testName: directivePageInJspPageTest + * + * @assertion_ids: JSP:SPEC:178.39 + * + * @test_Strategy: use jsp:directive.page in a jsp page + */ + + @Test + public void directivePageInJspPageTest() throws Exception { + String testName = "directivePageInJspPage"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "listSize2"); + invoke(); + } + + /* + * @testName: scriptingTest + * + * @assertion_ids: JSP:SPEC:180; JSP:SPEC:181; JSP:SPEC:182 + * + * @test_Strategy: use jsp:declaration, jsp:scriptlet, and jsp:expression in a + * jsp document. + */ + + @Test + public void scriptingTest() throws Exception { + String testName = "scripting"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "JSP637|JSP637|99"); + invoke(); + } + + /* + * @testName: scriptingInJspPageTest + * + * @assertion_ids: JSP:SPEC:180.4; JSP:SPEC:181.2; JSP:SPEC:182.5 + * + * @test_Strategy: use jsp:declaration, jsp:scriptlet, and jsp:expression in a + * jsp page. + */ + + @Test + public void scriptingInJspPageTest() throws Exception { + String testName = "scriptingInJspPage"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + TEST_PROPS.setProperty(SEARCH_STRING, "JSP637|99"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java deleted file mode 100644 index 2357894b49..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.jspdocument.general; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_jspdocument_general_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - */ - - /* - * @testName: negativeWellFormednessTest - * - * @assertion_ids: JSP:SPEC:173.4 - * - * @test_Strategy: access a jsp document that is not well-formed. - */ - - public void negativeWellFormednessTest() throws Exception { - String testName = "negativeWellFormedness"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: identifyByJspRootTest - * - * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.3 - * - * @test_Strategy: access a jsp page that has a jsp:root as top element - */ - - public void identifyByJspRootTest() throws Exception { - String testName = "identifyByJspRoot"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: identifyByExtensionTest - * - * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.2; JSP:SPEC:176 - * - * @test_Strategy: identify a jsp document by .jspx extension a jsp document - * does not need to have jsp:root - */ - - public void identifyByExtensionTest() throws Exception { - String testName = "identifyByExtension"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: identifyByConfigTest - * - * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.1; JSP:SPEC:176 - * - * @test_Strategy: identify a jsp document by jsp-property-group via is-xml a - * jsp document does not need to have jsp:root - */ - - public void identifyByConfigTest() throws Exception { - String testName = "identifyByConfig"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: negativeDTDValidationTest - * - * @assertion_ids: JSP:SPEC:260 - * - * @test_Strategy: access an invalid jsp document and expect translation - * error. - */ - - public void negativeDTDValidationTest() throws Exception { - String testName = "negativeDTDValidation"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: invalidPlainURITest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error must not be generated if the given - * plain uri is not found in the taglib map. - */ - - public void invalidPlainURITest() throws Exception { - String testName = "invalidPlainURI"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, OK); - invoke(); - } - - /* - * @testName: tagDependentTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: validate that tagdependent body should be passed verbatim, - * tag handles inside body must not be invoked. - */ - - public void tagDependentTest() throws Exception { - String testName = "tagDependentTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "START ${pageScope.eval}|" - + "jsp:scriptlet|out.println(\"scriptlet\");|jsp:scriptlet|" - + "jsp:useBean|java.util.Date|" + "jsp:getProperty|property|" + - - "use jsp:body|" + - - "START ${pageScope.eval}|" - + "jsp:scriptlet|out.println(\"scriptlet\");|jsp:scriptlet|" - + "jsp:useBean|java.util.Date|" + "jsp:getProperty|property|" - + "Expression from attribute: 18|" + - - "END 72"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "evaluated"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClientIT.java new file mode 100644 index 0000000000..29be198806 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/jspdocument/general/URLClientIT.java @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.jspdocument.general; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_jspdocument_general_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_jspdocument_general_web.war"); + archive.addClasses(EchoTag.class); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_jspdocument_general_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tagdep.tld", "tagdep.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/tagDependentTest.jspx")), "tagDependentTest.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeWellFormedness.jspx")), "negativeWellFormedness.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDTDValidation.jspx")), "negativeDTDValidation.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/invalidPlainURI.jsp")), "invalidPlainURI.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/identifyByJspRoot.jsp")), "identifyByJspRoot.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/identifyByExtension.jspx")), "identifyByExtension.jspx"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/identifyByConfig.jsp")), "identifyByConfig.jsp"); + + return archive; + + } + + + /* + * @testName: negativeWellFormednessTest + * + * @assertion_ids: JSP:SPEC:173.4 + * + * @test_Strategy: access a jsp document that is not well-formed. + */ + + @Test + public void negativeWellFormednessTest() throws Exception { + String testName = "negativeWellFormedness"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: identifyByJspRootTest + * + * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.3 + * + * @test_Strategy: access a jsp page that has a jsp:root as top element + */ + + @Test + public void identifyByJspRootTest() throws Exception { + String testName = "identifyByJspRoot"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: identifyByExtensionTest + * + * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.2; JSP:SPEC:176 + * + * @test_Strategy: identify a jsp document by .jspx extension a jsp document + * does not need to have jsp:root + */ + + @Test + public void identifyByExtensionTest() throws Exception { + String testName = "identifyByExtension"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: identifyByConfigTest + * + * @assertion_ids: JSP:SPEC:173; JSP:SPEC:173.1; JSP:SPEC:176 + * + * @test_Strategy: identify a jsp document by jsp-property-group via is-xml a + * jsp document does not need to have jsp:root + */ + + @Test + public void identifyByConfigTest() throws Exception { + String testName = "identifyByConfig"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: negativeDTDValidationTest + * + * @assertion_ids: JSP:SPEC:260 + * + * @test_Strategy: access an invalid jsp document and expect translation + * error. + */ + + @Test + public void negativeDTDValidationTest() throws Exception { + String testName = "negativeDTDValidation"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: invalidPlainURITest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error must not be generated if the given + * plain uri is not found in the taglib map. + */ + + @Test + public void invalidPlainURITest() throws Exception { + String testName = "invalidPlainURI"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, OK); + invoke(); + } + + /* + * @testName: tagDependentTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: validate that tagdependent body should be passed verbatim, + * tag handles inside body must not be invoked. + */ + + @Test + public void tagDependentTest() throws Exception { + String testName = "tagDependentTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jspx HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "START ${pageScope.eval}|" + + "jsp:scriptlet|out.println(\"scriptlet\");|jsp:scriptlet|" + + "jsp:useBean|java.util.Date|" + "jsp:getProperty|property|" + + + "use jsp:body|" + + + "START ${pageScope.eval}|" + + "jsp:scriptlet|out.println(\"scriptlet\");|jsp:scriptlet|" + + "jsp:useBean|java.util.Date|" + "jsp:getProperty|property|" + + "Expression from attribute: 18|" + + + "END 72"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "evaluated"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java deleted file mode 100644 index 13b24e4a2d..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.misc.precompilation; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/misc/precompilation"); - setContextRoot("/jsp_misc_precompilation_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: precompileNoValueTest - * - * @assertion_ids: JSP:SPEC:244.1.4 - * - * @test_Strategy: Validate that no response body is returned when - * jsp_precompile has no value. - */ - - public void precompileNoValueTest() throws Exception { - String testName = "precompileNoValue"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile HTTP/1.0"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); - invoke(); - } - - /* - * @testName: precompileFalseTest - * - * @assertion_ids: JSP:SPEC:244.1.2 - * - * @test_Strategy: Validate that no response body is returned when - * jsp_precompile is set to false. - */ - - public void precompileFalseTest() throws Exception { - String testName = "precompileFalse"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=false HTTP/1.0"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); - invoke(); - } - - /* - * @testName: precompileTrueTest - * - * @assertion_ids: JSP:SPEC:244.1.1 - * - * @test_Strategy: Validate that no response body is returned when - * jsp_precompile is set to true. - */ - - public void precompileTrueTest() throws Exception { - String testName = "precompileTrue"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=true HTTP/1.0"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); - invoke(); - } - - /* - * @testName: precompileNegativeTest - * - * @assertion_ids: JSP:SPEC:244.1.5 - * - * @test_Strategy: Set the jsp_precompile request paramter to a non valid - * value and validate that a 500 error occurs. - */ - - public void precompileNegativeTest() throws Exception { - String testName = "precompileNegative"; - TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=any_invalid_value HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClientIT.java new file mode 100644 index 0000000000..abfe1abcf8 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/misc/precompilation/URLClientIT.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.misc.precompilation; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/misc/precompilation"); + setContextRoot("/jsp_misc_precompilation_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_misc_precompilation_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_misc_precompilation_web.xml")); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/precompile.jsp")), "precompile.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: precompileNoValueTest + * + * @assertion_ids: JSP:SPEC:244.1.4 + * + * @test_Strategy: Validate that no response body is returned when + * jsp_precompile has no value. + */ + + @Test + public void precompileNoValueTest() throws Exception { + String testName = "precompileNoValue"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile HTTP/1.0"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); + invoke(); + } + + /* + * @testName: precompileFalseTest + * + * @assertion_ids: JSP:SPEC:244.1.2 + * + * @test_Strategy: Validate that no response body is returned when + * jsp_precompile is set to false. + */ + + @Test + public void precompileFalseTest() throws Exception { + String testName = "precompileFalse"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=false HTTP/1.0"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); + invoke(); + } + + /* + * @testName: precompileTrueTest + * + * @assertion_ids: JSP:SPEC:244.1.1 + * + * @test_Strategy: Validate that no response body is returned when + * jsp_precompile is set to true. + */ + + @Test + public void precompileTrueTest() throws Exception { + String testName = "precompileTrue"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=true HTTP/1.0"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Got the Request"); + invoke(); + } + + /* + * @testName: precompileNegativeTest + * + * @assertion_ids: JSP:SPEC:244.1.5 + * + * @test_Strategy: Set the jsp_precompile request paramter to a non valid + * value and validate that a 500 error occurs. + */ + + @Test + public void precompileNegativeTest() throws Exception { + String testName = "precompileNegative"; + TEST_PROPS.setProperty(TEST_NAME, testName + "Test"); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_misc_precompilation_web/precompile.jsp?jsp_precompile=any_invalid_value HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java deleted file mode 100644 index 5b38e1c56a..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * @(#)URLClient.java 1.1 03/09/16 - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.attribute20; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_attribute20_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: negativeName1Test - * - * @assertion_ids: JSP:SPEC:230.2 - * - * @test_Strategy: A translation error must result if more than one attribute - * directive appears in the same translation unit with the same name - */ - - public void negativeName1Test() throws Exception { - String testName = "negativeName1"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeName1IncludeTest - * - * @assertion_ids: JSP:SPEC:230.2 - * - * @test_Strategy: A translation error must result if more than one attribute - * directive appears in the same translation unit with the same name - */ - - public void negativeName1IncludeTest() throws Exception { - String testName = "negativeName1Include"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeName2Test - * - * @assertion_ids: JSP:SPEC:230.1.2 - * - * @test_Strategy: A translation error must result if the attribute name - * equals to the name-given of a variable. - */ - - public void negativeName2Test() throws Exception { - String testName = "negativeName2"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeName2IncludeTest - * - * @assertion_ids: JSP:SPEC:230.1.2 - * - * @test_Strategy: A translation error must result if the attribute name - * equals to the name-given of a variable. - */ - - public void negativeName2IncludeTest() throws Exception { - String testName = "negativeName2Include"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeName3Test - * - * @assertion_ids: JSP:SPEC:230.1.2 - * - * @test_Strategy: A translation error must result if the attribute name - * equals to dynamic-attributes of a tag directive. - */ - - public void negativeName3Test() throws Exception { - String testName = "negativeName3"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeName3IncludeTest - * - * @assertion_ids: JSP:SPEC:230.1.2 - * - * @test_Strategy: A translation error must result if the attribute name - * equals to dynamic-attributes of a tag directive. - */ - - public void negativeName3IncludeTest() throws Exception { - String testName = "negativeName3Include"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultRequiredTest - * - * @assertion_ids: JSP:SPEC:230.3.3 - * - * @test_Strategy: required default is false - */ - - public void defaultRequiredTest() throws Exception { - String testName = "defaultRequired"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: defaultTypeTest - * - * @assertion_ids: JSP:SPEC:230.6.1 - * - * @test_Strategy: type defaults to java.lang.String, and also verify an Float - * type attribute. - */ - - public void defaultTypeTest() throws Exception { - String testName = "defaultType"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED"); - invoke(); - } - - /* - * @testName: negativeTypeTest - * - * @assertion_ids: JSP:SPEC:230.6.2 - * - * @test_Strategy: A translation error must result if the type is a primitive - */ - - public void negativeTypeTest() throws Exception { - String testName = "negativeType"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeFragmentTypeTest - * - * @assertion_ids: JSP:SPEC:230.4.5 - * - * @test_Strategy: A translation error must result if fragment is true and - * type is specified - */ - - public void negativeFragmentTypeTest() throws Exception { - String testName = "negativeFragmentType"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeFragmentRtexprvalueTest - * - * @assertion_ids: JSP:SPEC:230.4.2.1 - * - * @test_Strategy: A translation error must result if fragment is true and - * rtexprvalue is specified - */ - - public void negativeFragmentRtexprvalueTest() throws Exception { - String testName = "negativeFragmentRtexprvalue"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultFragmentTest - * - * @assertion_ids: JSP:SPEC:230 - * - * @test_Strategy: fragment defaults to false. Also verifies the default attr - * type is String. - */ - - public void defaultFragmentTest() throws Exception { - String testName = "defaultFragment"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: defaultRtexprvalueTest - * - * @assertion_ids: JSP:SPEC:230 - * - * @test_Strategy: rtexprvalue defaults to true. - */ - - public void defaultRtexprvalueTest() throws Exception { - String testName = "defaultRtexprvalue"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: deferredValueMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:230.8.3 - * - * @test_Strategy: [deferredValueMinimumJspVersion] The deferredValue - * attribute causes a translation error if specified in a tag file with a JSP - * version less than 2.1. - */ - - public void deferredValueMinimumJspVersionTest() throws Exception { - String testName = "deferredValueMinimumJspVersion"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredValueTypeMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:230.9.4 - * - * @test_Strategy: [deferredValueTypeMinimumJspVersion] The deferredValueType - * attribute causes a translation error if specified in a tag file with a JSP - * version less than 2.1. - */ - - public void deferredValueTypeMinimumJspVersionTest() throws Exception { - String testName = "deferredValueTypeMinimumJspVersion"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredMethodMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:230.10.2 - * - * @test_Strategy: [deferredMethodMinimumJspVersion] The deferredMethod - * attribute causes a translation error if specified in a tag file with a JSP - * version less than 2.1. - */ - - public void deferredMethodMinimumJspVersionTest() throws Exception { - String testName = "deferredMethodMinimumJspVersion"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredMethodSignatureMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:230.11.3 - * - * @test_Strategy: [deferredMethodSignatureMinimumJspVersion] The - * deferredMethodSignature attribute causes a translation error if specified - * in a tag file with a JSP version less than 2.1. - */ - - public void deferredMethodSignatureMinimumJspVersionTest() throws Exception { - String testName = "deferredMethodSignatureMinimumJspVersion"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClientIT.java new file mode 100644 index 0000000000..0215e3a477 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClientIT.java @@ -0,0 +1,411 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * @(#)URLClient.java 1.1 03/09/16 + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.attribute20; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_attribute20_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_directives_attribute20_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_directives_attribute20_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeType.tag", "tags/negativeType.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName3Include.tagf", "tags/negativeName3Include.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName3Include.tag", "tags/negativeName3Include.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName3.tag", "tags/negativeName3.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName2Include.tagf", "tags/negativeName2Include.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName2Include.tag", "tags/negativeName2Include.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName2.tag", "tags/negativeName2.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName1Include.tagf", "tags/negativeName1Include.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName1Include.tag", "tags/negativeName1Include.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeName1.tag", "tags/negativeName1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeFragmentType.tag", "tags/negativeFragmentType.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeFragmentRtexprvalue.tag", "tags/negativeFragmentRtexprvalue.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredValueTypeMinimumJspVersion.tag", "tags/deferredValueTypeMinimumJspVersion.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredValueMinimumJspVersion.tag", "tags/deferredValueMinimumJspVersion.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredMethodSignatureMinimumJspVersion.tag", "tags/deferredMethodSignatureMinimumJspVersion.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredMethodMinimumJspVersion.tag", "tags/deferredMethodMinimumJspVersion.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultType.tag", "tags/defaultType.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultRtexprvalue.tag", "tags/defaultRtexprvalue.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultRequired.tag", "tags/defaultRequired.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultFragment.tag", "tags/defaultFragment.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeType.jsp")), "negativeType.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName3Include.jsp")), "negativeName3Include.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName3.jsp")), "negativeName3.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName2Include.jsp")), "negativeName2Include.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName2.jsp")), "negativeName2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName1Include.jsp")), "negativeName1Include.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeName1.jsp")), "negativeName1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeFragmentType.jsp")), "negativeFragmentType.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeFragmentRtexprvalue.jsp")), "negativeFragmentRtexprvalue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredValueTypeMinimumJspVersion.jsp")), "deferredValueTypeMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredValueMinimumJspVersion.jsp")), "deferredValueMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredMethodSignatureMinimumJspVersion.jsp")), "deferredMethodSignatureMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredMethodMinimumJspVersion.jsp")), "deferredMethodMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultType.jsp")), "defaultType.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultRtexprvalue.jsp")), "defaultRtexprvalue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultRequired.jsp")), "defaultRequired.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultFragment.jsp")), "defaultFragment.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: negativeName1Test + * + * @assertion_ids: JSP:SPEC:230.2 + * + * @test_Strategy: A translation error must result if more than one attribute + * directive appears in the same translation unit with the same name + */ + + @Test + public void negativeName1Test() throws Exception { + String testName = "negativeName1"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeName1IncludeTest + * + * @assertion_ids: JSP:SPEC:230.2 + * + * @test_Strategy: A translation error must result if more than one attribute + * directive appears in the same translation unit with the same name + */ + + @Test + public void negativeName1IncludeTest() throws Exception { + String testName = "negativeName1Include"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeName2Test + * + * @assertion_ids: JSP:SPEC:230.1.2 + * + * @test_Strategy: A translation error must result if the attribute name + * equals to the name-given of a variable. + */ + + @Test + public void negativeName2Test() throws Exception { + String testName = "negativeName2"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeName2IncludeTest + * + * @assertion_ids: JSP:SPEC:230.1.2 + * + * @test_Strategy: A translation error must result if the attribute name + * equals to the name-given of a variable. + */ + + @Test + public void negativeName2IncludeTest() throws Exception { + String testName = "negativeName2Include"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeName3Test + * + * @assertion_ids: JSP:SPEC:230.1.2 + * + * @test_Strategy: A translation error must result if the attribute name + * equals to dynamic-attributes of a tag directive. + */ + + @Test + public void negativeName3Test() throws Exception { + String testName = "negativeName3"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeName3IncludeTest + * + * @assertion_ids: JSP:SPEC:230.1.2 + * + * @test_Strategy: A translation error must result if the attribute name + * equals to dynamic-attributes of a tag directive. + */ + + @Test + public void negativeName3IncludeTest() throws Exception { + String testName = "negativeName3Include"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultRequiredTest + * + * @assertion_ids: JSP:SPEC:230.3.3 + * + * @test_Strategy: required default is false + */ + + @Test + public void defaultRequiredTest() throws Exception { + String testName = "defaultRequired"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: defaultTypeTest + * + * @assertion_ids: JSP:SPEC:230.6.1 + * + * @test_Strategy: type defaults to java.lang.String, and also verify an Float + * type attribute. + */ + + @Test + public void defaultTypeTest() throws Exception { + String testName = "defaultType"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|Test PASSED"); + invoke(); + } + + /* + * @testName: negativeTypeTest + * + * @assertion_ids: JSP:SPEC:230.6.2 + * + * @test_Strategy: A translation error must result if the type is a primitive + */ + + @Test + public void negativeTypeTest() throws Exception { + String testName = "negativeType"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeFragmentTypeTest + * + * @assertion_ids: JSP:SPEC:230.4.5 + * + * @test_Strategy: A translation error must result if fragment is true and + * type is specified + */ + + @Test + public void negativeFragmentTypeTest() throws Exception { + String testName = "negativeFragmentType"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeFragmentRtexprvalueTest + * + * @assertion_ids: JSP:SPEC:230.4.2.1 + * + * @test_Strategy: A translation error must result if fragment is true and + * rtexprvalue is specified + */ + + @Test + public void negativeFragmentRtexprvalueTest() throws Exception { + String testName = "negativeFragmentRtexprvalue"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultFragmentTest + * + * @assertion_ids: JSP:SPEC:230 + * + * @test_Strategy: fragment defaults to false. Also verifies the default attr + * type is String. + */ + + @Test + public void defaultFragmentTest() throws Exception { + String testName = "defaultFragment"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: defaultRtexprvalueTest + * + * @assertion_ids: JSP:SPEC:230 + * + * @test_Strategy: rtexprvalue defaults to true. + */ + + @Test + public void defaultRtexprvalueTest() throws Exception { + String testName = "defaultRtexprvalue"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: deferredValueMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:230.8.3 + * + * @test_Strategy: [deferredValueMinimumJspVersion] The deferredValue + * attribute causes a translation error if specified in a tag file with a JSP + * version less than 2.1. + */ + + @Test + public void deferredValueMinimumJspVersionTest() throws Exception { + String testName = "deferredValueMinimumJspVersion"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredValueTypeMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:230.9.4 + * + * @test_Strategy: [deferredValueTypeMinimumJspVersion] The deferredValueType + * attribute causes a translation error if specified in a tag file with a JSP + * version less than 2.1. + */ + + @Test + public void deferredValueTypeMinimumJspVersionTest() throws Exception { + String testName = "deferredValueTypeMinimumJspVersion"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredMethodMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:230.10.2 + * + * @test_Strategy: [deferredMethodMinimumJspVersion] The deferredMethod + * attribute causes a translation error if specified in a tag file with a JSP + * version less than 2.1. + */ + + @Test + public void deferredMethodMinimumJspVersionTest() throws Exception { + String testName = "deferredMethodMinimumJspVersion"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredMethodSignatureMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:230.11.3 + * + * @test_Strategy: [deferredMethodSignatureMinimumJspVersion] The + * deferredMethodSignature attribute causes a translation error if specified + * in a tag file with a JSP version less than 2.1. + */ + + @Test + public void deferredMethodSignatureMinimumJspVersionTest() throws Exception { + String testName = "deferredMethodSignatureMinimumJspVersion"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java deleted file mode 100644 index d0ba0c180d..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.attribute21; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_attribute21_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: onlyOneOfDeferredValueOrDeferredMethodTest - * - * @assertion_ids: JSP:SPEC:230.8.1 - * - * @test_Strategy: [OnlyOneOfDeferredValueOrMethod] A translation error must - * result when both deferredValue and deferredMethod appear in the same tag. - */ - - public void onlyOneOfDeferredValueOrDeferredMethodTest() throws Exception { - String testName = "onlyOneOfDeferredValueOrDeferredMethod"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultDeferredValue1Test - * - * @assertion_ids: JSP:SPEC:230.8.2 - * - * @test_Strategy: [DefaultDeferredValue] Specify an attribute tag with no - * deferredValue attribute and a deferredValueType attribute. Verify that the - * attribute's value represents a deferred value expression. - */ - public void defaultDeferredValue1Test() throws Exception { - String testName = "defaultDeferredValue1"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: defaultDeferredValue2Test - * - * @assertion_ids: JSP:SPEC:230.8.2 - * - * @test_Strategy: [DefaultDeferredValue] Specify an attribute tag with no - * deferredValue attribute and no deferredValueType attribute. Verify that the - * attribute's value does not represent a deferred value expression by - * generating a translation error when '#{' is used. - */ - public void defaultDeferredValue2Test() throws Exception { - String testName = "defaultDeferredValue2"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredValueTypeNotSpecifiedTest - * - * @assertion_ids: JSP:SPEC:230.9.1 - * - * @test_Strategy: [DeferredValueTypeNotSpecified] Specify an attribute tag - * with a deferredValue attribute and no deferredValueType attribute. Verify - * that the type resulting from the evaluation of the attribute's value - * expression is java.lang.Object. - */ - public void deferredValueTypeNotSpecifiedTest() throws Exception { - String testName = "deferredValueTypeNotSpecified"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: bothDeferredValueTypeAndDeferredValueTest - * - * @assertion_ids: JSP:SPEC:230.9.2 - * - * @test_Strategy: [BothDeferredValueTypeAndDeferredValue] A translation error - * must result when both deferredValueType and and deferredValue appear in the - * same tag where deferredValue is set to false. - */ - public void bothDeferredValueTypeAndDeferredValueTest() throws Exception { - String testName = "bothDeferredValueTypeAndDeferredValue"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultDeferredMethod1Test - * - * @assertion_ids: JSP:SPEC:230.10.1 - * - * @test_Strategy: [DefaultDeferredMethod] Specify an attribute tag with no - * deferredMethod attribute and a deferredMethodSignature attribute. Verify - * that the attribute's value represents a deferred method expression. - */ - public void defaultDeferredMethod1Test() throws Exception { - String testName = "defaultDeferredMethod1"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: defaultDeferredMethod2Test - * - * @assertion_ids: JSP:SPEC:230.10.1 - * - * @test_Strategy: [DefaultDeferredMethod] Specify an attribute tag with no - * deferredMethod attribute and no deferredMethodSignature attribute. Verify - * that the attribute's value does not represent a deferred method expression - * by generating a translation error when '#{' is used. - */ - public void defaultDeferredMethod2Test() throws Exception { - String testName = "defaultDeferredMethod2"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: bothDeferredMethodAndSignatureTest - * - * @assertion_ids: JSP:SPEC:230.11.1 - * - * @test_Strategy: [BothDeferredMethodAndSignature] A translation error must - * result when both deferredMethodSignature and and deferredMethod appear in - * the same tag where deferredMethod is set to false. - */ - public void bothDeferredMethodAndSignatureTest() throws Exception { - String testName = "bothDeferredMethodAndSignature"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: defaultDeferredMethodSignatureTest - * - * @assertion_ids: JSP:SPEC:230.11.2 - * - * @test_Strategy: [DefaultDeferredMethodSignature] Specify an attribute tag - * with a deferredMethod attribute set to true and no - * deferredMethodMethodSignature attribute. Verify that the method signature - * defaults to void methodname(). - */ - public void defaultDeferredMethodSignatureTest() throws Exception { - String testName = "defaultDeferredMethodSignature"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClientIT.java new file mode 100644 index 0000000000..14803fb75d --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClientIT.java @@ -0,0 +1,253 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.attribute21; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_attribute21_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_directives_attribute21_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_directives_attribute21_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/onlyOneOfDeferredValueOrDeferredMethod.tag", "tags/onlyOneOfDeferredValueOrDeferredMethod.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicit.tld", "tags/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredValueTypeNotSpecified.tag", "tags/deferredValueTypeNotSpecified.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultDeferredValue2.tag", "tags/defaultDeferredValue2.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultDeferredValue1.tag", "tags/defaultDeferredValue1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultDeferredMethodSignature.tag", "tags/defaultDeferredMethodSignature.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultDeferredMethod2.tag", "tags/defaultDeferredMethod2.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultDeferredMethod1.tag", "tags/defaultDeferredMethod1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/bothDeferredValueTypeAndDeferredValue.tag", "tags/bothDeferredValueTypeAndDeferredValue.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/bothDeferredMethodAndSignature.tag", "tags/bothDeferredMethodAndSignature.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/onlyOneOfDeferredValueOrDeferredMethod.jsp")), "onlyOneOfDeferredValueOrDeferredMethod.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredValueTypeNotSpecified.jsp")), "deferredValueTypeNotSpecified.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultDeferredValue2.jsp")), "defaultDeferredValue2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultDeferredValue1.jsp")), "defaultDeferredValue1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultDeferredMethodSignature.jsp")), "defaultDeferredMethodSignature.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultDeferredMethod2.jsp")), "defaultDeferredMethod2.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/defaultDeferredMethod1.jsp")), "defaultDeferredMethod1.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bothDeferredValueTypeAndDeferredValue.jsp")), "bothDeferredValueTypeAndDeferredValue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/bothDeferredMethodAndSignature.jsp")), "bothDeferredMethodAndSignature.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: onlyOneOfDeferredValueOrDeferredMethodTest + * + * @assertion_ids: JSP:SPEC:230.8.1 + * + * @test_Strategy: [OnlyOneOfDeferredValueOrMethod] A translation error must + * result when both deferredValue and deferredMethod appear in the same tag. + */ + + @Test + public void onlyOneOfDeferredValueOrDeferredMethodTest() throws Exception { + String testName = "onlyOneOfDeferredValueOrDeferredMethod"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultDeferredValue1Test + * + * @assertion_ids: JSP:SPEC:230.8.2 + * + * @test_Strategy: [DefaultDeferredValue] Specify an attribute tag with no + * deferredValue attribute and a deferredValueType attribute. Verify that the + * attribute's value represents a deferred value expression. + */ + @Test + public void defaultDeferredValue1Test() throws Exception { + String testName = "defaultDeferredValue1"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: defaultDeferredValue2Test + * + * @assertion_ids: JSP:SPEC:230.8.2 + * + * @test_Strategy: [DefaultDeferredValue] Specify an attribute tag with no + * deferredValue attribute and no deferredValueType attribute. Verify that the + * attribute's value does not represent a deferred value expression by + * generating a translation error when '#{' is used. + */ + @Test + public void defaultDeferredValue2Test() throws Exception { + String testName = "defaultDeferredValue2"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredValueTypeNotSpecifiedTest + * + * @assertion_ids: JSP:SPEC:230.9.1 + * + * @test_Strategy: [DeferredValueTypeNotSpecified] Specify an attribute tag + * with a deferredValue attribute and no deferredValueType attribute. Verify + * that the type resulting from the evaluation of the attribute's value + * expression is java.lang.Object. + */ + @Test + public void deferredValueTypeNotSpecifiedTest() throws Exception { + String testName = "deferredValueTypeNotSpecified"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: bothDeferredValueTypeAndDeferredValueTest + * + * @assertion_ids: JSP:SPEC:230.9.2 + * + * @test_Strategy: [BothDeferredValueTypeAndDeferredValue] A translation error + * must result when both deferredValueType and and deferredValue appear in the + * same tag where deferredValue is set to false. + */ + @Test + public void bothDeferredValueTypeAndDeferredValueTest() throws Exception { + String testName = "bothDeferredValueTypeAndDeferredValue"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultDeferredMethod1Test + * + * @assertion_ids: JSP:SPEC:230.10.1 + * + * @test_Strategy: [DefaultDeferredMethod] Specify an attribute tag with no + * deferredMethod attribute and a deferredMethodSignature attribute. Verify + * that the attribute's value represents a deferred method expression. + */ + @Test + public void defaultDeferredMethod1Test() throws Exception { + String testName = "defaultDeferredMethod1"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: defaultDeferredMethod2Test + * + * @assertion_ids: JSP:SPEC:230.10.1 + * + * @test_Strategy: [DefaultDeferredMethod] Specify an attribute tag with no + * deferredMethod attribute and no deferredMethodSignature attribute. Verify + * that the attribute's value does not represent a deferred method expression + * by generating a translation error when '#{' is used. + */ + @Test + public void defaultDeferredMethod2Test() throws Exception { + String testName = "defaultDeferredMethod2"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: bothDeferredMethodAndSignatureTest + * + * @assertion_ids: JSP:SPEC:230.11.1 + * + * @test_Strategy: [BothDeferredMethodAndSignature] A translation error must + * result when both deferredMethodSignature and and deferredMethod appear in + * the same tag where deferredMethod is set to false. + */ + @Test + public void bothDeferredMethodAndSignatureTest() throws Exception { + String testName = "bothDeferredMethodAndSignature"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: defaultDeferredMethodSignatureTest + * + * @assertion_ids: JSP:SPEC:230.11.2 + * + * @test_Strategy: [DefaultDeferredMethodSignature] Specify an attribute tag + * with a deferredMethod attribute set to true and no + * deferredMethodMethodSignature attribute. Verify that the method signature + * defaults to void methodname(). + */ + @Test + public void defaultDeferredMethodSignatureTest() throws Exception { + String testName = "defaultDeferredMethodSignature"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java deleted file mode 100644 index fada038b56..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. - * All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.general; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.lib.harness.EETest.Fault; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_general_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: negativePageDirectiveTest - * - * @assertion_ids: JSP:SPEC:223 - * - * @test_Strategy: If a page directive is used in a tag file, a translation - * error must result. - */ - - public void negativePageDirectiveTest() throws Exception { - String testName = "negativePageDirective"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeTagDirectiveTest - * - * @assertion_ids: JSP:SPEC:226 - * - * @test_Strategy: If a tag directive is used in a jsp page, a translation - * error must result. - */ - - public void negativeTagDirectiveTest() throws Exception { - String testName = "negativeTagDirective"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeAttributeDirectiveTest - * - * @assertion_ids: JSP:SPEC:227 - * - * @test_Strategy: If a attribute directive is used in a jsp page, a - * translation error must result. - */ - - public void negativeAttributeDirectiveTest() throws Exception { - String testName = "negativeAttributeDirective"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeVariableDirectiveTest - * - * @assertion_ids: JSP:SPEC:228 - * - * @test_Strategy: If a variable directive is used in a jsp page, a - * translation error must result. - */ - - public void negativeVariableDirectiveTest() throws Exception { - String testName = "negativeVariableDirective"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveIncludeContextRelativeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: use tag include directive with a context relative path. - */ - - public void positiveIncludeContextRelativeTest() throws Exception { - String testName = "positiveIncludeContextRelative"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveIncludePageRelativeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: use tag include directive with a page relative path. - */ - - public void positiveIncludePageRelativeTest() throws Exception { - String testName = "positiveIncludePageRelative"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeIncludeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: use tag include directive to include unsuitable content - */ - - public void negativeIncludeTest() throws Exception { - String testName = "negativeInclude"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveTaglibTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: invoke a tag file from within a tag file. - */ - - public void positiveTaglibTest() throws Exception { - String testName = "positiveTaglib"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|from invokee"); - invoke(); - } - - /* - * @testName: errorOnELNotFoundFalseTest - * - * @assertion_ids: JSP:SPEC:320 - * - * @test_Strategy: [ErrorOnELNotFoundTagDirective] Verify that when the - * ErrorOnELNotFound tag directive attribute is set to false, a reference - * to an unresolved identifier results in the empty string being used. - */ - public void errorOnELNotFoundFalseTest() - throws Exception { - String testName = "ErrorOnELNotFoundFalse"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.0"); - invoke(); - } - - /* - * @testName: errorOnELNotFoundTrueTest - * - * @assertion_ids: JSP:SPEC:320 - * - * @test_Strategy: [ErrorOnELNotFoundTagDirective] Verify that when the - * ErrorOnELNotFound tag directive attribute is set to false, a reference - * to an unresolved identifier results in the empty string being used. - */ - public void errorOnELNotFoundTrueTest() - throws Exception { - String testName = "ErrorOnELNotFoundTrue"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClientIT.java new file mode 100644 index 0000000000..a178b6cb66 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClientIT.java @@ -0,0 +1,268 @@ +/* + * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. + * All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.general; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_tagfile_directives_general_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_directives_general_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_directives_general_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveTaglib.tag", "tags/positiveTaglib.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveIncludePageRelative.tag", "tags/positiveIncludePageRelative.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveIncludeContextRelative.tag", "tags/positiveIncludeContextRelative.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativePageDirective.tag", "tags/negativePageDirective.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeInclude.tag", "tags/negativeInclude.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/ErrorOnELNotFoundTrue.tag", "tags/ErrorOnELNotFoundTrue.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/ErrorOnELNotFoundFalse.tag", "tags/ErrorOnELNotFoundFalse.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/include/negativeInclude.tagf", "tags/include/negativeInclude.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/include/positiveIncludePageRelative.tagf", "tags/include/positiveIncludePageRelative.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/invoke/positiveTaglibInvokee.tag", "tags/invoke/positiveTaglibInvokee.tag"); + + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveTaglib.jsp")), "positiveTaglib.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludePageRelative.jsp")), "positiveIncludePageRelative.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveIncludeContextRelative.jsp")), "positiveIncludeContextRelative.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeVariableDirective.jsp")), "negativeVariableDirective.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeTagDirective.jsp")), "negativeTagDirective.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativePageDirective.jsp")), "negativePageDirective.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeInclude.jsp")), "negativeInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeAttributeDirective.jsp")), "negativeAttributeDirective.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorOnELNotFoundTrue.jsp")), "ErrorOnELNotFoundTrue.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ErrorOnELNotFoundFalse.jsp")), "ErrorOnELNotFoundFalse.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/include/positiveIncludeContextRelative.tagf")), "include/positiveIncludeContextRelative.tagf"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: negativePageDirectiveTest + * + * @assertion_ids: JSP:SPEC:223 + * + * @test_Strategy: If a page directive is used in a tag file, a translation + * error must result. + */ + + @Test + public void negativePageDirectiveTest() throws Exception { + String testName = "negativePageDirective"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeTagDirectiveTest + * + * @assertion_ids: JSP:SPEC:226 + * + * @test_Strategy: If a tag directive is used in a jsp page, a translation + * error must result. + */ + + @Test + public void negativeTagDirectiveTest() throws Exception { + String testName = "negativeTagDirective"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeAttributeDirectiveTest + * + * @assertion_ids: JSP:SPEC:227 + * + * @test_Strategy: If a attribute directive is used in a jsp page, a + * translation error must result. + */ + + @Test + public void negativeAttributeDirectiveTest() throws Exception { + String testName = "negativeAttributeDirective"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeVariableDirectiveTest + * + * @assertion_ids: JSP:SPEC:228 + * + * @test_Strategy: If a variable directive is used in a jsp page, a + * translation error must result. + */ + + @Test + public void negativeVariableDirectiveTest() throws Exception { + String testName = "negativeVariableDirective"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveIncludeContextRelativeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: use tag include directive with a context relative path. + */ + + @Test + public void positiveIncludeContextRelativeTest() throws Exception { + String testName = "positiveIncludeContextRelative"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveIncludePageRelativeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: use tag include directive with a page relative path. + */ + + @Test + public void positiveIncludePageRelativeTest() throws Exception { + String testName = "positiveIncludePageRelative"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeIncludeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: use tag include directive to include unsuitable content + */ + + @Test + public void negativeIncludeTest() throws Exception { + String testName = "negativeInclude"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveTaglibTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: invoke a tag file from within a tag file. + */ + + @Test + public void positiveTaglibTest() throws Exception { + String testName = "positiveTaglib"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED|from invokee"); + invoke(); + } + + /* + * @testName: errorOnELNotFoundFalseTest + * + * @assertion_ids: JSP:SPEC:320 + * + * @test_Strategy: [ErrorOnELNotFoundTagDirective] Verify that when the + * ErrorOnELNotFound tag directive attribute is set to false, a reference + * to an unresolved identifier results in the empty string being used. + */ + @Test + public void errorOnELNotFoundFalseTest() + throws Exception { + String testName = "ErrorOnELNotFoundFalse"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.0"); + invoke(); + } + + /* + * @testName: errorOnELNotFoundTrueTest + * + * @assertion_ids: JSP:SPEC:320 + * + * @test_Strategy: [ErrorOnELNotFoundTagDirective] Verify that when the + * ErrorOnELNotFound tag directive attribute is set to false, a reference + * to an unresolved identifier results in the empty string being used. + */ + @Test + public void errorOnELNotFoundTrueTest() + throws Exception { + String testName = "ErrorOnELNotFoundTrue"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java deleted file mode 100644 index 0c338f74ed..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java +++ /dev/null @@ -1,440 +0,0 @@ -/* - * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. - * All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.tag20; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static String CONTEXT_ROOT = "/jsp_tagfile_directives_tag20_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/tagfiles/directives/tag20"); - setContextRoot("/jsp_tagfile_directives_tag20_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: negativeDuplicateIsELIgnoredFatalTranslationErrorTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Declare a tag directive with two isELIgnored attributes. - */ - - public void negativeDuplicateIsELIgnoredFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateIsELIgnoredFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveImportTest - * - * @assertion_ids: JSP:SPEC:229.19 - * - * @test_Strategy: Use the import attribute to import 'java.util.ArrayList'. - * Validated that a ArrayList object can be created and used. - */ - - public void positiveImportTest() throws Exception { - String testName = "positiveImport"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitImportLangTest - * - * @assertion_ids: JSP:SPEC:229.19.1 - * - * @test_Strategy: Validate that classes from the java.lang package are - * implicitly imported by creating and using a java.lang.Integer object. - */ - - public void implicitImportLangTest() throws Exception { - String testName = "implicitImportLang"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitImportJspTest - * - * @assertion_ids: JSP:SPEC:229.19.1 - * - * @test_Strategy: Validate that classes from the jakarta.servlet.jsp package - * are implicitly imported by calling JspFactory.getDefaultFactory() method. - */ - - public void implicitImportJspTest() throws Exception { - String testName = "implicitImportJsp"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitImportServletTest - * - * @assertion_ids: JSP:SPEC:229.19.1 - * - * @test_Strategy: Validate that classes from the jakarta.servlet package are - * implicitly imported by creating and using an instance of RequestDispatcher. - */ - - public void implicitImportServletTest() throws Exception { - String testName = "implicitImportServlet"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitImportHttpTest - * - * @assertion_ids: JSP:SPEC:229.19.1 - * - * @test_Strategy: Validate that classes from the jakarta.servlet.http package - * are implicitly imported by creating and using an instance of Cookie. - */ - - public void implicitImportHttpTest() throws Exception { - String testName = "implicitImportHttp"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: positiveMultipleImportTest - * - * @assertion_ids: JSP:SPEC:229.19.2 - * - * @test_Strategy: Declare a tag directive with two import attributes. - * - */ - - public void positiveMultipleImportTest() throws Exception { - String testName = "positiveMultipleImport"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeMultiplePageEncodingTest - * - * @assertion_ids: JSP:SPEC:232.1.21 - * - * @test_Strategy: Declare a tag directive with two pageEncoding attributes. - * - */ - - public void negativeMultiplePageEncodingTest() throws Exception { - String testName = "negativeMultiplePageEncoding"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveLangTest - * - * @assertion_ids: JSP:SPEC:229.17 - * - * @test_Strategy: Validate that the language attribute can be set to "java" - * without an error. - */ - - public void positiveLangTest() throws Exception { - String testName = "positiveLang"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeDuplicateLanguageFatalTranslationErrorTest - * - * @assertion_ids: JSP:SPEC:229.18 - * - * @test_Strategy: Declare a tag directive with two language attributes. of - * different values. Validate that a fatal translation error occurs. - */ - - public void negativeDuplicateLanguageFatalTranslationErrorTest() - throws Exception { - String testName = "negativeDuplicateLanguageFatalTranslationError"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeBodyContentTest - * - * @assertion_ids: JSP:SPEC:232.1.5.5 - * - * @test_Strategy: A translation error will result if JSP is used as tag - * directive body-content - */ - - public void negativeBodyContentTest() throws Exception { - String testName = "negativeBodyContent"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveDuplicateAttributesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: There shall be only one occurrence of any attribute /value - * defined in a given translation unit, unless the values for the duplicate - * attributes are identical for all occurences. - */ - - public void positiveDuplicateAttributesTest() throws Exception { - String testName = "positiveDuplicateAttributes"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "tag invoked|Test PASSED"); - invoke(); - } - - /* - * @testName: negativeUnrecognizedAttributeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Unrecognized attributes or values result in fatal - * translation error. - */ - - public void negativeUnrecognizedAttributeTest() throws Exception { - String testName = "negativeUnrecognizedAttribute"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateDisplayNameTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateDisplayNameTest() throws Exception { - String testName = "negativeDuplicateDisplayName"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateBodyContentTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateBodyContentTest() throws Exception { - String testName = "negativeDuplicateBodyContent"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateDynamicAttributesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateDynamicAttributesTest() throws Exception { - String testName = "negativeDuplicateDynamicAttributes"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateDescriptionTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateDescriptionTest() throws Exception { - String testName = "negativeDuplicateDescription"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateExampleTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateExampleTest() throws Exception { - String testName = "negativeDuplicateExample"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateSmallIconTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateSmallIconTest() throws Exception { - String testName = "negativeDuplicateSmallIcon"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeDuplicateLargeIconTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: other such multiple attribute/value (re) definitions result - * in a fatal translation error if the value do not match. - */ - - public void negativeDuplicateLargeIconTest() throws Exception { - String testName = "negativeDuplicateLargeIcon"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: dynamicAttributesNoUriTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Only dynamic attributes with no uri are to be present in - * the Map; all other are ignored. - */ - - public void dynamicAttributesNoUriTest() throws Exception { - String testName = "dynamicAttributesNoUri"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: deferredValueMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:230.8.3 - * - * @test_Strategy: [deferredValueMinimumJspVersion] Show that the use of the - * deferredValue attribute for the tag directive causes a translation error if - * specified in a tag file with a JSP version less than 2.1. - */ - - public void deferredValueMinimumJspVersionTest() throws Exception { - String testName = "deferredValueMinimumJspVersion"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClientIT.java new file mode 100644 index 0000000000..d77b91fde3 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClientIT.java @@ -0,0 +1,518 @@ +/* + * Copyright (c) 2007, 2021 Oracle and/or its affiliates and others. + * All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.tag20; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static String CONTEXT_ROOT = "/jsp_tagfile_directives_tag20_web"; + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/tagfiles/directives/tag20"); + setContextRoot("/jsp_tagfile_directives_tag20_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_directives_tag20_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_directives_tag20_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/deferredValueMinimumJspVersion.tag", "tags/deferredValueMinimumJspVersion.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/dynamicAttributesNoUri.tag", "tags/dynamicAttributesNoUri.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicitImportHttp.tag", "tags/implicitImportHttp.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicitImportJsp.tag", "tags/implicitImportJsp.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicitImportLang.tag", "tags/implicitImportLang.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicitImportServlet.tag", "tags/implicitImportServlet.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeBodyContent.tag", "tags/negativeBodyContent.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateBodyContent.tag", "tags/negativeDuplicateBodyContent.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateDescription.tag", "tags/negativeDuplicateDescription.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateDisplayName.tag", "tags/negativeDuplicateDisplayName.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateDynamicAttributes.tag", "tags/negativeDuplicateDynamicAttributes.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateExample.tag", "tags/negativeDuplicateExample.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateIsELIgnoredFatalTranslationError.tag", "tags/negativeDuplicateIsELIgnoredFatalTranslationError.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateLanguageFatalTranslationError.tag", "tags/negativeDuplicateLanguageFatalTranslationError.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateLargeIcon.tag", "tags/negativeDuplicateLargeIcon.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeDuplicateSmallIcon.tag", "tags/negativeDuplicateSmallIcon.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeMultiplePageEncoding.tag", "tags/negativeMultiplePageEncoding.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeUnrecognizedAttribute.tag", "tags/negativeUnrecognizedAttribute.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveDuplicateAttributes.tag", "tags/positiveDuplicateAttributes.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveDuplicateAttributes.tagf", "tags/positiveDuplicateAttributes.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveImport.tag", "tags/positiveImport.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveLang.tag", "tags/positiveLang.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveMultipleImport.tag", "tags/positiveMultipleImport.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/images/16/icon.jpg")), "images/16/icon.jpg"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/images/32/icon.jpg")), "images/32/icon.jpg"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/deferredValueMinimumJspVersion.jsp")), "deferredValueMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/dynamicAttributesNoUri.jsp")), "dynamicAttributesNoUri.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportHttp.jsp")), "implicitImportHttp.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportJsp.jsp")), "implicitImportJsp.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportLang.jsp")), "implicitImportLang.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/implicitImportServlet.jsp")), "implicitImportServlet.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeBodyContent.jsp")), "negativeBodyContent.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateBodyContent.jsp")), "negativeDuplicateBodyContent.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateDescription.jsp")), "negativeDuplicateDescription.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateDisplayName.jsp")), "negativeDuplicateDisplayName.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateDynamicAttributes.jsp")), "negativeDuplicateDynamicAttributes.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateExample.jsp")), "negativeDuplicateExample.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateIsELIgnoredFatalTranslationError.jsp")), "negativeDuplicateIsELIgnoredFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateLanguageFatalTranslationError.jsp")), "negativeDuplicateLanguageFatalTranslationError.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateLargeIcon.jsp")), "negativeDuplicateLargeIcon.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeDuplicateSmallIcon.jsp")), "negativeDuplicateSmallIcon.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeMultiplePageEncoding.jsp")), "negativeMultiplePageEncoding.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeUnrecognizedAttribute.jsp")), "negativeUnrecognizedAttribute.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDuplicateAttributes.jsp")), "positiveDuplicateAttributes.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveImport.jsp")), "positiveImport.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveLang.jsp")), "positiveLang.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveMultipleImport.jsp")), "positiveMultipleImport.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: negativeDuplicateIsELIgnoredFatalTranslationErrorTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Declare a tag directive with two isELIgnored attributes. + */ + + @Test + public void negativeDuplicateIsELIgnoredFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateIsELIgnoredFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveImportTest + * + * @assertion_ids: JSP:SPEC:229.19 + * + * @test_Strategy: Use the import attribute to import 'java.util.ArrayList'. + * Validated that a ArrayList object can be created and used. + */ + + @Test + public void positiveImportTest() throws Exception { + String testName = "positiveImport"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitImportLangTest + * + * @assertion_ids: JSP:SPEC:229.19.1 + * + * @test_Strategy: Validate that classes from the java.lang package are + * implicitly imported by creating and using a java.lang.Integer object. + */ + + @Test + public void implicitImportLangTest() throws Exception { + String testName = "implicitImportLang"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitImportJspTest + * + * @assertion_ids: JSP:SPEC:229.19.1 + * + * @test_Strategy: Validate that classes from the jakarta.servlet.jsp package + * are implicitly imported by calling JspFactory.getDefaultFactory() method. + */ + + @Test + public void implicitImportJspTest() throws Exception { + String testName = "implicitImportJsp"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitImportServletTest + * + * @assertion_ids: JSP:SPEC:229.19.1 + * + * @test_Strategy: Validate that classes from the jakarta.servlet package are + * implicitly imported by creating and using an instance of RequestDispatcher. + */ + + @Test + public void implicitImportServletTest() throws Exception { + String testName = "implicitImportServlet"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitImportHttpTest + * + * @assertion_ids: JSP:SPEC:229.19.1 + * + * @test_Strategy: Validate that classes from the jakarta.servlet.http package + * are implicitly imported by creating and using an instance of Cookie. + */ + + @Test + public void implicitImportHttpTest() throws Exception { + String testName = "implicitImportHttp"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: positiveMultipleImportTest + * + * @assertion_ids: JSP:SPEC:229.19.2 + * + * @test_Strategy: Declare a tag directive with two import attributes. + * + */ + + @Test + public void positiveMultipleImportTest() throws Exception { + String testName = "positiveMultipleImport"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeMultiplePageEncodingTest + * + * @assertion_ids: JSP:SPEC:232.1.21 + * + * @test_Strategy: Declare a tag directive with two pageEncoding attributes. + * + */ + + @Test + public void negativeMultiplePageEncodingTest() throws Exception { + String testName = "negativeMultiplePageEncoding"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveLangTest + * + * @assertion_ids: JSP:SPEC:229.17 + * + * @test_Strategy: Validate that the language attribute can be set to "java" + * without an error. + */ + + @Test + public void positiveLangTest() throws Exception { + String testName = "positiveLang"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeDuplicateLanguageFatalTranslationErrorTest + * + * @assertion_ids: JSP:SPEC:229.18 + * + * @test_Strategy: Declare a tag directive with two language attributes. of + * different values. Validate that a fatal translation error occurs. + */ + + @Test + public void negativeDuplicateLanguageFatalTranslationErrorTest() + throws Exception { + String testName = "negativeDuplicateLanguageFatalTranslationError"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeBodyContentTest + * + * @assertion_ids: JSP:SPEC:232.1.5.5 + * + * @test_Strategy: A translation error will result if JSP is used as tag + * directive body-content + */ + + @Test + public void negativeBodyContentTest() throws Exception { + String testName = "negativeBodyContent"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveDuplicateAttributesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: There shall be only one occurrence of any attribute /value + * defined in a given translation unit, unless the values for the duplicate + * attributes are identical for all occurences. + */ + + @Test + public void positiveDuplicateAttributesTest() throws Exception { + String testName = "positiveDuplicateAttributes"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "tag invoked|Test PASSED"); + invoke(); + } + + /* + * @testName: negativeUnrecognizedAttributeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Unrecognized attributes or values result in fatal + * translation error. + */ + + @Test + public void negativeUnrecognizedAttributeTest() throws Exception { + String testName = "negativeUnrecognizedAttribute"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateDisplayNameTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateDisplayNameTest() throws Exception { + String testName = "negativeDuplicateDisplayName"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateBodyContentTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateBodyContentTest() throws Exception { + String testName = "negativeDuplicateBodyContent"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateDynamicAttributesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateDynamicAttributesTest() throws Exception { + String testName = "negativeDuplicateDynamicAttributes"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateDescriptionTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateDescriptionTest() throws Exception { + String testName = "negativeDuplicateDescription"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateExampleTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateExampleTest() throws Exception { + String testName = "negativeDuplicateExample"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateSmallIconTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateSmallIconTest() throws Exception { + String testName = "negativeDuplicateSmallIcon"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeDuplicateLargeIconTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: other such multiple attribute/value (re) definitions result + * in a fatal translation error if the value do not match. + */ + + @Test + public void negativeDuplicateLargeIconTest() throws Exception { + String testName = "negativeDuplicateLargeIcon"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: dynamicAttributesNoUriTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Only dynamic attributes with no uri are to be present in + * the Map; all other are ignored. + */ + + @Test + public void dynamicAttributesNoUriTest() throws Exception { + String testName = "dynamicAttributesNoUri"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: deferredValueMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:230.8.3 + * + * @test_Strategy: [deferredValueMinimumJspVersion] Show that the use of the + * deferredValue attribute for the tag directive causes a translation error if + * specified in a tag file with a JSP version less than 2.1. + */ + + @Test + public void deferredValueMinimumJspVersionTest() throws Exception { + String testName = "deferredValueMinimumJspVersion"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java deleted file mode 100644 index 69f9260e78..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.tag21; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static String CONTEXT_ROOT = "/jsp_tagfile_directives_tag21_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setGeneralURI("/jsp/spec/tagfiles/directives/tag21"); - setContextRoot("/jsp_tagfile_directives_tag21_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - /* - * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest - * - * @assertion_ids: JSP:SPEC:229.26 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] - * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute - * is set to false, a translation error occurs when the '{#' character - * sequence is used in template text and the jsp version is 2.1 or greater. - */ - public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest() - throws Exception { - String testName = "DeferredSyntaxAllowedAsLiteralFalseTemplateText"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest - * - * @assertion_ids: JSP:SPEC:229.26 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] - * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute - * is set to true, the '{#' character sequence is allowed in template text - * when the jsp version is 2.1 or greater. - */ - public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest() - throws Exception { - TEST_PROPS.setProperty(STANDARD, - "DeferredSyntaxAllowedAsLiteralTrueTemplateText"); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest - * - * @assertion_ids: JSP:SPEC:229.26 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] - * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute - * is set to false, a translation error occurs when the '{#' character - * sequence is used in actions and the jsp version is 2.1 or greater. - */ - public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception { - String testName = "DeferredSyntaxAllowedAsLiteralFalseAction"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest - * - * @assertion_ids: JSP:SPEC:229.26 - * - * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] - * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute - * is set to true, the '{#' character sequence is allowed in actions when the - * jsp version is 2.1 or greater. - */ - public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception { - TEST_PROPS.setProperty(STANDARD, - "DeferredSyntaxAllowedAsLiteralTrueAction"); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClientIT.java new file mode 100644 index 0000000000..d1ba1ce326 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClientIT.java @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.tag21; + + +import java.io.IOException; +import java.io.InputStream; + +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static String CONTEXT_ROOT = "/jsp_tagfile_directives_tag21_web"; + + public static String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + + public URLClientIT() throws Exception { + + + setGeneralURI("/jsp/spec/tagfiles/directives/tag21"); + setContextRoot("/jsp_tagfile_directives_tag21_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_directives_tag21_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_directives_tag21_web.xml")); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/implicit.tld", "tags/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeferredSyntaxAsLiteral.tag", "tags/DeferredSyntaxAsLiteral.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueTemplateText.tag", "tags/DeferredSyntaxAllowedAsLiteralTrueTemplateText.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueAction.tag", "tags/DeferredSyntaxAllowedAsLiteralTrueAction.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseTemplateText.tag", "tags/DeferredSyntaxAllowedAsLiteralFalseTemplateText.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseAction.tag", "tags/DeferredSyntaxAllowedAsLiteralFalseAction.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueTemplateText.jsp")), "DeferredSyntaxAllowedAsLiteralTrueTemplateText.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueAction.jsp")), "DeferredSyntaxAllowedAsLiteralTrueAction.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralFalseTemplateText.jsp")), "DeferredSyntaxAllowedAsLiteralFalseTemplateText.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/DeferredSyntaxAllowedAsLiteralFalseAction.jsp")), "DeferredSyntaxAllowedAsLiteralFalseAction.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + /* + * @testName: deferredSyntaxAllowedAsLiteralFalseTemplateTextTest + * + * @assertion_ids: JSP:SPEC:229.26 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] + * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute + * is set to false, a translation error occurs when the '{#' character + * sequence is used in template text and the jsp version is 2.1 or greater. + */ + @Test + public void deferredSyntaxAllowedAsLiteralFalseTemplateTextTest() + throws Exception { + String testName = "DeferredSyntaxAllowedAsLiteralFalseTemplateText"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralTrueTemplateTextTest + * + * @assertion_ids: JSP:SPEC:229.26 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] + * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute + * is set to true, the '{#' character sequence is allowed in template text + * when the jsp version is 2.1 or greater. + */ + @Test + public void deferredSyntaxAllowedAsLiteralTrueTemplateTextTest() + throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueTemplateText.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, + "DeferredSyntaxAllowedAsLiteralTrueTemplateText"); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralFalseActionTest + * + * @assertion_ids: JSP:SPEC:229.26 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] + * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute + * is set to false, a translation error occurs when the '{#' character + * sequence is used in actions and the jsp version is 2.1 or greater. + */ + @Test + public void deferredSyntaxAllowedAsLiteralFalseActionTest() throws Exception { + String testName = "DeferredSyntaxAllowedAsLiteralFalseAction"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: deferredSyntaxAllowedAsLiteralTrueActionTest + * + * @assertion_ids: JSP:SPEC:229.26 + * + * @test_Strategy: [DeferredSyntaxAllowedAsLiteralTagDirectiveAttribute] + * Verify that when the DeferredSyntaxAllowedAsLiteral tag directive attribute + * is set to true, the '{#' character sequence is allowed in actions when the + * jsp version is 2.1 or greater. + */ + @Test + public void deferredSyntaxAllowedAsLiteralTrueActionTest() throws Exception { + InputStream gfStream = URLClientIT.class.getClassLoader().getResourceAsStream(packagePath+"/DeferredSyntaxAllowedAsLiteralTrueAction.gf"); + setGoldenFileStream(gfStream); + TEST_PROPS.setProperty(STANDARD, + "DeferredSyntaxAllowedAsLiteralTrueAction"); + invoke(); + } +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java deleted file mode 100644 index d2805d8e80..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java +++ /dev/null @@ -1,490 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.directives.variable; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_tagfiles_directives_variable_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: negativeNameGivenBothTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Either the name-given attribute or the name- from-attribute - * must be specified. Specifying neither or both will result in a translation - * error. - */ - - public void negativeNameGivenBothTest() throws Exception { - String testName = "negativeNameGivenBoth"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameGivenNeitherTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Either the name-given attribute or the name- from-attribute - * must be specified. Specifying neither or both will result in a translation - * error. - */ - - public void negativeNameGivenNeitherTest() throws Exception { - String testName = "negativeNameGivenNeither"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameGivenSameTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if two variable directives - * have the same name-given. - */ - - public void negativeNameGivenSameTest() throws Exception { - String testName = "negativeNameGivenSame"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameGivenSameIncludeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if two variable directives - * have the same name-given in the same translation unit. - */ - - public void negativeNameGivenSameIncludeTest() throws Exception { - String testName = "negativeNameGivenSameInclude"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameGivenDynamicTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if a variable name-given is - * the same as a dynamic-attributes of a tag directive. - */ - - public void negativeNameGivenDynamicTest() throws Exception { - String testName = "negativeNameGivenDynamic"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameGivenDynamicIncludeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if a variable name-given is - * the same as a dynamic-attributes of a tag directive in the same translation - * unit. - */ - - public void negativeNameGivenDynamicIncludeTest() throws Exception { - String testName = "negativeNameGivenDynamicInclude"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeSameTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if two variable directives - * have the same name-from-attribute. - */ - - public void negativeNameFromAttributeSameTest() throws Exception { - String testName = "negativeNameFromAttributeSame"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeSameIncludeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if two variable directives - * have the same name-from-attribute. - */ - - public void negativeNameFromAttributeSameIncludeTest() throws Exception { - String testName = "negativeNameFromAttributeSameInclude"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeNoAttributeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result the attribute referred to - * by name-from-attribute does not exist. - */ - - public void negativeNameFromAttributeNoAttributeTest() throws Exception { - String testName = "negativeNameFromAttributeNoAttribute"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeNotStringTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if the attribute referred - * to by name-from-attribute is not of type java.lang.String - */ - - public void negativeNameFromAttributeNotStringTest() throws Exception { - String testName = "negativeNameFromAttributeNotString"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeNotRequiredTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if the attribute referred - * to by name-from-attribute is not required. - */ - - public void negativeNameFromAttributeNotRequiredTest() throws Exception { - String testName = "negativeNameFromAttributeNotRequired"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeNameFromAttributeRtexprTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if the attribute referred - * to by name-from-attribute is rtexprvalue - */ - - public void negativeNameFromAttributeRtexprTest() throws Exception { - String testName = "negativeNameFromAttributeRtexpr"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeAliasNameGivenTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if alias is used without - * name-from-attribute - */ - - public void negativeAliasNameGivenTest() throws Exception { - String testName = "negativeAliasNameGiven"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeAliasAttributeSameTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if alias is the same as the - * name of an attribute directive in the same translation unit. - */ - - public void negativeAliasAttributeSameTest() throws Exception { - String testName = "negativeAliasAttributeSame"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: negativeAliasAttributeSameIncludeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: a translation error will result if alias is the same as the - * name of an attribute directive in the same translation unit. - */ - - public void negativeAliasAttributeSameIncludeTest() throws Exception { - String testName = "negativeAliasAttributeSameInclude"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: positiveVariableClassTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable-class specifies the name of the class of the - * variable - */ - - public void positiveVariableClassTest() throws Exception { - String testName = "positiveVariableClass"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: syncAtBeginTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncAtBeginTest() throws Exception { - String testName = "syncAtBegin"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "1|2|2|4"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncAtBeginNameFromAttributeTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncAtBeginNameFromAttributeTest() throws Exception { - String testName = "syncAtBeginNameFromAttribute"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "tagFileResult|callingPageResult|ignoredInCallingPage|tagFileResult|4|callingPageResult"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncNestedTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncNestedTest() throws Exception { - String testName = "syncNested"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "1|2|2|1"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncAtEndTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncAtEndTest() throws Exception { - String testName = "syncAtEnd"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "1|1|2|4"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncRemoveNestedTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncRemoveNestedTest() throws Exception { - String testName = "syncRemoveNested"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "2|'1'|''|2"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncRemoveAtEndTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncRemoveAtEndTest() throws Exception { - String testName = "syncRemoveAtEnd"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "2|'2'|'2'|''"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: syncRemoveAtBeginTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: variable synchronization - */ - - public void syncRemoveAtBeginTest() throws Exception { - String testName = "syncRemoveAtBegin"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "2|'1'|''|''"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: positiveDeclareTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: if true (default), a corresponding scripting variable is - * declared in the calling page or tag file. - */ - - public void positiveDeclareTest() throws Exception { - String testName = "positiveDeclare"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "declared2:declared2|Test PASSED"); - invoke(); - } - - /* - * @testName: falseDeclareTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: if false, a corresponding scripting variable is not - * declared in the calling page or tag file. - */ - - public void falseDeclareTest() throws Exception { - String testName = "falseDeclareTest"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "was declared2|was declared"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClientIT.java new file mode 100644 index 0000000000..eeb4ff19df --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClientIT.java @@ -0,0 +1,579 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.directives.variable; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_tagfiles_directives_variable_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfiles_directives_variable_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfiles_directives_variable_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/falseDeclare.tag", "tags/falseDeclare.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/falseDeclare2.tag", "tags/falseDeclare2.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeAliasAttributeSame.tag", "tags/negativeAliasAttributeSame.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeAliasAttributeSameInclude.tag", "tags/negativeAliasAttributeSameInclude.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeAliasAttributeSameInclude.tagf", "tags/negativeAliasAttributeSameInclude.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeAliasNameGiven.tag", "tags/negativeAliasNameGiven.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeNoAttribute.tag", "tags/negativeNameFromAttributeNoAttribute.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeNotRequired.tag", "tags/negativeNameFromAttributeNotRequired.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeNotString.tag", "tags/negativeNameFromAttributeNotString.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeRtexpr.tag", "tags/negativeNameFromAttributeRtexpr.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeSame.tag", "tags/negativeNameFromAttributeSame.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeSameInclude.tag", "tags/negativeNameFromAttributeSameInclude.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameFromAttributeSameInclude.tagf", "tags/negativeNameFromAttributeSameInclude.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenBoth.tag", "tags/negativeNameGivenBoth.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenDynamic.tag", "tags/negativeNameGivenDynamic.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenDynamicInclude.tag", "tags/negativeNameGivenDynamicInclude.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenDynamicInclude.tagf", "tags/negativeNameGivenDynamicInclude.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenNeither.tag", "tags/negativeNameGivenNeither.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenSame.tag", "tags/negativeNameGivenSame.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenSameInclude.tag", "tags/negativeNameGivenSameInclude.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/negativeNameGivenSameInclude.tagf", "tags/negativeNameGivenSameInclude.tagf"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveDeclare.tag", "tags/positiveDeclare.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveDeclare2.tag", "tags/positiveDeclare2.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/positiveVariableClass.tag", "tags/positiveVariableClass.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncAtBegin.tag", "tags/syncAtBegin.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncAtBeginNameFromAttribute.tag", "tags/syncAtBeginNameFromAttribute.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncAtEnd.tag", "tags/syncAtEnd.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncNested.tag", "tags/syncNested.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncRemoveAtBegin.tag", "tags/syncRemoveAtBegin.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncRemoveAtEnd.tag", "tags/syncRemoveAtEnd.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/syncRemoveNested.tag", "tags/syncRemoveNested.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/falseDeclareTest.jsp")), "falseDeclareTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeAliasAttributeSame.jsp")), "negativeAliasAttributeSame.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeAliasAttributeSameInclude.jsp")), "negativeAliasAttributeSameInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeAliasNameGiven.jsp")), "negativeAliasNameGiven.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeNoAttribute.jsp")), "negativeNameFromAttributeNoAttribute.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeNotRequired.jsp")), "negativeNameFromAttributeNotRequired.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeNotString.jsp")), "negativeNameFromAttributeNotString.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeRtexpr.jsp")), "negativeNameFromAttributeRtexpr.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeSame.jsp")), "negativeNameFromAttributeSame.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameFromAttributeSameInclude.jsp")), "negativeNameFromAttributeSameInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenBoth.jsp")), "negativeNameGivenBoth.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenDynamic.jsp")), "negativeNameGivenDynamic.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenDynamicInclude.jsp")), "negativeNameGivenDynamicInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenNeither.jsp")), "negativeNameGivenNeither.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenSame.jsp")), "negativeNameGivenSame.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeNameGivenSameInclude.jsp")), "negativeNameGivenSameInclude.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveDeclare.jsp")), "positiveDeclare.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/positiveVariableClass.jsp")), "positiveVariableClass.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncAtBegin.jsp")), "syncAtBegin.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncAtBeginNameFromAttribute.jsp")), "syncAtBeginNameFromAttribute.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncAtEnd.jsp")), "syncAtEnd.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncNested.jsp")), "syncNested.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncRemoveAtBegin.jsp")), "syncRemoveAtBegin.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncRemoveAtEnd.jsp")), "syncRemoveAtEnd.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/syncRemoveNested.jsp")), "syncRemoveNested.jsp"); + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: negativeNameGivenBothTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Either the name-given attribute or the name- from-attribute + * must be specified. Specifying neither or both will result in a translation + * error. + */ + + @Test + public void negativeNameGivenBothTest() throws Exception { + String testName = "negativeNameGivenBoth"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameGivenNeitherTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Either the name-given attribute or the name- from-attribute + * must be specified. Specifying neither or both will result in a translation + * error. + */ + + @Test + public void negativeNameGivenNeitherTest() throws Exception { + String testName = "negativeNameGivenNeither"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameGivenSameTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if two variable directives + * have the same name-given. + */ + + @Test + public void negativeNameGivenSameTest() throws Exception { + String testName = "negativeNameGivenSame"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameGivenSameIncludeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if two variable directives + * have the same name-given in the same translation unit. + */ + + @Test + public void negativeNameGivenSameIncludeTest() throws Exception { + String testName = "negativeNameGivenSameInclude"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameGivenDynamicTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if a variable name-given is + * the same as a dynamic-attributes of a tag directive. + */ + + @Test + public void negativeNameGivenDynamicTest() throws Exception { + String testName = "negativeNameGivenDynamic"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameGivenDynamicIncludeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if a variable name-given is + * the same as a dynamic-attributes of a tag directive in the same translation + * unit. + */ + + @Test + public void negativeNameGivenDynamicIncludeTest() throws Exception { + String testName = "negativeNameGivenDynamicInclude"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeSameTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if two variable directives + * have the same name-from-attribute. + */ + + @Test + public void negativeNameFromAttributeSameTest() throws Exception { + String testName = "negativeNameFromAttributeSame"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeSameIncludeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if two variable directives + * have the same name-from-attribute. + */ + + @Test + public void negativeNameFromAttributeSameIncludeTest() throws Exception { + String testName = "negativeNameFromAttributeSameInclude"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeNoAttributeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result the attribute referred to + * by name-from-attribute does not exist. + */ + + @Test + public void negativeNameFromAttributeNoAttributeTest() throws Exception { + String testName = "negativeNameFromAttributeNoAttribute"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeNotStringTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if the attribute referred + * to by name-from-attribute is not of type java.lang.String + */ + + @Test + public void negativeNameFromAttributeNotStringTest() throws Exception { + String testName = "negativeNameFromAttributeNotString"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeNotRequiredTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if the attribute referred + * to by name-from-attribute is not required. + */ + + @Test + public void negativeNameFromAttributeNotRequiredTest() throws Exception { + String testName = "negativeNameFromAttributeNotRequired"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeNameFromAttributeRtexprTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if the attribute referred + * to by name-from-attribute is rtexprvalue + */ + + @Test + public void negativeNameFromAttributeRtexprTest() throws Exception { + String testName = "negativeNameFromAttributeRtexpr"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeAliasNameGivenTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if alias is used without + * name-from-attribute + */ + + @Test + public void negativeAliasNameGivenTest() throws Exception { + String testName = "negativeAliasNameGiven"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeAliasAttributeSameTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if alias is the same as the + * name of an attribute directive in the same translation unit. + */ + + @Test + public void negativeAliasAttributeSameTest() throws Exception { + String testName = "negativeAliasAttributeSame"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: negativeAliasAttributeSameIncludeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: a translation error will result if alias is the same as the + * name of an attribute directive in the same translation unit. + */ + + @Test + public void negativeAliasAttributeSameIncludeTest() throws Exception { + String testName = "negativeAliasAttributeSameInclude"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: positiveVariableClassTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable-class specifies the name of the class of the + * variable + */ + + @Test + public void positiveVariableClassTest() throws Exception { + String testName = "positiveVariableClass"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: syncAtBeginTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncAtBeginTest() throws Exception { + String testName = "syncAtBegin"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "1|2|2|4"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncAtBeginNameFromAttributeTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncAtBeginNameFromAttributeTest() throws Exception { + String testName = "syncAtBeginNameFromAttribute"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "tagFileResult|callingPageResult|ignoredInCallingPage|tagFileResult|4|callingPageResult"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncNestedTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncNestedTest() throws Exception { + String testName = "syncNested"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "1|2|2|1"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncAtEndTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncAtEndTest() throws Exception { + String testName = "syncAtEnd"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "1|1|2|4"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncRemoveNestedTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncRemoveNestedTest() throws Exception { + String testName = "syncRemoveNested"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "2|'1'|''|2"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncRemoveAtEndTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncRemoveAtEndTest() throws Exception { + String testName = "syncRemoveAtEnd"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "2|'2'|'2'|''"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: syncRemoveAtBeginTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: variable synchronization + */ + + @Test + public void syncRemoveAtBeginTest() throws Exception { + String testName = "syncRemoveAtBegin"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "2|'1'|''|''"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: positiveDeclareTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: if true (default), a corresponding scripting variable is + * declared in the calling page or tag file. + */ + + @Test + public void positiveDeclareTest() throws Exception { + String testName = "positiveDeclare"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "declared2:declared2|Test PASSED"); + invoke(); + } + + /* + * @testName: falseDeclareTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: if false, a corresponding scripting variable is not + * declared in the calling page or tag file. + */ + + @Test + public void falseDeclareTest() throws Exception { + String testName = "falseDeclareTest"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "was declared2|was declared"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java deleted file mode 100644 index 9aba06561e..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.implicitobjects; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - private static final String CONTEXT_ROOT = "/jsp_tagfiles_implicitobjects_web"; - - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot(CONTEXT_ROOT); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: checkSessionTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the session - * scripting variable is of type jakarta.servlet.http.HttpSession and that a - * method can be called against it. - */ - - public void checkSessionTest() throws Exception { - String testName = "checkSession"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true|checkSession"); - invoke(); - } - - /* - * @testName: checkConfigTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the config - * scripting variable is of type jakarta.servlet.ServletConfig and that a method - * can be called against it. - */ - - public void checkConfigTest() throws Exception { - String testName = "checkConfig"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/checkConfig" + " HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "true|param1 is:|hobbit|param2 is:|gollum"); - invoke(); - } - - /* - * @testName: checkOutTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the out scripting - * variable is of type jakarta.servlet.jsp.JspWriter. - */ - - public void checkOutTest() throws Exception { - String testName = "checkOut"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true"); - invoke(); - } - - /* - * @testName: checkJspContextTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the jspContext - * scripting variable is of type jakarta.servlet.jsp.JspContext and that a - * method can be called against it. - */ - - public void checkJspContextTest() throws Exception { - String testName = "checkJspContext"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfiles_implicitobjects_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true|true"); - invoke(); - } - - /* - * @testName: checkRequestTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the request - * scripting variable is of type jakarta.servlet.Request (parent class of - * HttpServletRequest) and that a method can be called against it. - */ - - public void checkRequestTest() throws Exception { - String testName = "checkRequest"; - TEST_PROPS.setProperty(REQUEST, "GET /jsp_tagfiles_implicitobjects_web/" - + testName + ".jsp?Years=2 HTTP/1.0"); - TEST_PROPS.setProperty(SEARCH_STRING, "true|HTTP|1.0|2"); - invoke(); - } - - /* - * @testName: checkResponseTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the response - * scripting variable is of type jakarta.servlet.Response (parent class of - * HttpServletResponse) and that a method can be called against it. - */ - - public void checkResponseTest() throws Exception { - String testName = "checkResponse"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true"); - TEST_PROPS.setProperty(EXPECTED_HEADERS, "TestHeader:Method call OK"); - invoke(); - } - - /* - * @testName: checkApplicationTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the object associated with the application - * scripting variable is of type jakarta.servlet.ServletContext that a method - * can be called against it. - */ - public void checkApplicationTest() throws Exception { - String testName = "checkApplication"; - TEST_PROPS.setProperty(REQUEST, - "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "true|param1|bilbo"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClientIT.java new file mode 100644 index 0000000000..fc773ace4b --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClientIT.java @@ -0,0 +1,217 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.implicitobjects; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + private static final String CONTEXT_ROOT = "/jsp_tagfiles_implicitobjects_web"; + + public URLClientIT() throws Exception { + + + setContextRoot(CONTEXT_ROOT); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfiles_implicitobjects_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfiles_implicitobjects_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkSession.tag", "tags/checkSession.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkRequest.tag", "tags/checkRequest.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkResponse.tag", "tags/checkResponse.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkOut.tag", "tags/checkOut.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkJspContext.tag", "tags/checkJspContext.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkConfig.tag", "tags/checkConfig.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/checkApplication.tag", "tags/checkApplication.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkSession.jsp")), "checkSession.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkResponse.jsp")), "checkResponse.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkRequest.jsp")), "checkRequest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkOut.jsp")), "checkOut.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkJspContext.jsp")), "checkJspContext.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkConfig.jsp")), "checkConfig.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/checkApplication.jsp")), "checkApplication.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: checkSessionTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the session + * scripting variable is of type jakarta.servlet.http.HttpSession and that a + * method can be called against it. + */ + + @Test + public void checkSessionTest() throws Exception { + String testName = "checkSession"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true|checkSession"); + invoke(); + } + + /* + * @testName: checkConfigTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the config + * scripting variable is of type jakarta.servlet.ServletConfig and that a method + * can be called against it. + */ + + @Test + public void checkConfigTest() throws Exception { + String testName = "checkConfig"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/checkConfig" + " HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "true|param1 is:|hobbit|param2 is:|gollum"); + invoke(); + } + + /* + * @testName: checkOutTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the out scripting + * variable is of type jakarta.servlet.jsp.JspWriter. + */ + + @Test + public void checkOutTest() throws Exception { + String testName = "checkOut"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true"); + invoke(); + } + + /* + * @testName: checkJspContextTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the jspContext + * scripting variable is of type jakarta.servlet.jsp.JspContext and that a + * method can be called against it. + */ + + @Test + public void checkJspContextTest() throws Exception { + String testName = "checkJspContext"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfiles_implicitobjects_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true|true"); + invoke(); + } + + /* + * @testName: checkRequestTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the request + * scripting variable is of type jakarta.servlet.Request (parent class of + * HttpServletRequest) and that a method can be called against it. + */ + + @Test + public void checkRequestTest() throws Exception { + String testName = "checkRequest"; + TEST_PROPS.setProperty(REQUEST, "GET /jsp_tagfiles_implicitobjects_web/" + + testName + ".jsp?Years=2 HTTP/1.0"); + TEST_PROPS.setProperty(SEARCH_STRING, "true|HTTP|1.0|2"); + invoke(); + } + + /* + * @testName: checkResponseTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the response + * scripting variable is of type jakarta.servlet.Response (parent class of + * HttpServletResponse) and that a method can be called against it. + */ + + @Test + public void checkResponseTest() throws Exception { + String testName = "checkResponse"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true"); + TEST_PROPS.setProperty(EXPECTED_HEADERS, "TestHeader:Method call OK"); + invoke(); + } + + /* + * @testName: checkApplicationTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the object associated with the application + * scripting variable is of type jakarta.servlet.ServletContext that a method + * can be called against it. + */ + @Test + public void checkApplicationTest() throws Exception { + String testName = "checkApplication"; + TEST_PROPS.setProperty(REQUEST, + "GET " + CONTEXT_ROOT + "/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "true|param1|bilbo"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java deleted file mode 100644 index e2ccd65614..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -/* - * @(#)URLClient.java 1.1 12/09/02 - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.packaging; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot("/jsp_tagfile_pkg_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: jspTagFilePackagedJarTest - * - * @assertion_ids: JSP:SPEC:220.1 - * - * @test_Strategy: Validate that tag files packaged in a JAR file and - * referenced in a TLD, can be recognized by the container and invoked within - * a Page. - */ - public void jspTagFilePackagedJarTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/JspTagFilePackagedJarTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: jspTagFilePackagedJarIgnoredTagTest - * - * @assertion_ids: JSP:SPEC:220.2 - * - * @test_Strategy: Validate that if a Tag file is packaged in a JAR but not - * referenced by a TLD, the container ignores the tag file. Since the Page - * will refer to the ignored tag, a translation error should occur by its use. - */ - public void jspTagFilePackagedJarIgnoredTagTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/JspTagFilePackagedJarIgnoredTagTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: jspTagFilePackagedWarTest - * - * @assertion_ids: JSP:SPEC:221 - * - * @test_Strategy: Validate that tag files can be properly detected by the - * container and that they can be used in a Page. - */ - public void jspTagFilePackagedWarTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/JspTagFilePackagedWarTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED1|Test PASSED2"); - invoke(); - } - - /* - * @testName: jspTagFilePackagedWarTldTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate tag files packaged in a web application can be - * explicity referenced in a TLD to be used by a a Page. - */ - public void jspTagFilePackagedWarTldTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/JspTagFilePackagedWarTldTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED1"); - invoke(); - } - - /* - * @testName: implicitTldMinimumJspVersionTest - * - * @assertion_ids: JSP:SPEC:311 - * - * @test_Strategy: [ImplicitTldMinimumJspVersion] Show that if the JSP version - * specified in an implicit.tld file is less than 2.0 a translation error will - * result. - */ - public void implicitTldMinimumJspVersionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/ImplicitTldMinimumJspVersion.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: implicitTldAdditionalElementsTest - * - * @assertion_ids: JSP:SPEC:310 - * - * @test_Strategy: [ImplicitTldAdditionalElements] Show that if the JSP - * version specified in an implicit.tld file is less than 2.0 a translation - * error will result. - */ - public void implicitTldAdditionalElementsTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/ImplicitTldAdditionalElements.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: tldImplicitTldJspVersionNotMatchTest - * - * @assertion_ids: JSP:SPEC:313 - * - * @test_Strategy: [TldImplicitTldJspVersionNotMatch] Show that if a tag file - * is referenced by both a TLD and an implicit TLD, the JSP versions of the - * TLD and implicit TLD do not need to match. - */ - public void tldImplicitTldJspVersionNotMatchTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/TldImplicitTldJspVersionNotMatch.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitTldReservedName20Test - * - * @assertion_ids: JSP:SPEC:308 - * - * @test_Strategy: [ImplicitTldReservedName] The JSP version of an implicit - * tag library may be configured by placing a TLD with the reserved name - * "implicit.tld" in the same directory as the implicit tag library's - * constituent tag files. Verify this for version 2.0 by embedding '{#' in an - * action without generating a translation error. - */ - public void implicitTldReservedName20Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/ImplicitTldReservedName20.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: implicitTldReservedName21Test - * - * @assertion_ids: JSP:SPEC:308 - * - * @test_Strategy: [ImplicitTldReservedName] The JSP version of an implicit - * tag library may be configured by placing a TLD with the reserved name - * "implicit.tld" in the same directory as the implicit tag library's - * constituent tag files. Verify this for version 2.1 by embedding '{#' in an - * action to cause a translation error. - */ - public void implicitTldReservedName21Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/ImplicitTldReservedName21.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: implicitTldDefaultJspVersionTest - * - * @assertion_ids: JSP:SPEC:307 - * - * @test_Strategy: [ImplicitTldDefaultJspVersion] Show that the jsp version of - * an implicit tag library defaults to 2.0 by embedding an unescaped '#{" - * character sequence in template text. - */ - public void implicitTldDefaultJspVersionTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_pkg_web/ImplicitTldDefaultJspVersion.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClientIT.java new file mode 100644 index 0000000000..dc859f4b23 --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClientIT.java @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +/* + * @(#)URLClient.java 1.1 12/09/02 + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.packaging; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setContextRoot("/jsp_tagfile_pkg_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_pkg_web.war"); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_pkg_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tag.tld", "tag.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/WebTag1.tag", "tags/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/badtldversion/WebTag1.tag", "tags/badtldversion/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/badtldversion/implicit.tld", "tags/badtldversion/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/defaultjspversion/WebTag1.tag", "tags/defaultjspversion/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/dir/WebTag1.tag", "tags/dir/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname20/DeferredSyntaxAsLiteral.tag", "tags/reservedname20/DeferredSyntaxAsLiteral.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname20/ImplicitTld20.tag", "tags/reservedname20/ImplicitTld20.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname20/implicit.tld", "tags/reservedname20/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname21/DeferredSyntaxAsLiteral.tag", "tags/reservedname21/DeferredSyntaxAsLiteral.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname21/ImplicitTld21.tag", "tags/reservedname21/ImplicitTld21.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/reservedname21/implicit.tld", "tags/reservedname21/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/toomanytldelements/WebTag1.tag", "tags/toomanytldelements/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/toomanytldelements/implicit.tld", "tags/toomanytldelements/implicit.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/versionnotmatch/WebTag1.tag", "tags/versionnotmatch/WebTag1.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/versionnotmatch/implicit.tld", "tags/versionnotmatch/implicit.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IgnoreTag.tag")), "IgnoreTag.tag"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/Tag1.tag")), "Tag1.tag"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitTldAdditionalElements.jsp")), "ImplicitTldAdditionalElements.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitTldDefaultJspVersion.jsp")), "ImplicitTldDefaultJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitTldMinimumJspVersion.jsp")), "ImplicitTldMinimumJspVersion.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitTldReservedName20.jsp")), "ImplicitTldReservedName20.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/ImplicitTldReservedName21.jsp")), "ImplicitTldReservedName21.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagFilePackagedJarIgnoredTagTest.jsp")), "JspTagFilePackagedJarIgnoredTagTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagFilePackagedJarTest.jsp")), "JspTagFilePackagedJarTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagFilePackagedWarTest.jsp")), "JspTagFilePackagedWarTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagFilePackagedWarTldTest.jsp")), "JspTagFilePackagedWarTldTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldImplicitTldJspVersionNotMatch.jsp")), "TldImplicitTldJspVersionNotMatch.jsp"); + + JavaArchive tagfileJar = ShrinkWrap.create(JavaArchive.class, "tagfile.jar"); + tagfileJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/jartagfile.tld")), "META-INF/jartagfile.tld"); + tagfileJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/IgnoreTag.tag")), "META-INF/tags/IgnoreTag.tag"); + tagfileJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/Tag1.tag")), "META-INF/tags/Tag1.tag"); + + archive.addAsLibrary(tagfileJar); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: jspTagFilePackagedJarTest + * + * @assertion_ids: JSP:SPEC:220.1 + * + * @test_Strategy: Validate that tag files packaged in a JAR file and + * referenced in a TLD, can be recognized by the container and invoked within + * a Page. + */ + @Test + public void jspTagFilePackagedJarTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/JspTagFilePackagedJarTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: jspTagFilePackagedJarIgnoredTagTest + * + * @assertion_ids: JSP:SPEC:220.2 + * + * @test_Strategy: Validate that if a Tag file is packaged in a JAR but not + * referenced by a TLD, the container ignores the tag file. Since the Page + * will refer to the ignored tag, a translation error should occur by its use. + */ + @Test + public void jspTagFilePackagedJarIgnoredTagTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/JspTagFilePackagedJarIgnoredTagTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: jspTagFilePackagedWarTest + * + * @assertion_ids: JSP:SPEC:221 + * + * @test_Strategy: Validate that tag files can be properly detected by the + * container and that they can be used in a Page. + */ + @Test + public void jspTagFilePackagedWarTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/JspTagFilePackagedWarTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED1|Test PASSED2"); + invoke(); + } + + /* + * @testName: jspTagFilePackagedWarTldTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate tag files packaged in a web application can be + * explicity referenced in a TLD to be used by a a Page. + */ + @Test + public void jspTagFilePackagedWarTldTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/JspTagFilePackagedWarTldTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED1"); + invoke(); + } + + /* + * @testName: implicitTldMinimumJspVersionTest + * + * @assertion_ids: JSP:SPEC:311 + * + * @test_Strategy: [ImplicitTldMinimumJspVersion] Show that if the JSP version + * specified in an implicit.tld file is less than 2.0 a translation error will + * result. + */ + @Test + public void implicitTldMinimumJspVersionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/ImplicitTldMinimumJspVersion.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: implicitTldAdditionalElementsTest + * + * @assertion_ids: JSP:SPEC:310 + * + * @test_Strategy: [ImplicitTldAdditionalElements] Show that if the JSP + * version specified in an implicit.tld file is less than 2.0 a translation + * error will result. + */ + @Test + public void implicitTldAdditionalElementsTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/ImplicitTldAdditionalElements.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: tldImplicitTldJspVersionNotMatchTest + * + * @assertion_ids: JSP:SPEC:313 + * + * @test_Strategy: [TldImplicitTldJspVersionNotMatch] Show that if a tag file + * is referenced by both a TLD and an implicit TLD, the JSP versions of the + * TLD and implicit TLD do not need to match. + */ + @Test + public void tldImplicitTldJspVersionNotMatchTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/TldImplicitTldJspVersionNotMatch.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitTldReservedName20Test + * + * @assertion_ids: JSP:SPEC:308 + * + * @test_Strategy: [ImplicitTldReservedName] The JSP version of an implicit + * tag library may be configured by placing a TLD with the reserved name + * "implicit.tld" in the same directory as the implicit tag library's + * constituent tag files. Verify this for version 2.0 by embedding '{#' in an + * action without generating a translation error. + */ + @Test + public void implicitTldReservedName20Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/ImplicitTldReservedName20.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: implicitTldReservedName21Test + * + * @assertion_ids: JSP:SPEC:308 + * + * @test_Strategy: [ImplicitTldReservedName] The JSP version of an implicit + * tag library may be configured by placing a TLD with the reserved name + * "implicit.tld" in the same directory as the implicit tag library's + * constituent tag files. Verify this for version 2.1 by embedding '{#' in an + * action to cause a translation error. + */ + @Test + public void implicitTldReservedName21Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/ImplicitTldReservedName21.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: implicitTldDefaultJspVersionTest + * + * @assertion_ids: JSP:SPEC:307 + * + * @test_Strategy: [ImplicitTldDefaultJspVersion] Show that the jsp version of + * an implicit tag library defaults to 2.0 by embedding an unescaped '#{" + * character sequence in template text. + */ + @Test + public void implicitTldDefaultJspVersionTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_pkg_web/ImplicitTldDefaultJspVersion.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java deleted file mode 100644 index b5cf2aea53..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -package com.sun.ts.tests.jsp.spec.tagfiles.semantics; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot("/jsp_tagfile_semantics_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: jspTagSemanticsJspContextWrapperTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that the container properly creates a JSP Context - * wrapper, an instance of PageContext, for the tag file. Validate that this - * wrapper is not the same JspContext as that of the invoking page (this - * includes validate of the jspContext scripting variable). - */ - public void jspTagSemanticsJspContextWrapperTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_semantics_web/JspTagSemanticsJspContextWrapperTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: jspTagSemanticsJspContextWrapperScopesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the following: - the container presents the Tag - * file with a clean page context. - the container provides the Tag file - * access with to the same request, session, and application scope as that of - * the invoking context. - Any changes to the page scope in the wrapper - * context are not reflected in the invoking context. - Any changes to the - * request, session, or application scopes of the wrapping context are - * synchronized with the invoking context. - */ - public void jspTagSemanticsJspContextWrapperScopesTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_semantics_web/JspTagSemanticsScopesTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "Wrapper Test PASSED|Test PASSED|Wrapper Test PASSED|Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: jspTagSemanticsDeclaredAttributesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that a page scoped variable is created for each - * declared and specified attribute defined by the tag. The variable name must - * be the same as the attribute name and the variable value must be the same - * as provided at invocation time. - */ - public void jspTagSemanticsDeclaredAttributesTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_semantics_web/JspTagSemanticsDeclaredAttributesTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: jspTagSemanticsAttributeNotSpecifiedTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that if an attribute is declared as optional, and - * that attribute is not specified at invocation time, no page scoped variable - * is created. - */ - public void jspTagSemanticsAttributeNotSpecifiedTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_semantics_web/JspTagSemanticsAttributeNotSpecifiedTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: jspTagSemanticsDynamicAttributesTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate dynamic attributes. - */ - public void jspTagSemanticsDynamicAttributesTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tagfile_semantics_web/JspTagSemanticsDynamicAttributesTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: semanticsJspForwardTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Upon return from the RequestDispather.forward method, the - * generated tag handler must stop processing of the tag file and throw - * java.servlet.jsp.SkipPageException. - */ - - public void semanticsJspForwardTest() throws Exception { - String testName = "semanticsJspForward"; - TEST_PROPS.setProperty(REQUEST, - "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: semanticsInvokeSimpleTagTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: invokes a simple tag handler which throws SkipPageException - * in the doTag method, the generated tag handler must terminate and - * SkipPageException must be thrown. - */ - - public void semanticsInvokeSimpleTagTest() throws Exception { - String testName = "semanticsInvokeSimpleTag"; - TEST_PROPS.setProperty(REQUEST, - "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); - invoke(); - } - - /* - * @testName: semanticsInvokeClassicTagTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: must allow such an invocation to occur. - */ - - public void semanticsInvokeClassicTagTest() throws Exception { - String testName = "semanticsInvokeClassicTag"; - TEST_PROPS.setProperty(REQUEST, - "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "MyClassicTag:Test PASSED|endOfTagFile|endOfCallingPage"); - invoke(); - } - -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClientIT.java new file mode 100644 index 0000000000..b074fb82da --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClientIT.java @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +package com.sun.ts.tests.jsp.spec.tagfiles.semantics; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; +import com.sun.ts.tests.jsp.common.util.JspTestUtil; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setContextRoot("/jsp_tagfile_semantics_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tagfile_semantics_web.war"); + archive.addClasses(JspTestUtil.class); + archive.addPackages(true, Filters.exclude(URLClientIT.class), + URLClientIT.class.getPackageName()); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tagfile_semantics_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/AttributeNotSpecifiedTag.tag", "tags/AttributeNotSpecifiedTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DeclaredAttributesTag.tag", "tags/DeclaredAttributesTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/DynamicAttributesTag.tag", "tags/DynamicAttributesTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspContextWrapperScopesTag.tag", "tags/JspContextWrapperScopesTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/JspContextWrapperTag.tag", "tags/JspContextWrapperTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/semanticsInvokeClassicTag.tag", "tags/semanticsInvokeClassicTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/semanticsInvokeSimpleTag.tag", "tags/semanticsInvokeSimpleTag.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tags/semanticsJspForward.tag", "tags/semanticsJspForward.tag"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/mytags.tld", "mytags.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagSemanticsAttributeNotSpecifiedTest.jsp")), "JspTagSemanticsAttributeNotSpecifiedTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagSemanticsDeclaredAttributesTest.jsp")), "JspTagSemanticsDeclaredAttributesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagSemanticsDynamicAttributesTest.jsp")), "JspTagSemanticsDynamicAttributesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagSemanticsJspContextWrapperTest.jsp")), "JspTagSemanticsJspContextWrapperTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/JspTagSemanticsScopesTest.jsp")), "JspTagSemanticsScopesTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/semanticsInvokeClassicTag.jsp")), "semanticsInvokeClassicTag.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/semanticsInvokeSimpleTag.jsp")), "semanticsInvokeSimpleTag.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/semanticsJspForward.jsp")), "semanticsJspForward.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/semanticsJspForwardTarget.jsp")), "semanticsJspForwardTarget.jsp"); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: jspTagSemanticsJspContextWrapperTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that the container properly creates a JSP Context + * wrapper, an instance of PageContext, for the tag file. Validate that this + * wrapper is not the same JspContext as that of the invoking page (this + * includes validate of the jspContext scripting variable). + */ + @Test + public void jspTagSemanticsJspContextWrapperTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_semantics_web/JspTagSemanticsJspContextWrapperTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: jspTagSemanticsJspContextWrapperScopesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the following: - the container presents the Tag + * file with a clean page context. - the container provides the Tag file + * access with to the same request, session, and application scope as that of + * the invoking context. - Any changes to the page scope in the wrapper + * context are not reflected in the invoking context. - Any changes to the + * request, session, or application scopes of the wrapping context are + * synchronized with the invoking context. + */ + @Test + public void jspTagSemanticsJspContextWrapperScopesTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_semantics_web/JspTagSemanticsScopesTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "Wrapper Test PASSED|Test PASSED|Wrapper Test PASSED|Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: jspTagSemanticsDeclaredAttributesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that a page scoped variable is created for each + * declared and specified attribute defined by the tag. The variable name must + * be the same as the attribute name and the variable value must be the same + * as provided at invocation time. + */ + @Test + public void jspTagSemanticsDeclaredAttributesTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_semantics_web/JspTagSemanticsDeclaredAttributesTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: jspTagSemanticsAttributeNotSpecifiedTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that if an attribute is declared as optional, and + * that attribute is not specified at invocation time, no page scoped variable + * is created. + */ + @Test + public void jspTagSemanticsAttributeNotSpecifiedTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_semantics_web/JspTagSemanticsAttributeNotSpecifiedTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: jspTagSemanticsDynamicAttributesTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate dynamic attributes. + */ + @Test + public void jspTagSemanticsDynamicAttributesTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tagfile_semantics_web/JspTagSemanticsDynamicAttributesTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: semanticsJspForwardTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Upon return from the RequestDispather.forward method, the + * generated tag handler must stop processing of the tag file and throw + * java.servlet.jsp.SkipPageException. + */ + + @Test + public void semanticsJspForwardTest() throws Exception { + String testName = "semanticsJspForward"; + TEST_PROPS.setProperty(REQUEST, + "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: semanticsInvokeSimpleTagTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: invokes a simple tag handler which throws SkipPageException + * in the doTag method, the generated tag handler must terminate and + * SkipPageException must be thrown. + */ + + @Test + public void semanticsInvokeSimpleTagTest() throws Exception { + String testName = "semanticsInvokeSimpleTag"; + TEST_PROPS.setProperty(REQUEST, + "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + TEST_PROPS.setProperty(UNEXPECTED_RESPONSE_MATCH, "Test FAILED"); + invoke(); + } + + /* + * @testName: semanticsInvokeClassicTagTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: must allow such an invocation to occur. + */ + + @Test + public void semanticsInvokeClassicTagTest() throws Exception { + String testName = "semanticsInvokeClassicTag"; + TEST_PROPS.setProperty(REQUEST, + "GET " + "/jsp_tagfile_semantics_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "MyClassicTag:Test PASSED|endOfTagFile|endOfCallingPage"); + invoke(); + } + +} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClient.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClient.java deleted file mode 100644 index 8b80725d5e..0000000000 --- a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClient.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (c) 2007, 2020 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -/* - * $Id$ - */ - -/* - * @(#)URLClient.java 1.36 02/11/04 - */ - -package com.sun.ts.tests.jsp.spec.tldres; - -import java.io.PrintWriter; - -import com.sun.javatest.Status; -import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; - -public class URLClient extends AbstractUrlClient { - /** - * Entry point for different-VM execution. It should delegate to method - * run(String[], PrintWriter, PrintWriter), and this method should not contain - * any test configuration. - */ - public static void main(String[] args) { - URLClient theTests = new URLClient(); - Status s = theTests.run(args, new PrintWriter(System.out), - new PrintWriter(System.err)); - s.exit(); - } - - /** - * Entry point for same-VM execution. In different-VM execution, the main - * method delegates to this method. - */ - public Status run(String args[], PrintWriter out, PrintWriter err) { - - setContextRoot("/jsp_tldres_web"); - - return super.run(args, out, err); - } - - /* - * @class.setup_props: webServerHost; webServerPort; ts_home; - * - */ - - /* Run test */ - - /* - * @testName: tldResourcePathJsp11Test - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that a taglibrary packaged as specified by the JSP - * 1.1 specification will be properly added to the containers taglib map and - * that the defined tag within can be used. - */ - public void tldResourcePathJsp11Test() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPath11Test.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Tld11Tag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResourcePathMultiTldJarTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the container can properly process a JAR - * containing multiple TLDs and adds the TLDs that are found containing a - * element to the taglib map. - */ - public void tldResourcePathMultiTldJarTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPathMultiTldTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "Multi1Tag: Test PASSED|Multi2Tag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResourcePathWebInfUriTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that if a TLD exists in the WEB-INF directory or - * some subdirectory thereof, and that TLD contains a element, the - * container will add that taglibrary to the taglibrary map. - */ - public void tldResourcePathWebInfUriTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPathWebInfUriTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "UriTag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResourcePathWebXmlTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Valdiate that the container adds any explicit taglibrary - * entries found in the deployment descriptor to the taglib map and that the - * tag or tags within can be properly used. - */ - public void tldResourcePathWebXmlTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPathExplicitWebXmlTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResourcePathDirectTldReference - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate the TLD can be directly referenced in the taglib - * directive and that the tag(s) declared in this TLD can be properly used. - */ - public void tldResourcePathDirectTldReference() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPathDirectTldReferenceTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldExplicitWebXmlPrecedenceTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that tag library entries explicity defined in the - * web deployment descriptor (web.xml) have precedence over other tag - * libraries defined with the same URI. - */ - public void tldExplicitWebXmlPrecedenceTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldExplicitWebXmlPrecedenceTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResPathRelativeUriTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate a tag library can be resolved when referenced - * though a relative path (no leading '/'). No translation error should occur - * and the tag should be usable within the translation unit. - */ - public void tldResPathRelativeUriTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/path/TldResPathRelativeUriTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); - invoke(); - } - - /* - * @testName: tldResPathAbsUriNotFoundTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: Validate that if the uri attribute of the taglib directive - * is an absolute URI that is not present in the container's tag library map, - * that a translation time error is raised. - */ - public void tldResPathAbsUriNotFoundTest() throws Exception { - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/TldResPathAbsUriNotFoundTest.jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: tld12DefaultBodyContentTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: omit body-content in a 1.2 style tld and a container is - * required to apply default JSP. - */ - - public void tld12DefaultBodyContentTest() throws Exception { - String testName = "tld12DefaultBodyContent"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); - invoke(); - } - - /* - * @testName: negativeJSPPrefixTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: use jsp prefix for an element that is not a standard action - * and expect a translation error. - */ - - public void negativeJSPPrefixTest() throws Exception { - String testName = "negativeJSPPrefix"; - TEST_PROPS.setProperty(TEST_NAME, testName); - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.0"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } - - /* - * @testName: listenerTldTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: A container is required to read listener element in all TLD - * files and treat them as extension to web.xml. - */ - - public void listenerTldTest() throws Exception { - String testName = "listenerTldTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(SEARCH_STRING, - "session created meta inf.|session created meta inf sub.|session created web inf.|session created web inf sub."); - invoke(); - } - - /* - * @testName: negativeTaglibAfterActionTest - * - * @assertion_ids: PENDING - * - * @test_Strategy: It is a fatal translation error for the taglib directive to - * appear after actions or functions using the prefix. - */ - public void negativeTaglibAfterActionTest() throws Exception { - String testName = "negativeTaglibAfterActionTest"; - TEST_PROPS.setProperty(REQUEST, - "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); - TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); - invoke(); - } -} diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClientIT.java b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClientIT.java new file mode 100644 index 0000000000..022fbd427d --- /dev/null +++ b/jsp/src/main/java/com/sun/ts/tests/jsp/spec/tldres/URLClientIT.java @@ -0,0 +1,317 @@ +/* + * Copyright (c) 2007, 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/* + * $Id$ + */ + +/* + * @(#)URLClient.java 1.36 02/11/04 + */ + +package com.sun.ts.tests.jsp.spec.tldres; + + +import java.io.IOException; +import com.sun.ts.tests.jsp.common.client.AbstractUrlClient; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit5.ArquillianExtension; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.jboss.shrinkwrap.api.asset.UrlAsset; + + +@ExtendWith(ArquillianExtension.class) +public class URLClientIT extends AbstractUrlClient { + + + public URLClientIT() throws Exception { + + + setContextRoot("/jsp_tldres_web"); + + } + + @Deployment(testable = false) + public static WebArchive createDeployment() throws IOException { + + String packagePath = URLClientIT.class.getPackageName().replace(".", "/"); + WebArchive archive = ShrinkWrap.create(WebArchive.class, "jsp_tldres_web.war"); + archive.addClasses(HSListenerWebInf.class, HSListenerWebInfSub.class, + UriTag.class, WebXmlTag.class); + archive.setWebXML(URLClientIT.class.getClassLoader().getResource(packagePath+"/jsp_tldres_web.xml")); + + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/sub/webinfsub.tld", "sub/webinfsub.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/tlds/uri.tld", "tlds/uri.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/webinfpres.tld", "webinfpres.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/webxml.tld", "webxml.tld"); + archive.addAsWebInfResource(URLClientIT.class.getPackage(), "WEB-INF/a12.tld", "a12.tld"); + + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/listenerTldTest.jsp")), "listenerTldTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeJSPPrefix.jsp")), "negativeJSPPrefix.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/negativeTaglibAfterActionTest.jsp")), "negativeTaglibAfterActionTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/path/TldResPathRelativeUriTest.jsp")), "path/TldResPathRelativeUriTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/tld12DefaultBodyContent.jsp")), "tld12DefaultBodyContent.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldExplicitWebXmlPrecedenceTest.jsp")), "TldExplicitWebXmlPrecedenceTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPath11Test.jsp")), "TldResPath11Test.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPathAbsUriNotFoundTest.jsp")), "TldResPathAbsUriNotFoundTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPathDirectTldReferenceTest.jsp")), "TldResPathDirectTldReferenceTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPathExplicitWebXmlTest.jsp")), "TldResPathExplicitWebXmlTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPathMultiTldTest.jsp")), "TldResPathMultiTldTest.jsp"); + archive.add(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/TldResPathWebInfUriTest.jsp")), "TldResPathWebInfUriTest.jsp"); + + JavaArchive jsp11taglibJar = ShrinkWrap.create(JavaArchive.class, "jsp11taglib.jar"); + jsp11taglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/taglib.tld")), "META-INF/taglib.tld"); + jsp11taglibJar.addClass(Tld11Tag.class); + + archive.addAsLibrary(jsp11taglibJar); + + JavaArchive multitaglibJar = ShrinkWrap.create(JavaArchive.class, "multitaglib.jar"); + multitaglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/multi1.tld")), "META-INF/multi1.tld"); + multitaglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/jartagpres.tld")), "META-INF/jartagpres.tld"); + multitaglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/multi1.tld")), "META-INF/multi1.tld"); + multitaglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/metainfsub.tld")), "META-INF/sub/metainfsub.tld"); + multitaglibJar.addAsResource(new UrlAsset(URLClientIT.class.getClassLoader().getResource(packagePath+"/multi2.tld")), "META-INF/tlds/multi2.tld"); + + multitaglibJar.addClasses(HSListenerMetaInf.class, HSListenerMetaInfSub.class, Multi1Tag.class, Multi2Tag.class); + + archive.addAsLibrary(multitaglibJar); + + return archive; + + } + + /* + * @class.setup_props: webServerHost; webServerPort; ts_home; + * + */ + + /* Run test */ + + /* + * @testName: tldResourcePathJsp11Test + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that a taglibrary packaged as specified by the JSP + * 1.1 specification will be properly added to the containers taglib map and + * that the defined tag within can be used. + */ + @Test + public void tldResourcePathJsp11Test() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPath11Test.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Tld11Tag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResourcePathMultiTldJarTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the container can properly process a JAR + * containing multiple TLDs and adds the TLDs that are found containing a + * element to the taglib map. + */ + @Test + public void tldResourcePathMultiTldJarTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPathMultiTldTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "Multi1Tag: Test PASSED|Multi2Tag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResourcePathWebInfUriTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that if a TLD exists in the WEB-INF directory or + * some subdirectory thereof, and that TLD contains a element, the + * container will add that taglibrary to the taglibrary map. + */ + @Test + public void tldResourcePathWebInfUriTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPathWebInfUriTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "UriTag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResourcePathWebXmlTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Valdiate that the container adds any explicit taglibrary + * entries found in the deployment descriptor to the taglib map and that the + * tag or tags within can be properly used. + */ + @Test + public void tldResourcePathWebXmlTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPathExplicitWebXmlTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResourcePathDirectTldReference + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate the TLD can be directly referenced in the taglib + * directive and that the tag(s) declared in this TLD can be properly used. + */ + @Test + public void tldResourcePathDirectTldReference() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPathDirectTldReferenceTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldExplicitWebXmlPrecedenceTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that tag library entries explicity defined in the + * web deployment descriptor (web.xml) have precedence over other tag + * libraries defined with the same URI. + */ + @Test + public void tldExplicitWebXmlPrecedenceTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldExplicitWebXmlPrecedenceTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResPathRelativeUriTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate a tag library can be resolved when referenced + * though a relative path (no leading '/'). No translation error should occur + * and the tag should be usable within the translation unit. + */ + @Test + public void tldResPathRelativeUriTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/path/TldResPathRelativeUriTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "WebXmlTag: Test PASSED"); + invoke(); + } + + /* + * @testName: tldResPathAbsUriNotFoundTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: Validate that if the uri attribute of the taglib directive + * is an absolute URI that is not present in the container's tag library map, + * that a translation time error is raised. + */ + @Test + public void tldResPathAbsUriNotFoundTest() throws Exception { + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/TldResPathAbsUriNotFoundTest.jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: tld12DefaultBodyContentTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: omit body-content in a 1.2 style tld and a container is + * required to apply default JSP. + */ + + @Test + public void tld12DefaultBodyContentTest() throws Exception { + String testName = "tld12DefaultBodyContent"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, "Test PASSED"); + invoke(); + } + + /* + * @testName: negativeJSPPrefixTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: use jsp prefix for an element that is not a standard action + * and expect a translation error. + */ + + @Test + public void negativeJSPPrefixTest() throws Exception { + String testName = "negativeJSPPrefix"; + TEST_PROPS.setProperty(TEST_NAME, testName); + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.0"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } + + /* + * @testName: listenerTldTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: A container is required to read listener element in all TLD + * files and treat them as extension to web.xml. + */ + + @Test + public void listenerTldTest() throws Exception { + String testName = "listenerTldTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(SEARCH_STRING, + "session created meta inf.|session created meta inf sub.|session created web inf.|session created web inf sub."); + invoke(); + } + + /* + * @testName: negativeTaglibAfterActionTest + * + * @assertion_ids: PENDING + * + * @test_Strategy: It is a fatal translation error for the taglib directive to + * appear after actions or functions using the prefix. + */ + @Test + public void negativeTaglibAfterActionTest() throws Exception { + String testName = "negativeTaglibAfterActionTest"; + TEST_PROPS.setProperty(REQUEST, + "GET /jsp_tldres_web/" + testName + ".jsp HTTP/1.1"); + TEST_PROPS.setProperty(STATUS_CODE, INTERNAL_SERVER_ERROR); + invoke(); + } +} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/ArrayELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/ArrayELResolverTest.jsp new file mode 100644 index 0000000000..496d20aa5f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/ArrayELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/arrayelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/WEB-INF/arrayelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/WEB-INF/arrayelresolver.tld new file mode 100644 index 0000000000..2a29d5c01a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/WEB-INF/arrayelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + ArrayELResolver + + ArrayELResolver API tests + ArrayELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.arrayelresolver.ArrayELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/jsp_arrayelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/jsp_arrayelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/jsp_arrayelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/jsp_arrayelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/BeanELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/BeanELResolverTest.jsp new file mode 100644 index 0000000000..85ba0b6452 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/BeanELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/beanelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/WEB-INF/beanelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/WEB-INF/beanelresolver.tld new file mode 100644 index 0000000000..41d8250472 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/WEB-INF/beanelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + BeanELResolver + + BeanELResolver API tests + BeanELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.beanelresolver.BeanELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/jsp_beanelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/jsp_beanelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/jsp_beanelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/jsp_beanelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/CompositeELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/CompositeELResolverTest.jsp new file mode 100644 index 0000000000..427660b58d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/CompositeELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/compelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/WEB-INF/compelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/WEB-INF/compelresolver.tld new file mode 100644 index 0000000000..d6a1758b74 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/WEB-INF/compelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + CompositeELResolver + + CompositeELResolver API tests + CompositeELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.compelresolver.CompositeELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/jsp_compelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/jsp_compelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/jsp_compelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/jsp_compelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/CreateMethodExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/CreateMethodExpressionTest.jsp new file mode 100644 index 0000000000..146d334156 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/CreateMethodExpressionTest.jsp @@ -0,0 +1,65 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.MethodExpression, + jakarta.el.MethodInfo, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String METHOD_EXPR = "string-literal"; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + MethodExpression mexp = + jaContext.getExpressionFactory().createMethodExpression( + elContext, METHOD_EXPR, java.lang.String.class, + new Class[] { }); + + if (mexp != null) { + + MethodInfo minfo = mexp.getMethodInfo(elContext); + String name = (String) minfo.getName(); + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateMethodExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/jsp_createmethexpr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/jsp_createmethexpr_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/jsp_createmethexpr_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/jsp_createmethexpr_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/CreateValueExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/CreateValueExpressionTest.jsp new file mode 100644 index 0000000000..dc6658e368 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/CreateValueExpressionTest.jsp @@ -0,0 +1,70 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String VARIABLE_EXPR = "${foo}"; +private static final String EXPECTED_VALUE = "bar"; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, VARIABLE_EXPR, VARIABLE_EXPR.getClass()); + + if (vexp != null) { + + vexp.setValue(elContext, EXPECTED_VALUE); + String name = (String) vexp.getValue(elContext); + + if (name.equals(EXPECTED_VALUE)) + out.println("Test PASSED"); + else { + out.println("Test FAILED. Expected value = " + EXPECTED_VALUE); + out.println("Computed value = " + name); + } + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/jsp_createvalexpr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/jsp_createvalexpr_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/jsp_createvalexpr_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/jsp_createvalexpr_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/ELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/ELResolverTest.jsp new file mode 100644 index 0000000000..45d51e5ab8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/ELResolverTest.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + com.sun.ts.tests.common.el.api.resolver.ResolverTest, + jakarta.el.ELResolver, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + StringBuffer buf = new StringBuffer(); + + if (elContext != null) { + try { + ELResolver resolver = elContext.getELResolver(); + boolean pass = ResolverTest.testELResolver( + elContext, resolver, null, "Color", "blue", buf, false); + out.println(buf.toString()); + if (pass) out.println("Test PASSED."); + } catch (Throwable t) { + out.println(buf.toString()); + JspTestUtil.handleThrowable(t, out, "ElResolverTest"); + } + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/jsp_elresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/jsp_elresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/jsp_elresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/elresolver/jsp_elresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/ListELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/ListELResolverTest.jsp new file mode 100644 index 0000000000..8f10cb1abd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/ListELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/listelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/WEB-INF/listelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/WEB-INF/listelresolver.tld new file mode 100644 index 0000000000..91f21ca60c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/WEB-INF/listelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + ListELResolver + + ListELResolver API tests + ListELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.listelresolver.ListELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/jsp_listelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/jsp_listelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/jsp_listelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/jsp_listelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/MapELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/MapELResolverTest.jsp new file mode 100644 index 0000000000..9732619a0b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/MapELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/mapelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/WEB-INF/mapelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/WEB-INF/mapelresolver.tld new file mode 100644 index 0000000000..60672a6da2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/WEB-INF/mapelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + MapELResolver + + MapELResolver API tests + MapELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.mapelresolver.MapELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/jsp_mapelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/jsp_mapelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/jsp_mapelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/jsp_mapelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/MethodInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/MethodInfoTest.jsp new file mode 100644 index 0000000000..b97fb74e5c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/MethodInfoTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/methodinfo.tld" %> + + +begin + + vect is ${vect} + + result is ${result} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/WEB-INF/methodinfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/WEB-INF/methodinfo.tld new file mode 100644 index 0000000000..2a6fec0319 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/WEB-INF/methodinfo.tld @@ -0,0 +1,55 @@ + + + + + + 1.0 + MethodInfo + + MethodInfo API tests + MethodInfoTag + com.sun.ts.tests.jsp.api.jakarta_el.methodinfo.MethodInfoTag + empty + + methExpr + true + + boolean add(Object) + + + + + Substitute tag for jstl c:set + set + com.sun.ts.tests.jsp.common.tags.tck.SetTag + empty + + var + true + + + value + true + true + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/jsp_methodinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/jsp_methodinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/jsp_methodinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/jsp_methodinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/ResourceBundleELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/ResourceBundleELResolverTest.jsp new file mode 100644 index 0000000000..e2b3b6fdb6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/ResourceBundleELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/resourcebundleelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/WEB-INF/resourcebundleelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/WEB-INF/resourcebundleelresolver.tld new file mode 100644 index 0000000000..87a7dc61c3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/WEB-INF/resourcebundleelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + ResourceBundleELResolver + + ResourceBundleELResolver API tests + ResourceBundleELResolverTag + com.sun.ts.tests.jsp.api.jakarta_el.resourcebundleelresolver.ResourceBundleELResolverTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/jsp_resourcebundleelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/jsp_resourcebundleelresolver_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/jsp_resourcebundleelresolver_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/jsp_resourcebundleelresolver_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/ValueExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/ValueExpressionTest.jsp new file mode 100644 index 0000000000..43654b99dc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/ValueExpressionTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/valexpression.tld" %> + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/WEB-INF/valexpression.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/WEB-INF/valexpression.tld new file mode 100644 index 0000000000..577ee2017a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/WEB-INF/valexpression.tld @@ -0,0 +1,54 @@ + + + + + + 1.0 + ValueExpression + + ValueExpression API tests + ValueExpressionTag + com.sun.ts.tests.jsp.api.jakarta_el.valexpression.ValueExpressionTag + empty + + valExpr + true + + java.lang.String + + + + + Substitute tag for jstl c:set + set + com.sun.ts.tests.jsp.common.tags.tck.SetTag + empty + + var + true + + + value + true + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/jsp_valexpr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/jsp_valexpr_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/jsp_valexpr_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_el/valexpression/jsp_valexpr_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/ELExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/ELExceptionTest.jsp new file mode 100644 index 0000000000..145689b7b1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/ELExceptionTest.jsp @@ -0,0 +1,159 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.el.ELException, + java.io.PrintWriter" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void elExceptionDefaultCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException(); + if (ee != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void elExceptionMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException("Exception Message"); + if (ee != null) { + String message = ee.getMessage(); + if (message != null && message.equals("Exception Message")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void elExceptionCauseCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException(new NullPointerException()); + if (ee != null) { + Throwable t = ee.getRootCause(); + if (t != null && t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type NullPointerException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void elExceptionCauseMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException("Exception Message", + new ServletException()); + if (ee != null) { + String message = ee.getMessage(); + if (message != null && message.equals("Exception Message")) { + Throwable t = ee.getRootCause(); + if (t != null && t instanceof ServletException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type ServletException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void elExceptionGetRootCauseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException(new ServletException()); + ELException ee1 = new ELException("exception", new NullPointerException()); + + Throwable t = ee.getRootCause(); + Throwable t1 = ee1.getRootCause(); + if (t != null) { + if (t instanceof ServletException) { + if (t1 != null) { + if (t1 instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. ELException.getRootCause returned unexpected" + + " exception: " + t.getClass().getName()); + out.println("Expected: NullPointerException"); + } + } else { + out.println("Test FAILED. ELException.getRootCause returned null."); + } + } else { + out.println("Test FAILED. ELException.getRootCause returned unexpected" + + " exception: " + t.getClass().getName()); + out.println("Expected: ServletException"); + } + } else { + out.println("Test FAILED. ELException.getRootCause returned null."); + } + } +%> + +<%! + public void elExceptionToStringTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELException ee = new ELException(); + String str = ee.toString(); + if (str != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Result of ELException.toString() was null."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/jsp_elexc_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/jsp_elexc_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/jsp_elexc_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/jsp_elexc_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/ELParseExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/ELParseExceptionTest.jsp new file mode 100644 index 0000000000..61268b599c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/ELParseExceptionTest.jsp @@ -0,0 +1,64 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.el.ELParseException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void elParseExceptionDefaultCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELParseException epe = new ELParseException(); + if (epe != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Unable to create an ELParseException" + + " with the default constructor."); + } + + } +%> + +<%! + public void elParseExceptionMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ELParseException epe = new ELParseException("message"); + if (epe != null) { + String epeMess = epe.getMessage(); + if (epeMess.equals("message")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Unexpected message returned by " + + "ELParseException.getMessage(). \nExpected 'message'"); + out.println("Received: " + epeMess); + } + } else { + out.println("Test FAILED. Unable to create an ELParseException" + + " with the default constructor."); + } + } +%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/jsp_elparseexc_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/jsp_elparseexc_web.xml new file mode 100644 index 0000000000..a6197dec86 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/jsp_elparseexc_web.xml @@ -0,0 +1,25 @@ + + + + + ELParseException + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/ExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/ExpressionTest.jsp new file mode 100644 index 0000000000..284af93bbf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/ExpressionTest.jsp @@ -0,0 +1,134 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.el.ExpressionEvaluator, + com.sun.ts.tests.jsp.common.util.TSFunctionMapper, + jakarta.servlet.jsp.el.Expression, + jakarta.servlet.jsp.el.ELException, + jakarta.servlet.jsp.el.VariableResolver, + java.io.PrintWriter"%> +<%@ page contentType="text/plain" %> + +<%! + private static final String PAGECONTEXT_ATTR = + "com.sun.ts.tests.jsp.api.pageContext"; + private static final String QUAL_METHOD_EXPR = + "${ns:lowerCase('STRING')}"; + private static final String UNQUAL_METHOD_EXPR = + "${lowerCase('STRING')}"; + private static final String VARIABLE_EXPR = + "${requestScope['com.sun.ts.tests.jsp.api.pageContext']}"; +%> + +<%-- Begin test definitions --%> + +<%! + public void expressionEvaluateTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + TSFunctionMapper mapper = new TSFunctionMapper(); + ExpressionEvaluator eval = pc.getExpressionEvaluator(); + VariableResolver resolver = pc.getVariableResolver(); + if (eval != null) { + try { + Expression expr = eval.parseExpression(QUAL_METHOD_EXPR, + java.lang.String.class, mapper); + + if (expr != null) { + String result = (String) expr.evaluate(resolver); + + if (result != null) { + if (result.equals("string")) { + try { + Expression expr2 = eval.parseExpression(VARIABLE_EXPR, + jakarta.servlet.jsp.PageContext.class, null); + if (expr2 != null) { + + PageContext pageContext = (PageContext) expr2.evaluate(resolver); + if (pageContext != pc) { + out.println("Test FAILED. Resolution didn't return expected value."); + out.println("PageContext returned is not the same instance as expected."); + } + try { + mapper.reset(); + Expression expr3 = eval.parseExpression(UNQUAL_METHOD_EXPR, + java.lang.String.class, mapper); + if (expr3 != null) { + result = (String) expr3.evaluate(resolver); + if (result != null) { + if (result.equals("string")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. (l3) Expression evaluation returned unexpected value."); + out.println("Expected 'string', received '" + result + "'"); + return; + } + } else { + out.println("Test FAILED. (l3) Expression evaluation returned null."); + } + } else { + out.println("Test FAILED. (l3) ExpressionEvaluator.parseExpression" + + " returned null."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l3)"); + return; + } + } else { + out.println("Test FAILED. (l2) ExpressionEvaluator returned null."); + } + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "(l2)"); + return; + } + } else { + out.println("Test FAILED. (l1) Expression evaluation returned unexpected result."); + out.println("Expected 'string', Received '" + result + "'"); + } + } else { + out.println("Test FAILED. (l1) Expression evaluation returned null."); + } + } else { + out.println("Test FAILED. (l1) ExpressionEvaluator.parseExpression" + + "returned null."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l1)"); + return; + } + } else { + out.println("Unable to obtain ExpressionEvaluator"); + } + } else { + out.println("Test FAILED. Unable to obtain PageContext."); + } + } +%> + + +<%-- test invocation --%> + +<% + request.setAttribute(PAGECONTEXT_ATTR, pageContext); + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/jsp_expr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/jsp_expr_web.xml new file mode 100644 index 0000000000..7ba5c0055a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/jsp_expr_web.xml @@ -0,0 +1,25 @@ + + + + + Expression + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/ExpressionEvaluatorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/ExpressionEvaluatorTest.jsp new file mode 100644 index 0000000000..3a9cc801ba --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/ExpressionEvaluatorTest.jsp @@ -0,0 +1,227 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.el.ExpressionEvaluator, + com.sun.ts.tests.jsp.common.util.TSFunctionMapper, + jakarta.servlet.jsp.el.Expression, + jakarta.servlet.jsp.el.ELException, + jakarta.servlet.jsp.el.VariableResolver, + java.io.PrintWriter"%> +<%@ page contentType="text/plain" %> + +<%! + private static final String PAGECONTEXT_ATTR = + "com.sun.ts.tests.jsp.api.pageContext"; + private static final String QUAL_METHOD_EXPR = + "${ns:lowerCase('STRING')}"; + private static final String UNQUAL_METHOD_EXPR = + "${lowerCase('STRING')}"; + private static final String DEFAULT_PREFIX =""; + private static final String METHOD_PREFIX = "ns"; + private static final String METHOD_NAME = "lowerCase"; + private static final String VARIABLE_EXPR = + "${requestScope['com.sun.ts.tests.jsp.api.pageContext']}"; +%> + +<%-- Begin test definitions --%> + +<%! + public void expressionEvaluatorParseExpressionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + TSFunctionMapper mapper = new TSFunctionMapper(); + ExpressionEvaluator eval = pc.getExpressionEvaluator(); + if (eval != null) { + try { + Expression expr = eval.parseExpression(QUAL_METHOD_EXPR, + java.lang.String.class, mapper); + if (expr != null) { + try { + Expression expr2 = eval.parseExpression(VARIABLE_EXPR, + jakarta.servlet.jsp.PageContext.class, null); + if (expr2 != null) { + try { + Expression expr3 = eval.parseExpression(UNQUAL_METHOD_EXPR, + java.lang.String.class, mapper); + if (expr3 != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. (l3) ExpressionEvaluator.parseExpression" + + " returned null."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l3)"); + return; + } + } else { + out.println("Test FAILED. (l2) ExpressionEvaluator.parseExpression" + + " returned null."); + } + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "(l2)"); + return; + } + + } else { + out.println("Test FAILED. (l1) ExpressionEvaluator.parseExpression" + + " returned null."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l1)"); + return; + } + } + } else { + out.println("Test FAILED. Unable to obtain PageContext."); + } + } +%> + +<%! + public void expressionEvaluatorEvaluateTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ExpressionEvaluator eval = pc.getExpressionEvaluator(); + VariableResolver resolver = pc.getVariableResolver(); + if (eval != null) { + TSFunctionMapper mapper = new TSFunctionMapper(); + + // first part of this test will validate that + // the FunctionMapper is used property during + // the evaluation of the expression. + try { + Object o1 = eval.evaluate(QUAL_METHOD_EXPR, + java.lang.String.class, resolver, mapper); + if (!mapper.hasResolved()) { + out.println("Test FAILED. FunctionMapper.resolveFunction" + + " was not called on the provided FunctionMapper (l1)."); + return; + } + String prefix = mapper.getPrefixUsed(); + String method = mapper.getMethodCalled(); + + if (prefix == null || !prefix.equals(METHOD_PREFIX)) { + out.println("Test FAILED. FunctionMapper called with " + + "unexpected prefix: " + prefix + ". Expected 'ns'."); + return; + } + + if (method == null || !method.equals(METHOD_NAME)) { + out.println("Test FAILED. FunctionMapper called with " + + "unexpected method: " + method + ". Expected: lowerCase"); + return; + } + + if (o1 != null) { + + if (!o1.equals("string")) { + out.println("Test FAILED. (o1) Method return value was incorrect."); + out.println("Expected 'string', received: '" + o1.toString() +"'"); + return; + } + // next verify that a null FunctionMapper can be + // passed without an Exception occuring. This also + // validates that the VariableResolver is used properly. + try { + Object o2 = eval.evaluate(VARIABLE_EXPR, + jakarta.servlet.jsp.PageContext.class, resolver, null); + if (o2 != null) { + if (o2 != pc) { + out.println("Test FAILED. Variable resolution and thus expression evaluation failed."); + out.println("The request scoped PageContext returned by expression was not correct."); + return; + } + // next verify that the default namespace is used + // if no namespace is provided. + try { + mapper.reset(); + Object o3 = eval.evaluate(UNQUAL_METHOD_EXPR, + java.lang.String.class, resolver, mapper); + if (!mapper.hasResolved()) { + out.println("Test FAILED. FunctionMapper.resolveFunction" + + " was not called on the provided FunctionMapper (l2)."); + return; + } + + prefix = mapper.getPrefixUsed(); + method = mapper.getMethodCalled(); + + if (prefix == null || !prefix.equals(DEFAULT_PREFIX)) { + out.println("Test FAILED. FunctionMapper called with " + + "unexpected prefix: '" + prefix + "'. Expected ''."); + return; + } + + if (method == null || !method.equals(METHOD_NAME)) { + out.println("Test FAILED. FunctionMapper called with " + + "unexpected method: '" + method + "'. Expected 'lowerCase'."); + return; + } + + if (o3 != null) { + if (o3.equals("string")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. (o3) Method return value was incorrect."); + out.println("Expected 'meth', received: '" + o3.toString() + "'"); + return; + } + } else { + out.println("Test FAILED. Null expression (expr2) returned."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l3)"); + return; + } + } else { + out.println("Test FAILED. Null expression (expr1) returned."); + } + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "(l2)"); + return; + } + } else { + out.println("Test FAILED. Null expression (expr) returned."); + } + } catch (ELException ele) { + JspTestUtil.handleThrowable(ele, out, "(l1)"); + return; + } + } else { + out.println("Test FAILED. Unable to obtain ExpressionEvaluator."); + } + } else { + out.println("Test FAILED. Unable to obtain PageContext."); + } + } +%> + +<%-- test invocation --%> + +<% + request.setAttribute(PAGECONTEXT_ATTR, pageContext); + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/jsp_expreval_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/jsp_expreval_web.xml new file mode 100644 index 0000000000..011f0c5eeb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/jsp_expreval_web.xml @@ -0,0 +1,25 @@ + + + + + ExpressionEvaluator + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/ImplicitObjELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/ImplicitObjELResolverTest.jsp new file mode 100644 index 0000000000..b677e5f7ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/ImplicitObjELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/implicitobjelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/WEB-INF/implicitobjelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/WEB-INF/implicitobjelresolver.tld new file mode 100644 index 0000000000..f8b0f60a0a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/WEB-INF/implicitobjelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + ImplicitObjELResolver + + ImplicitObjELResolver API tests + ImplicitObjELResolverTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.implicitobjelresolver.ImplicitObjELResolverTag + empty + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/jsp_implicitobjelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/jsp_implicitobjelresolver_web.xml new file mode 100644 index 0000000000..fe04af0616 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/jsp_implicitobjelresolver_web.xml @@ -0,0 +1,25 @@ + + + + + ImplicitObjectELResolver + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/ScopedAttrELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/ScopedAttrELResolverTest.jsp new file mode 100644 index 0000000000..47b2d38367 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/ScopedAttrELResolverTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/scopedattrelresolver.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/WEB-INF/scopedattrelresolver.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/WEB-INF/scopedattrelresolver.tld new file mode 100644 index 0000000000..b2ac8d3e1d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/WEB-INF/scopedattrelresolver.tld @@ -0,0 +1,33 @@ + + + + + + 1.0 + ScopedAttrELResolver + + ScopedAttrELResolver API tests + ScopedAttrELResolverTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.el.scopedattrelresolver.ScopedAttrELResolverTag + empty + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/jsp_scopedattrelresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/jsp_scopedattrelresolver_web.xml new file mode 100644 index 0000000000..1d58e45f49 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/jsp_scopedattrelresolver_web.xml @@ -0,0 +1,25 @@ + + + + + ScopedAttrELResolver + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/VariableResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/VariableResolverTest.jsp new file mode 100644 index 0000000000..c0c678b417 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/VariableResolverTest.jsp @@ -0,0 +1,97 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.el.VariableResolver, + jakarta.servlet.jsp.el.ELException" %> +<%@ page contentType="text/plain" %> + +<%! + private static final String PAGECONTEXT_ATTR = + "com.sun.ts.tests.jsp.api.pageContext"; +%> + +<%-- Begin test definitions --%> + +<%! + public void variableResolverResolveVariableTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.setAttribute("myObj", "value"); + pc.setAttribute("myObj1", "value", PageContext.REQUEST_SCOPE); + VariableResolver resolver = pc.getVariableResolver(); + if (resolver != null) { + try { + String res1 = (String) + resolver.resolveVariable("myObj"); + if (res1.equals("value")) { + try { + String res2 = (String) + resolver.resolveVariable("myObj1"); + if (res2.equals("value")) { + try { + Object res3 = resolver.resolveVariable( + "com.sun.ts.tests.jsp.api.nonAttr"); + if (res3 == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected null, but " + + "VariableResolver returned a non-null value."); + } + } catch (ELException elenn) { + out.println("Test FAILED. Unexpected Exception."); + } + + } else { + out.println("Test FAILED. Resolution failed."); + out.println("Expected a value of 'value'"); + out.println("Received: " + res2); + } + } catch (ELException elen) { + out.println("Test FAILED. Unable to resolve 'myObj1'"); + return; + } + } else { + out.println("Test FAILED. Resolution failed."); + out.println("Expected a value of 'value'"); + out.println("Received: " + res1); + } + } catch (ELException ele) { + out.println("Test FAILED. Unable to resolve 'myObj'"); + return; + } + } else { + out.println("Test FAILED. VariableResolver was null"); + } + } else { + out.println("Test FAILED. Unable to obtain PageContext."); + } + } +%> + + +<%-- Test invocation --%> + +<% + request.setAttribute(PAGECONTEXT_ATTR, pageContext); + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/jsp_varresolver_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/jsp_varresolver_web.xml new file mode 100644 index 0000000000..59006b8121 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/jsp_varresolver_web.xml @@ -0,0 +1,25 @@ + + + + + VariableResolver + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/ErrorDataTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/ErrorDataTest.jsp new file mode 100644 index 0000000000..c8bb0431df --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/ErrorDataTest.jsp @@ -0,0 +1,154 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + private static final ErrorData getErrorDataInstance() { + return new ErrorData(new RuntimeException("runtime"), 501, "/uri", "TestServlet"); + } +%> + +<%! + public void errorDataConstructorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ErrorData data = getErrorDataInstance(); + if (data != null) { + out.print("Test PASSED"); + } else { + out.print("Test FAILED. Constructor of new ErrorData object failed."); + } + } +%> + +<%! + public void errorDataGetThrowableTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ErrorData data = getErrorDataInstance(); + Throwable t = null; + + if (data != null) { + t = data.getThrowable(); + } else { + out.println("Test FAILED. ErrorData instance was null."); + return; + } + + if (t != null) { + String message = t.getMessage(); + if (message != null && message.equals("runtime")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected throwable message of 'runtime'"); + out.println("Message returned: " + message); + } + } else { + out.println("Test FAILED. ErrorData.getThrowable() returned null."); + } + } +%> + +<%! + public void errorDataGetStatusCodeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ErrorData data = getErrorDataInstance(); + int code = 0; + + if (data != null) { + code = data.getStatusCode(); + } else { + out.println("Test FAILED. ErrorData instance was null."); + return; + } + + if (code == 501) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a status code of 501."); + out.println("Status code recieved: " + code); + } + } +%> + +<%! + public void errorDataGetRequestURITest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ErrorData data = getErrorDataInstance(); + String uri = null; + + if (data != null) { + uri = data.getRequestURI(); + } else { + out.println("Test FAILED. ErrorData instance was null."); + return; + } + + if (uri != null) { + if (uri.equals("/uri")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a value of '/uri'."); + out.println("Received: " + uri); + } + } else { + out.println("Test FAILED. ErrorData.getRequestURI() returned null."); + } + } +%> + +<%! + public void errorDataGetServletNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ErrorData data = getErrorDataInstance(); + String name = null; + + if (data != null) { + name = data.getServletName(); + } else { + out.println("Test FAILED. ErrorData instance was null."); + return; + } + + if (name != null) { + if (name.equals("TestServlet")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a value of 'TestServlet'"); + out.println("Received: " + name); + } + } else { + out.println("Test FAILED. ErrorData.getServletName() returned null."); + } + } +%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/jsp_errordata_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/jsp_errordata_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/jsp_errordata_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/jsp_errordata_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/AddELResolverTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/AddELResolverTest.jsp new file mode 100644 index 0000000000..640aa7843b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/AddELResolverTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +begin +${Foo} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/IllegalStateExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/IllegalStateExceptionTest.jsp new file mode 100644 index 0000000000..2e4d3e9aed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/IllegalStateExceptionTest.jsp @@ -0,0 +1,52 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.jspapplicationcontext.FooELResolver, + jakarta.el.ELContext, + jakarta.el.ELResolver"%> +<%@ page contentType="text/plain" %> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + jaContext.addELResolver(new FooELResolver()); + out.println("addELResolver call succeeded. Test FAILED."); + } catch (IllegalStateException ise) { + out.println("Test PASSED."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "IllegalStateExceptionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/jsp_jspapplicationcontext_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/jsp_jspapplicationcontext_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/jsp_jspapplicationcontext_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/jsp_jspapplicationcontext_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/JspEngineInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/JspEngineInfoTest.jsp new file mode 100644 index 0000000000..a7eeacadc6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/JspEngineInfoTest.jsp @@ -0,0 +1,58 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void jspEngineInfoGetSpecificationVersionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspFactory factory = JspFactory.getDefaultFactory(); + if (factory != null) { + JspEngineInfo info = factory.getEngineInfo(); + if (info != null) { + String engineInfo = info.getSpecificationVersion(); + if (engineInfo == null) { + out.println("Test PASSED"); + } else { + byte[] ei = engineInfo.getBytes(); + if (Character.isDigit((char) ei[0])) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. String returned by" + + "JspEngineInfo.getSpecificationVersion does not" + + "with a number."); + } + } + } else { + out.println("Test FAILED. JspFactory.getEngineInfo() returned null."); + } + } else { + out.println("Test FAILED. JspFactory.getDefaultFactory() returned null."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/jsp_jspengineinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/jsp_jspengineinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/jsp_jspengineinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/jsp_jspengineinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/JspExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/JspExceptionTest.jsp new file mode 100644 index 0000000000..7e6f4221f2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/JspExceptionTest.jsp @@ -0,0 +1,142 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void jspExceptionDefaultCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspException je = new JspException(); + if (je != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspExceptionMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspException je = new JspException("Exception Message"); + if (je != null) { + String message = je.getMessage(); + if (message != null && message.equals("Exception Message")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspExceptionCauseCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspException je = new JspException(new NullPointerException()); + if (je != null) { + Throwable t = je.getRootCause(); + if (t != null && t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type NullPointerException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspExceptionCauseMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspException je = new JspException("Exception Message", + new ServletException()); + if (je != null) { + String message = je.getMessage(); + if (message != null && message.equals("Exception Message")) { + Throwable t = je.getRootCause(); + if (t != null && t instanceof ServletException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type ServletException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspExceptionGetRootCauseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspException je = new JspException(new ServletException()); + JspException je1 = new JspException("exception", new NullPointerException()); + + Throwable t = je.getRootCause(); + Throwable t1 = je1.getRootCause(); + if (t != null) { + if (t instanceof ServletException) { + if (t1 != null) { + if (t1 instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. JspException.getRootCause returned unexpected" + + " exception: " + t.getClass().getName()); + out.println("Expected: NullPointerException"); + } + } else { + out.println("Test FAILED. JspException.getRootCause returned null."); + } + } else { + out.println("Test FAILED. JspException.getRootCause returned unexpected" + + " exception: " + t.getClass().getName()); + out.println("Expected: ServletException"); + } + } else { + out.println("Test FAILED. JspException.getRootCause returned null."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/jsp_jspexc_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/jsp_jspexc_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/jsp_jspexc_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/jsp_jspexc_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/JspFactoryTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/JspFactoryTest.jsp new file mode 100644 index 0000000000..9ee32308de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/JspFactoryTest.jsp @@ -0,0 +1,86 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + com.sun.ts.tests.jsp.common.util.SimpleContext" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void jspFactoryGetDefaultFactoryTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspFactory factory = JspFactory.getDefaultFactory(); + if (factory != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. JspFactory.getDefaultFactory() " + + "returned null."); + } + } +%> + +<%! + public void jspFactoryGetPageContextTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspFactory factory = JspFactory.getDefaultFactory(); + if (factory != null) { + PageContext pc = factory.getPageContext(this, req, res, "", + true, 2048, true); + if (pc != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. JspFactory.getPageContext() returned" + + " null."); + } + } else { + out.println("Test FAILED. JspFactory.getDefaultFactory() " + + "returned null."); + } + } +%> + +<%! + public void jspFactoryGetEngineInfoTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspFactory factory = JspFactory.getDefaultFactory(); + if (factory != null) { + JspEngineInfo info = factory.getEngineInfo(); + if (info != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. JspFactory.getEngineInfo() " + + "returned null."); + } + } else { + out.println("Test FAILED. JspFactory.getDefaultFactory() " + + "returned null."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/jsp_jspfactory_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/jsp_jspfactory_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/jsp_jspfactory_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/jsp_jspfactory_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/JspTagExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/JspTagExceptionTest.jsp new file mode 100644 index 0000000000..ede603acad --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/JspTagExceptionTest.jsp @@ -0,0 +1,108 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void jspTagExceptionDefaultCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspTagException jte = new JspTagException(); + if (jte != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspTagExceptionMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspTagException jte = new JspTagException("Exception Message"); + if (jte != null) { + String message = jte.getMessage(); + if (message != null && message.equals("Exception Message")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspTagExceptionCauseCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspTagException jte = new JspTagException(new NullPointerException()); + if (jte != null) { + Throwable t = jte.getRootCause(); + if (t != null && t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type NullPointerException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void jspTagExceptionCauseMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + JspTagException jte = new JspTagException("Exception Message", + new ServletException()); + if (jte != null) { + String message = jte.getMessage(); + if (message != null && message.equals("Exception Message")) { + Throwable t = jte.getRootCause(); + if (t != null && t instanceof ServletException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type ServletException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/jsp_jsptagexc_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/jsp_jsptagexc_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/jsp_jsptagexc_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/jsp_jsptagexc_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/CloseValidator.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/CloseValidator.jsp new file mode 100644 index 0000000000..8a7d572cfc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/CloseValidator.jsp @@ -0,0 +1,46 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> + +<%@ page contentType="text/plain" %> + +<% + if (application.getAttribute("flush.exception") != null || + out.getBufferSize() == 0) { + if (application.getAttribute("write.exception") != null) { + if (application.getAttribute("close.exception") == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Subsequent call to JspWriter.close() " + + "illegally threw another IOException."); + } + } else { + out.println("Test FAILED. Stream was closed and a call to JspWriter." + + "print() didn't cause an IOException."); + } + } else { + out.println("Test FAILED. Stream was closed and a call to JspWriter." + + "flush() didn't cause an IOException."); + } + + application.removeAttribute("flush.exception"); + application.removeAttribute("write.exception"); + application.removeAttribute("close.exception"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/JspWriterTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/JspWriterTest.jsp new file mode 100644 index 0000000000..1ba060e093 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/JspWriterTest.jsp @@ -0,0 +1,477 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> + + +<%@ page contentType="text/plain" %> + +<%! + private static final String APPLICATIONCTX_ATTR = + "com.sun.ts.tests.jsp.api.applicationContext"; +%> + +<%-- Begin test definitions --%> + +<%! + public void jspWriterNewLineTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print("new line"); + out.newLine(); + } +%> + +<%! + public void jspWriterPrintBooleanTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print(true); + out.print(false); + } +%> + +<%! + public void jspWriterPrintCharTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print('c'); + out.print('b'); + } +%> + +<%! + public void jspWriterPrintIntTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print(Integer.MIN_VALUE); + out.print(Integer.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintLongTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print(Long.MIN_VALUE); + out.print(Long.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintFloatTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print(Float.MIN_VALUE); + out.print(Float.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintDoubleTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print(Double.MIN_VALUE); + out.print(Double.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintCharArrayTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + char[] c = new char[89]; + for (short i = 33, idx = 0; i < 90; i++, idx++) { + c[idx] = (char) i; + } + out.print(c); + out.print(c); + } +%> + +<%! + public void jspWriterPrintStringTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print("Test "); + out.print("Passed"); + } +%> + +<%! + public void jspWriterPrintNullStringTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + String nullString = null; + out.print(nullString); + } +%> + +<%! + public void jspWriterPrintObjectTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + Object o1 = new String("Test "); + Object o2 = new String("Passed"); + out.print(o1); + out.print(o2); + } +%> + +<%! + public void jspWriterPrintlnTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.print("Test Passed"); + out.println(); + } +%> + +<%! + public void jspWriterPrintlnBooleanTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println(true); + out.println(false); + } +%> + +<%! + public void jspWriterPrintlnCharTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println('a'); + out.println('B'); + } +%> + +<%! + public void jspWriterPrintlnIntTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println(Integer.MIN_VALUE); + out.println(Integer.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintlnLongTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println(Long.MIN_VALUE); + out.println(Long.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintlnFloatTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println(Float.MIN_VALUE); + out.println(Float.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintlnDoubleTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println(Double.MIN_VALUE); + out.println(Double.MAX_VALUE); + } +%> + +<%! + public void jspWriterPrintlnCharArrayTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + char[] c = new char[89]; + for (short i = 33, idx = 0; i < 90; i++, idx++) { + c[idx] = (char) i; + } + out.println(c); + out.println(c); + } +%> + +<%! + public void jspWriterPrintlnStringTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + out.println("Test "); + out.println("Passed"); + } +%> + +<%! + public void jspWriterPrintlnNullStringTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + String nullString = null; + out.println(nullString); + } +%> + +<%! + public void jspWriterPrintlnObjectTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + Object o1 = new String("Test "); + Object o2 = new String("Passed"); + out.println(o1); + out.println(o2); + } +%> + +<%! + public void jspWriterClearTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + if (out.getBufferSize() > 0) { + out.println("Test FAILED. JspWriter not cleared."); + out.clear(); + out.println("Test PASSED"); + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + public void jspWriterClearIOExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + if (out.getBufferSize() > 0) { + out.println("Arbitrary text"); + out.flush(); + try { + out.clear(); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. JspWriter.clear() did throw" + + "an Exception, but was not an IOException as expected."); + out.println("Received:" + t.toString()); + } + } + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + public void jspWriterClearBufferTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + if (out.getBufferSize() > 0) { + out.println("Arbitrary text"); + out.flush(); + out.println("Test FAILED. JspWriter not cleared."); + try { + out.clearBuffer(); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test FAILED. IOException shouldn't have been" + + "thrown by clearBuffer when called after committing the response."); + return; + } else { + out.println("Test FAILED. Unexpeced Exception."); + out.println(t.toString()); + } + } + out.println("Test PASSED"); + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + // XXX consider alternate implementation + public void jspWriterFlushTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + if (out.getBufferSize() > 0) { + out.println("Arbitrary test"); + out.flush(); + try { + out.clear(); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Flush of the stream failed."); + } + } + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + public void jspWriterCloseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + ServletContext ctx = (ServletContext) req.getAttribute(APPLICATIONCTX_ATTR); + if (ctx != null) { + out.close(); + try { + out.flush(); + } catch (Throwable t) { + if (t instanceof IOException) { + ctx.setAttribute("flush.exception", t); + } + } + + try { + out.println(); + } catch (Throwable t) { + if (t instanceof IOException) { + ctx.setAttribute("write.exception", t); + } + } + + try { + out.close(); + } catch (Throwable t) { + ctx.setAttribute("close.exception", t); + } + } else { + out.println("Test FAILED. Unable to access ServletContext."); + } + } +%> + +<%! + public void jspWriterGetBufferSizeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + int size = out.getBufferSize(); + if (size > 0) { + if (size >= 8192) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Buffer allocated is not of the expected size."); + out.println("Expected a buffer size greater than or equal to 8192KB"); + out.println("Actual size:" + size); + } + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + public void jspWriterGetRemainingTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + String message = "Arbitrary text"; + int messLength = message.length(); + int size = out.getBufferSize(); + + if (size > 0) { + out.clear(); + int gr1 = out.getRemaining(); + if (size == gr1) { + out.print("Arbitrary text"); + int gr2 = out.getRemaining(); + if (gr2 == (size - messLength)) { + out.clear(); + int gr3 = out.getRemaining(); + if (size == gr3) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. (l3) Unexpected result from JspWriter.getRemaining()."); + out.println("Expected: " + size); + out.println("Received: " + gr3); + } + } else { + out.println("Test FAILED. (l2) Unexpected result from JspWriter.getRemaining()."); + out.println("Expected: " + (size - messLength)); + out.println("Received: " + gr2); + } + } else { + out.println("Test FAILED. (l1) Unexpteced result from JspWriter.getRemaining()."); + out.println("Expected: " + size); + out.println("Received: " + gr1); + } + } else { + out.println("Test PASSED"); + } + } +%> + +<%! + public void jspWriterIsAutoFlushTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + if (out.isAutoFlush() == true) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected JspWriter.isAutoFlush() to return true not false."); + } + } +%> + +<%-- Test invocation --%> + +<% + request.setAttribute(APPLICATIONCTX_ATTR, application); + + if (System.getProperty("line.separator").equals("\n")) { + response.setHeader("Server-EOL", "UNIX"); + } else if (System.getProperty("line.separator").equals("\r\n")) { + response.setHeader("Server-EOL", "WIN32"); + } + + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/jsp_jspwriter_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/jsp_jspwriter_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/jsp_jspwriter_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/jsp_jspwriter_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/ErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/ErrorPage.jsp new file mode 100644 index 0000000000..d45bb65825 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/ErrorPage.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" isErrorPage="true"%> + +<% + if (request.getAttribute("com.sun.ts.tests.jsp.api.checkException") != null) { + Exception e = pageContext.getException(); + if (e != null) { + if (e == exception) { + out.println("Test PASSED (getException)"); + } else { + out.println("Test FAILED. The Exception as returned by " + + "PageContext.getException is not the same as the " + + "exception scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getException() returned null."); + } + } else { + out.println("Test PASSED. Error page invoked."); + out.println(exception.getClass().getName()); + out.println(exception.getMessage()); + if (request.getAttribute("com.sun.ts.tests.jsp.api.checkErrorData") != null) { + ErrorData data = pageContext.getErrorData(); + if (data != null) { + out.println("ErrorData object obtained."); + } + } + } +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/PageContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/PageContextTest.jsp new file mode 100644 index 0000000000..8ef00dae43 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/PageContextTest.jsp @@ -0,0 +1,1375 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.tagext.BodyContent, + java.util.Enumeration, + jakarta.servlet.jsp.el.ExpressionEvaluator, + jakarta.servlet.jsp.el.VariableResolver" %> +<%@ page contentType="text/plain" errorPage="ErrorPage.jsp"%> + +<%! + private static final String PAGECONTEXT_ATTR = + "com.sun.ts.tests.jsp.api.pagecontext"; + private static final String SESSION_ATTR = + "com.sun.ts.tests.jsp.api.session"; + private static final String PAGE_ATTR = + "com.sun.ts.tests.jsp.api.page"; + private static final String CONFIG_ATTR = + "com.sun.ts.tests.jsp.api.config"; + private static final String CONTEXT_ATTR = + "com.sun.ts.tests.jsp.api.context"; +%> + +<%-- Utility methods --%> +<%! + public static void cleanup(PageContext pc) { + pc.removeAttribute("pageScope", PageContext.PAGE_SCOPE); + pc.removeAttribute("requestScope", PageContext.REQUEST_SCOPE); + pc.removeAttribute("sessionScope", PageContext.SESSION_SCOPE); + pc.removeAttribute("applicationScope", PageContext.APPLICATION_SCOPE); + } +%> + +<%! + public static void fillAllScopes(PageContext pc) { + pc.setAttribute("pageScope", "pageScope"); + pc.setAttribute("requestScope", "requestScope", + PageContext.REQUEST_SCOPE); + pc.setAttribute("sessionScope", "sessionScope", + PageContext.SESSION_SCOPE); + pc.setAttribute("applicationScope", "applicationScope", + PageContext.APPLICATION_SCOPE); + } +%> + +<%! + public static boolean checkValue(Enumeration e, String name, JspWriter out) + throws IOException { + out.println("Checking for attribute '" + name + "'"); + while (e.hasMoreElements()) { + String ele = (String) e.nextElement(); + out.println("Element returned: " + ele); + if (ele.equals(name)) { + out.println("Match found!\n"); + return true; + } + } + out.println("No match found.\n"); + return false; + } +%> + +<%-- Begin test definitions --%> + +<%! + public void pageContextGetSessionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + HttpSession sess = pc.getSession(); + if (sess != null) { + if (sess == req.getAttribute(SESSION_ATTR)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Session returned from " + + "PageContext.getSession() is not the same as that " + + "associated with the session scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getSession() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetPageTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + Object o = pc.getPage(); + if (o != null) { + if (o == req.getAttribute(PAGE_ATTR)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Page object returned from " + + "PageContext.getPage() is not the same as that " + + "associated with the page scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getPage() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetRequestTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ServletRequest request = pc.getRequest(); + if (request != null) { + if (request == req) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Request object returned from " + + "PageContext.getRequest() is not the same as that " + + "associated with the request scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getRequest() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetResponseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ServletResponse response = pc.getResponse(); + if (response != null) { + if (response == res) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Response object returned from " + + "PageContext.getResponse() is not the same as that " + + "associated with the response scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getRequest() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetServletConfigTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ServletConfig config = pc.getServletConfig(); + if (config != null) { + if (config == req.getAttribute(CONFIG_ATTR)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. ServletConfig object returned from " + + "PageContext.getServletConfig() is not the same as that " + + "associated with the config scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getServletConfig() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetServletContextTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ServletContext context = pc.getServletContext(); + if (context != null) { + if (context == req.getAttribute(CONTEXT_ATTR)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. ServletContext object returned from " + + "PageContext.getServletContext() is not the same as that " + + "associated with the application scripting variable."); + } + } else { + out.println("Test FAILED. PageContext.getServletContext() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + req.setAttribute("com.sun.ts.tests.jsp.api.checkException", + new Boolean(true)); + throw new RuntimeException("PageContext.getException() test"); + } +%> + +<%! + public void pageContextForwardContextPathTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.forward("/Resource.jsp"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextForwardPagePathTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.forward("Resource.jsp"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextForwardServletExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.forward("/Resource.jsp?exception=servletexception"); + } catch (Throwable t) { + if (t instanceof ServletException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by forwarded" + + "resource, but was not an instance of ServletException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextForwardIOExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.forward("/Resource.jsp?exception=ioexception"); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by forwarded" + + "resource, but was not an instance of IOException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextForwardIllegalStateExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + out.println("Arbitrary text..."); + out.flush(); + pc.forward("/Resource.jsp"); + } catch (IllegalStateException ise) { + out.println("Test PASSED"); + return; + } + out.println("Test FAILED. IllegalStateException not thrown."); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeContextPathTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.include("/Resource.jsp"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludePagePathTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.include("Resource.jsp"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeFlushTrueTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.include("Resource.jsp", true); + res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + "Test FAILED. Response not flushed by inclusion."); + } catch (Throwable t) { + if (t instanceof IllegalStateException) { + out.println("Stream was properly flushed."); + } else { + out.println("Stream was not flushed."); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeFlushFalseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + if (out.getBufferSize() > 0) { + try { + pc.include("/Resource.jsp", false); + out.clear(); + out.println("Test PASSED"); + } catch (IllegalStateException ise) { + out.println("Test FAILED. Steam was flushed after" + + " inclusion when flush argument was false."); + } + } else { + out.println("Test PASSED. Buffering is not available."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextHandlePageExceptionExcTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.handlePageException(new RuntimeException()); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextHandlePageExceptionThrTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.handlePageException(new Throwable()); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextHandlePageExceptionExcNPETest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + Exception e = null; + pc.handlePageException(e); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Exception thrown when passing" + + " null to handlePageException, but was not an instance\n" + + "of NullPointerException."); + out.println("Received: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextHandlePageExceptionThrNPETest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + Throwable th = null; + pc.handlePageException(th); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Exception thrown when passing" + + " null to handlePageException, but was not an instance\n" + + "of NullPointerException."); + out.println("Received: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextPushPopBodyTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + Object origOutRef = out; + BodyContent content = pc.pushBody(); + Object newOutRef = pc.getOut(); + Object newOutRef2 = pc.getAttribute(PageContext.OUT); + if (content != null) { + if (origOutRef != newOutRef) { + if (origOutRef != newOutRef2) { + pc.popBody(); + newOutRef = pc.getOut(); + newOutRef2 = pc.getAttribute(PageContext.OUT); + if (origOutRef == newOutRef) { + if (origOutRef == newOutRef2) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. PageContext.OUT not restored with " + + "the original 'out' object after PageContext.popBody() " + + "was called."); + } + } else { + out.println("Test FAILED. Original 'out' object" + + " was not restored after PageContext.popBody() " + + "was called."); + } + } else { + out.println("Test FAILED. PageContext.OUT not updated with a new" + + " reference after calling PageContext.pushBody()."); + } + } else { + out.println("Test FAILED. 'out' object after PageContext" + + ".pushBody() was called did not change."); + } + } else { + out.println("Test FAILED. PageContext.pushBody() returned " + + "a null BodyContent object."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetErrorDataTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + req.setAttribute("com.sun.ts.tests.jsp.api.checkErrorData", + new Boolean(true)); + throw new RuntimeException(); + } +%> + +<%! + public void pageContextIncludeIOExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.include("/Resource.jsp?exception=ioexception"); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by included" + + "resource, but was not an instance of IOException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeFlushIOExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.include("/Resource.jsp?exception=ioexception", true); + } catch (Throwable t) { + if (t instanceof IOException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by included" + + "resource, but was not an instance of IOException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeServletExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.include("/Resource.jsp?exception=servletexception"); + } catch (Throwable t) { + if (t instanceof ServletException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by included" + + "resource, but was not an instance of ServletException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextIncludeFlushServletExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.include("/Resource.jsp?exception=servletexception", true); + } catch (Throwable t) { + if (t instanceof ServletException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown by included" + + "resource, but was not an instance of ServletException"); + out.println("Type thrown: " + t.getClass().getName()); + return; + } + } + out.println("Test FAILED. No Exception thrown!"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetSetAttributeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + final String attrName = "testObject"; + final String value = "string"; + pc.setAttribute(attrName, value); + String s = (String) pc.getAttribute(attrName); + if (s != null) { + if (s.equals(value)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Incorrect object returned by " + + "PageContext.getAttribute()"); + } + } else { + out.println("Test FAILED. PageContext.getAttribute() " + + "incorrectly returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextSetAttributeNPETest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.setAttribute(null, new String("")); + } catch (NullPointerException npe) { + try { + pc.setAttribute("testObject", null); + out.println("Test PASSED"); + return; + } catch (NullPointerException nnpe) { + out.println("Test FAILED. NPE thrown when a null value " + + "is provided to PageContext.setAttribute()"); + return; + } + } + out.println("Test FAILED. NPE not thrown when a null name is " + + "provided to PageContext.setAttribute()"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetSetAttributeInScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + pc.setAttribute("pageScope", "pageScope", PageContext.PAGE_SCOPE); + pc.setAttribute("requestScope", "requestScope", + PageContext.REQUEST_SCOPE); + pc.setAttribute("sessionScope", "sessionScope", + PageContext.SESSION_SCOPE); + pc.setAttribute("applicationScope", "applicationScope", + PageContext.APPLICATION_SCOPE); + + String s1 = (String) pc.getAttribute("pageScope", + PageContext.PAGE_SCOPE); + String s2 = (String) pc.getAttribute("requestScope", + PageContext.REQUEST_SCOPE); + String s3 = (String) pc.getAttribute("sessionScope", + PageContext.SESSION_SCOPE); + String s4 = (String) pc.getAttribute("applicationScope", + PageContext.APPLICATION_SCOPE); + if (s1 != null) { + if (s1.equals("pageScope")) { + if (s2 != null) { + if (s2.equals("requestScope")) { + if (s3 != null) { + if (s3.equals("sessionScope")) { + if (s4 != null) { + if (s4.equals("applicationScope")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Wrong" + + "application scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. Wrong" + + "session scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. Wrong" + + "request scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. Wrong" + + "page scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + cleanup(pc); + } +%> + +<%! + public void pageContextSetAttributeInScopeNPETest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.setAttribute(null, new String(""), PageContext.PAGE_SCOPE); + } catch (NullPointerException npe) { + try { + pc.setAttribute("testObject", null, + PageContext.APPLICATION_SCOPE); + out.println("Test PASSED"); + return; + } catch (NullPointerException nnpe) { + out.println("Test FAILED. NPE thrown when a null value " + + "is provided to PageContext.setAttribute()"); + return; + } + } + out.println("Test FAILED. NPE not thrown when a null name is " + + "provided to PageContext.setAttribute()"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextSetAttributeInScopeIllegalArgumentExcTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.setAttribute("pageScope", "pageScope", Integer.MIN_VALUE); + } catch (Throwable t) { + if (t instanceof IllegalArgumentException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown, but not an" + + "instance of IllegalArgumentException"); + return; + } + } + out.println("Test FAILED. IllegalArgumentException not thrown " + + "when PageContext.setAttribute() was provided an invalid scope"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetAttributeNPETest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.getAttribute(null); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown, but not an" + + "instance of NullPointerException"); + return; + } + } + out.println("Test FAILED. NPE not thrown when " + + "PageContext.getAttribute() is provided a null value."); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetAttributeInScopeIllegalArgumentExceptionTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.getAttribute("pageContext", Integer.MIN_VALUE); + } catch (Throwable t) { + if (t instanceof IllegalArgumentException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown, but not an" + + "instance of IllegalArgumentException"); + return; + } + } + out.println("Test FAILED. No Exception thrown when an illegal" + + " scope was provided to PageContext.getAttribute()"); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextFindAttributeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + fillAllScopes(pc); + String s1 = (String) pc.findAttribute("pageScope"); + String s2 = (String) pc.findAttribute("sessionScope"); + Object nullObj = pc.findAttribute("nonAttribute"); + if (s1 != null) { + if (s1.equals("pageScope")) { + if (s2 != null) { + if (s2.equals("sessionScope")) { + if (nullObj == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Null reference" + + " not returned from PageContext.findAttribute()" + + " when provided a non existent value"); + } + } else { + out.println("Test FAILED. Wrong" + + "session scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. Wrong" + + "page scoped object returned."); + } + } else { + out.println("Test FAILED. " + + "PageContext.getAttribute() returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + cleanup(pc); + } +%> + +<%! + public void pageContextRemoveAttributeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + fillAllScopes(pc); + pc.removeAttribute("pageScope"); + pc.removeAttribute("requestScope"); + pc.removeAttribute("sessionScope"); + pc.removeAttribute("applicationScope"); + Object o1 = pc.findAttribute("pageScope"); + Object o2 = pc.findAttribute("requestScope"); + Object o3 = pc.findAttribute("sessionScope"); + Object o4 = pc.findAttribute("applicationScope"); + if (o1 == null) { + if (o2 == null) { + if (o3 == null) { + if (o4 == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Application scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Session scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Request scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Page scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextRemoveAttributeFromScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + fillAllScopes(pc); + pc.removeAttribute("pageScope", PageContext.PAGE_SCOPE); + pc.removeAttribute("requestScope", PageContext.REQUEST_SCOPE); + pc.removeAttribute("sessionScope", PageContext.SESSION_SCOPE); + pc.removeAttribute("applicationScope", PageContext.APPLICATION_SCOPE); + Object o1 = pc.findAttribute("pageScope"); + Object o2 = pc.findAttribute("requestScope"); + Object o3 = pc.findAttribute("sessionScope"); + Object o4 = pc.findAttribute("applicationScope"); + if (o1 == null) { + if (o2 == null) { + if (o3 == null) { + if (o4 == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Application scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Session scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Request scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. Page scoped object" + + " not removed by PageContext.removeAttribute()."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextRemoveAttributeFromScopeIllegalScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.removeAttribute("nonAttribute", Integer.MIN_VALUE); + } catch (Throwable t) { + if (t instanceof IllegalArgumentException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown when providing an illegal scope" + + " but was not an instance of IllegalArgumentException."); + out.println("Received: " + t); + return; + } + } + out.println("Test FAILED. No Exception thrown when an illegal scope was provided."); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetAttributeScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + fillAllScopes(pc); + if (pc.getAttributesScope("pageScope") == PageContext.PAGE_SCOPE) { + if (pc.getAttributesScope("requestScope") == PageContext.REQUEST_SCOPE) { + if (pc.getAttributesScope("sessionScope") == PageContext.SESSION_SCOPE) { + if (pc.getAttributesScope("applicationScope") == PageContext.APPLICATION_SCOPE) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. PageContext.getAttributes" + + "Scope returned unexpected value for object in APPLICATION_SCOPE"); + } + } else { + out.println("Test FAILED. PageContext.getAttributes" + + "Scope returned unexpected value for object in SESSION_SCOPE"); + } + } else { + out.println("Test FAILED. PageContext.getAttributes" + + "Scope returned unexpected value for object in REQUEST_SCOPE"); + } + } else { + out.println("Test FAILED. PageContext.getAttributes" + + "Scope returned unexpected value for object in PAGE_SCOPE"); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + cleanup(pc); + } +%> + +<%! + public void pageContextGetAttributeNamesInScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + fillAllScopes(pc); + Enumeration page = pc.getAttributeNamesInScope(PageContext.PAGE_SCOPE); + Enumeration request = pc.getAttributeNamesInScope(PageContext.REQUEST_SCOPE); + Enumeration session = pc.getAttributeNamesInScope(PageContext.SESSION_SCOPE); + Enumeration app = pc.getAttributeNamesInScope(PageContext.APPLICATION_SCOPE); + + if (page != null) { + if (checkValue(page, "pageScope", out)) { + if (request != null) { + if (checkValue(request, "requestScope", out)) { + if (session != null) { + if (checkValue(session, "sessionScope", out)) { + if (app != null) { + if (checkValue(app, "applicationScope", out)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Enumeration" + + " did not contain expected value."); + } + } else { + out.println("Test FAILED. Null Enumeration returned"); + } + } else { + out.println("Test FAILED. Enumeration" + + " did not contain expected value."); + } + } else { + out.println("Test FAILED. Null Enumeration returned"); + } + } else { + out.println("Test FAILED. Enumeration" + + " did not contain expected value."); + } + } else { + out.println("Test FAILED. Null Enumeration returned"); + } + } else { + out.println("Test FAILED. Enumeration" + + " did not contain expected value."); + } + } else { + out.println("Test FAILED. Null Enumeration returned"); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + cleanup(pc); + } +%> + +<%! + public void pageContextGetAttributeNamesInScopeIllegalScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.getAttributeNamesInScope(Integer.MAX_VALUE); + } catch (Throwable t) { + if (t instanceof IllegalArgumentException) { + out.println("Test PASSED"); + return; + } else { + out.println("Test FAILED. Exception thrown when providing an illegal scope" + + " but was not an instance of IllegalArgumentException."); + out.println("Received: " + t); + return; + } + } + out.println("Test FAILED. No Exception thrown when an illegal scope was provided."); + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetOutTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + if (pc.getOut() == out) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Object reference returned by " + + "PageContext.getOut() not the same as the reference " + + "associated with the 'out' scripting variable."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetExpressionEvaluatorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + ExpressionEvaluator eval = pc.getExpressionEvaluator(); + if (eval != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. PageContext.getExpressionEvaluator" + + " returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetVariableResolverTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + VariableResolver resolver = pc.getVariableResolver(); + if (resolver != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. PageContext.getVariableResolver()" + + " returned null."); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextFindAttributeNullNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.findAttribute(null); + out.println("Test FAILED. No Exception thrown when null" + + " argument passed to findAttribute(String)."); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a NullPointerException to" + + " be thrown if findAttribute(String) is passed a null value.\n" + + "Actual exception thrown: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextGetAttributesScopeNullNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.getAttributesScope(null); + out.println("Test FAILED. No Exception thrown when null" + + " argument passed to getAttributesScope(String)."); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a NullPointerException to" + + " be thrown if getAttributesScope(String) is passed a null value.\n" + + "Actual exception thrown: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextRemoveAttributeNullNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + if (pc != null) { + try { + pc.removeAttribute(null); + out.println("Test FAILED. No Exception thrown when null" + + " argument passed to removeAttribute(String)."); + } catch (Throwable t) { + if (t instanceof NullPointerException) { + try { + pc.removeAttribute(null, PageContext.PAGE_SCOPE); + out.println("Test FAILED. No Exception thrown when null" + + " argument passed to removeAttribute(String, int)"); + } catch (Throwable t1) { + if (t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a NullPointerException to" + + " be thrown if removeAttribute(String, int) is passed a null value.\n" + + "Actual exception thrown: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. Expected a NullPointerException to" + + " be thrown if removeAttribute(String) is passed a null value.\n" + + "Actual exception thrown: " + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%! + public void pageContextSetAttributeNullValueTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + PageContext pc = (PageContext) req.getAttribute(PAGECONTEXT_ATTR); + pc.setAttribute("simple", "value"); + if (pc != null) { + pc.setAttribute("simple", null); + if (pc.getAttribute("simple") == null) { + pc.setAttribute("simple2", "value"); + pc.setAttribute("simple2", null, PageContext.PAGE_SCOPE); + if (pc.getAttribute("simple2") == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Attribute not removed from PageContext " + + "when null value was passed to setAttribute(String, Object, int)" + + " and the attribute name specified exists in the PageContext"); + } + } else { + out.println("Test FAILED. Attribute not removed from PageContext " + + "when null value was passed to setAttribute(String, Object)" + + " and the attribute name specified exists in the PageContext"); + } + } else { + out.println("Test FAILED. No PageContext object available."); + } + } +%> + +<%-- Test invocation --%> + +<% + request.setAttribute(PAGECONTEXT_ATTR, pageContext); + request.setAttribute(SESSION_ATTR, session); + request.setAttribute(PAGE_ATTR, page); + request.setAttribute(CONFIG_ATTR, config); + request.setAttribute(CONTEXT_ATTR, application); + + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/Resource.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/Resource.jsp new file mode 100644 index 0000000000..58fc251472 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/Resource.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.io.IOException" contentType="text/plain"%> + +<% + String param = request.getParameter("exception"); + if (param != null) { + if (param.equals("ioexception")) { + throw new IOException(); + } + + if (param.equals("servletexception")) { + throw new ServletException(); + } + } else { + out.println("Test PASSED."); + } +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/jsp_pagecontext_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/jsp_pagecontext_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/jsp_pagecontext_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/jsp_pagecontext_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/SkipPageExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/SkipPageExceptionTest.jsp new file mode 100644 index 0000000000..e2214a0e18 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/SkipPageExceptionTest.jsp @@ -0,0 +1,108 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void skipPageExceptionDefaultCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + SkipPageException spe = new SkipPageException(); + if (spe != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void skipPageExceptionMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + SkipPageException spe = new SkipPageException("Exception Message"); + if (spe != null) { + String message = spe.getMessage(); + if (message != null && message.equals("Exception Message")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void skipPageExceptionCauseCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + SkipPageException spe = new SkipPageException(new NullPointerException()); + if (spe != null) { + Throwable t = spe.getRootCause(); + if (t != null && t instanceof NullPointerException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type NullPointerException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%! + public void skipPageExceptionCauseMessageCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + SkipPageException spe = new SkipPageException("Exception Message", + new ServletException()); + if (spe != null) { + String message = spe.getMessage(); + if (message != null && message.equals("Exception Message")) { + Throwable t = spe.getRootCause(); + if (t != null && t instanceof ServletException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected a Throwable of type ServletException"); + out.println("Received: " + t); + } + } else { + out.println("Test FAILED. Expected a message of 'Exception Message'"); + out.println("Received: " + message); + } + } else { + out.println("Test FAILED. No Exception created."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/jsp_skippageexc_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/jsp_skippageexc_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/jsp_skippageexc_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/jsp_skippageexc_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentClearBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentClearBodyTest.jsp new file mode 100644 index 0000000000..932dab345a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentClearBodyTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodycontent" prefix="content" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentFlushTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentFlushTest.jsp new file mode 100644 index 0000000000..f60a99cf8e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentFlushTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodycontent" prefix="content" %> + + + Body Content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentGetStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentGetStringTest.jsp new file mode 100644 index 0000000000..0e15153a69 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentGetStringTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodycontent" prefix="content" %> + + + <%= "body content" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentReadWriteTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentReadWriteTest.jsp new file mode 100644 index 0000000000..c541dc9497 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentReadWriteTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodycontent" prefix="content" %> + + + Test PASSED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentWriteOutTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentWriteOutTest.jsp new file mode 100644 index 0000000000..dfff5cba95 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/BodyContentWriteOutTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodycontent" prefix="content" %> +<% pageContext.setAttribute("passed", "PASSED"); %> + + Test ${pageScope.passed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/WEB-INF/bodycontent.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/WEB-INF/bodycontent.tld new file mode 100644 index 0000000000..1501859e86 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/WEB-INF/bodycontent.tld @@ -0,0 +1,53 @@ + + + + + Tags for BodyContent tests + BodyContent + 1.0 + bodycontent + + flush + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent.BodyContentFlushTag + JSP + + + clear + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent.BodyContentClearBodyTag + JSP + + + readwrite + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent.BodyContentReadWriteTag + JSP + + + writeout + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent.BodyContentWriteOutTag + JSP + + + string + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodycontent.BodyContentGetStringTag + JSP + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/jsp_bodycontent_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/jsp_bodycontent_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/jsp_bodycontent_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/jsp_bodycontent_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEmptyTagTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEmptyTagTest.jsp new file mode 100644 index 0000000000..b37546c923 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEmptyTagTest.jsp @@ -0,0 +1,55 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="tag" %> + + + + + + + + + + + + + + + +Empty Tag1: ${validate.result} + + + + + +Empty Tag2: ${validate.result} + + + + + +Non-Empty Tag3: ${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyBufferedTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyBufferedTest.jsp new file mode 100644 index 0000000000..90e66bd0b1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyBufferedTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="tag" %> + + + BodyContent + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyIncludeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyIncludeTest.jsp new file mode 100644 index 0000000000..9bcab82d35 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagEvalBodyIncludeTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="tag" %> + + + Body Content + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSkipBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSkipBodyTest.jsp new file mode 100644 index 0000000000..387ed64664 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSkipBodyTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="tag" %> + + + Body Content + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportApiTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportApiTest.jsp new file mode 100644 index 0000000000..69d8829566 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportApiTest.jsp @@ -0,0 +1,109 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.tagext.BodyTagSupport, + jakarta.servlet.jsp.tagext.Tag, + jakarta.servlet.jsp.tagext.BodyTag" %> +<%@ page contentType="text/plain" %> + + + +<%-- Begin test definitions --%> + +<%! + public void bodyTagSupportCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + BodyTagSupport support = new BodyTagSupport(); + if (support != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Unable to create new BodyTagSupport instance."); + } + } +%> + +<%! + public void bodyTagSupportDoStartTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + BodyTagSupport support = new BodyTagSupport(); + try { + int ret = support.doStartTag(); + if (ret == BodyTag.EVAL_BODY_BUFFERED) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The default return value for BodyTagSupport" + + ".doStartTag() was not EVAL_BODY_BUFFERED. Received: " + + JspTestUtil.getTagStatusAsString("doStartTag", "BodyTag", ret)); + } + } catch (JspException je) { + JspTestUtil.handleThrowable(je, out, "bodyTagSupportDoStartTagTest"); + } + } +%> + +<%! + public void bodyTagSupportDoEndTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + BodyTagSupport support = new BodyTagSupport(); + try { + int ret = support.doEndTag(); + if (ret == Tag.EVAL_PAGE) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The default return value for BodyTagSupport" + + ".doEndTag() was not EVAL_PAGE. Received: " + + JspTestUtil.getTagStatusAsString("doEndTag", "BodyTag", ret)); + } + } catch (JspException je) { + JspTestUtil.handleThrowable(je, out, "bodyTagSupportDoEndTagTest"); + } + } +%> + +<%! + public void bodyTagSupportDoAfterBodyTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + BodyTagSupport support = new BodyTagSupport(); + try { + int ret = support.doAfterBody(); + if (ret == Tag.SKIP_BODY) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The default return value for BodyTagSupport" + + ".doAfterBody() was not SKIP_BODY. Received: " + + JspTestUtil.getTagStatusAsString("doAfterBody", "BodyTag", ret)); + } + } catch (JspException je) { + JspTestUtil.handleThrowable(je, out, "bodyTagSupportDoAfterBodyTest"); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportSynchronizationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportSynchronizationTest.jsp new file mode 100644 index 0000000000..24b65d488c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/BodyTagSupportSynchronizationTest.jsp @@ -0,0 +1,224 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="tag" %> + +<%-- + Validate synchronization when doStartTag returns EVAL_BODY_BUFFERED. + Sychronization should occur after doInitBody(), doAfterBody() for NESTED, + doInitBody(), doAfterBody(), doEndTag() for AT_BEGIN, and doEndTag() for + AT_END +--%> + +BodyTag Synchronization (EVAL_BODY_BUFFERED) +------------------------------------------------------ +<%! int counter = 2; %> + + <% + int beg = (begin != null) ? begin.intValue() : 0; + int nes = (nested != null) ? nested.intValue() : 0; + if (counter == 2) { + // doInitBody() has been called. First pass into body should + // be 1 for AT_BEGIN and NESTED variables. + if (beg < 2) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doInitBody(). Expected a value of '2'. Received: " + beg); + } + if (beg > 2) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doInitBody(). Expected " + + "a value of '2'. Received: " + beg); + } + if (nes < 2) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doInitBody(). Expected a value of '2'. Received: " + nes); + } + if (nes > 2) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doInitBody(). Expected " + + "a value of '2'. Received: " + nes); + } + } else { + // first invocation of doAfterBody() returns EVAL_BODY_AGAIN, + // so second pass through here should be incremented by the + // doAfterBody() call + if (beg < 3) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doAfterBody(). Expected a value of '3'. Received: " + beg); + } + if (beg > 3) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '3'. Received: " + beg); + } + if (nes < 3) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doAfterBody(). Expected a value of '3'. Received: " + nes); + } + if (nes > 3) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '3'. Received: " + nes); + } + } + counter--; + %> + +<% + // final doAfterBody() call and doEndTag(). Value should be incremented + // by two. + int beg = (begin != null) ? begin.intValue() : 0; + int eend = (end != null) ? end.intValue() : 0; + if (beg < 5) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doEndTag(). Expected a value of '5'. Received: " + beg); + } + if (beg > 5) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '5'. Received: " + beg); + } + if (eend < 5) { + out.println("Test FAILED. Variable 'end' not synchronized after " + + " doEndTag(). Expected a value of '5'. Received: " + eend); + } + if (eend > 5) { + out.println("Test FAILED. Variable 'end' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '5'. Received: " + eend); + } +%> + +<%-- Validate synchronization when doStartTag returns EVAL_BODY_INCLUDE --%> +BodyTag Synchronization (EVAL_BODY_INCLUDE) +------------------------------------------------------ +<% + counter = 2; +%> + + <% + beg = (begin != null) ? begin.intValue() : 0; + int nes = (nested != null) ? nested.intValue() : 0; + if (counter == 2) { + // synchronization should occur since doStartTag() returns + // EVAL_BODY_INCLUDE. So beg, should be incremented from + // the synchronization provided by the previous action. + if (beg < 6) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doStartTag(). Expected a value of '6'. Received: " + beg); + } + if (beg > 6) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doStartTag(). Expected " + + "a value of '6'. Received: " + beg); + } + // sync done for doStartTag() so first body eval, + // this should be 1. + if (nes < 1) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doStartTag(). Expected a value of '1'. Received: " + nes); + } + if (nes > 1) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doStartTag(). Expected " + + "a value of '1'. Received: " + nes); + } + } else { + // increment value by 1 for first doStartTag(), plus another for the + // call to doAfterBody(). + if (beg < 7) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doAfterBody(). Expected a value of '7'. Received: " + beg); + } + if (beg > 7) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '7'. Received: " + beg); + } + if (nes != 2) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doAfterBody(). Expected a value of '2'. Received: " + nes); + } + if (nes > 2) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '2'. Received: " + nes); + } + } + counter--; + %> + +<% + // doAfterBody() has been called with SKIP_BODY, then doEndTag(), value + // incremented by 2. + beg = (begin != null) ? begin.intValue() : 0; + eend = (end != null) ? end.intValue() : 0; + if (beg < 9) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doEndTag(). Expected a value of '9'. Received: " + beg); + } + if (beg > 9) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '9'. Received: " + beg); + } + // doAfterBody() has been called with SKIP_BODY, then doEndTag(), value + // incremented by 2. + if (eend < 4) { + out.println("Test FAILED. Variable 'end' not synchronized after " + + " doEndTag(). Expected a value of '4'. Received: " + eend); + } + if (eend > 4) { + out.println("Test FAILED. Variable 'end' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '4'. Received: " + eend); + } + pageContext.removeAttribute("begin"); + pageContext.removeAttribute("end"); +%> + +<%-- Validate synchronization when doStartTag() returns SKIP_BODY --%> +BodyTag Synchronization (SKIP_BODY) +-------------------------------------------- + +<% + // doStartTag() and doEndTag() have each been called once. + beg = (begin != null) ? begin.intValue() : 0; + eend = (end != null) ? end.intValue() : 0; + if (beg < 2) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doStartTag() and/or doEndTag(). Expected a value of '2'. Received: " + beg); + } + if (beg > 2) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doStartTag() and/ordoEndTag(). Expected " + + "a value of '2'. Received: " + beg); + } + if (eend < 2) { + out.println("Test FAILED. Variable 'end' not synchronized after " + + " doStartTag() and/or doEndTag(). Expected a value of '2'. Received: " + eend); + } + if (eend > 2) { + out.println("Test FAILED. Variable 'end' seems to have been" + + " synchronized too many times after doStartTag() and/or doEndTag(). Expected " + + "a value of '2'. Received: " + eend); + } + pageContext.removeAttribute("begin"); + pageContext.removeAttribute("end"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetBodyContentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetBodyContentTest.jsp new file mode 100644 index 0000000000..cf576a8e41 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetBodyContentTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="support" %> + + body content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetPreviousOutTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetPreviousOutTest.jsp new file mode 100644 index 0000000000..ce380e2b8b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/GetPreviousOutTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/bodytagsupport" prefix="support" %> +Test FAILED. + + body content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/WEB-INF/bodytagsupport.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/WEB-INF/bodytagsupport.tld new file mode 100644 index 0000000000..18559262f9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/WEB-INF/bodytagsupport.tld @@ -0,0 +1,81 @@ + + + + + BodyTagSupport Test Support Tags + BodyTagSupport + 1.0 + bodytagsupport + + prevout + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport.GetPreviousOutTestTag + JSP + + + bodycontent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport.GetBodyContentTestTag + JSP + + + interaction + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport.BodyContainerInteractionTag + JSP + + doStartTag + true + + + doEndTag + true + + + doAfterBody + true + + + result + true + + + + sync + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport.BodySynchronizationTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.bodytagsupport.SyncTEI + JSP + + doStartTag + true + + + doEndTag + true + + + doAfterBody + false + + + bodyCount + false + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/jsp_bodytagsupp_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/jsp_bodytagsupp_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/jsp_bodytagsupp_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/jsp_bodytagsupp_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/DynamicAttributesExceptionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/DynamicAttributesExceptionTest.jsp new file mode 100644 index 0000000000..94de322b3c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/DynamicAttributesExceptionTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/dynamicattributes" prefix="tag" %> + +<% try { %> + +<% } catch (Throwable t) { + out.println("Classic - Test PASSED"); +} %> + +<% try { %> + +<% } catch (Throwable t) { + out.println("Simple - Test PASSED"); +} +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/SetDynamicAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/SetDynamicAttributesTest.jsp new file mode 100644 index 0000000000..90b4d470c7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/SetDynamicAttributesTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/dynamicattributes" prefix="tag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/WEB-INF/dynamicattributes.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/WEB-INF/dynamicattributes.tld new file mode 100644 index 0000000000..c706108763 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/WEB-INF/dynamicattributes.tld @@ -0,0 +1,43 @@ + + + + + 1.0 + dynamicattributes + + dynamic + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.dynamicattributes.DynamicAttributesTag + JSP + + throwException + false + false + + true + + + sdynamic + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.dynamicattributes.SimpleExcTag + scriptless + true + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/jsp_dynattrib_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/jsp_dynattrib_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/jsp_dynattrib_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/jsp_dynattrib_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionClassTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionClassTest.jsp new file mode 100644 index 0000000000..80be099eb5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionClassTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/functioninfo" prefix="funcinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionSignatureTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionSignatureTest.jsp new file mode 100644 index 0000000000..a9fa66dd3a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetFunctionSignatureTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/functioninfo" prefix="funcinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetNameTest.jsp new file mode 100644 index 0000000000..6fbf13fa85 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/GetNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/functioninfo" prefix="funcinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/WEB-INF/functioninfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/WEB-INF/functioninfo.tld new file mode 100644 index 0000000000..7de5a25ce2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/WEB-INF/functioninfo.tld @@ -0,0 +1,43 @@ + + + + + FunctionInfo Validation + 1.0 + functioninfo + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.functioninfo.FunctionInfoTEI + JSP + + test + true + + + + upperCase + upperCase + com.sun.ts.tests.jsp.common.util.JspFunctions + java.lang.String upperCase(java.lang.String) + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/jsp_functioninfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/jsp_functioninfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/jsp_functioninfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/jsp_functioninfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/MultipleJspIdTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/MultipleJspIdTest.jsp new file mode 100644 index 0000000000..6e57a8e35e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/MultipleJspIdTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/jspidconsumer.tld" %> + +begin + + + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SameJspIdTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SameJspIdTest.jsp new file mode 100644 index 0000000000..1b16eb8ff3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SameJspIdTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/jspidconsumer.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SetJspIdTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SetJspIdTest.jsp new file mode 100644 index 0000000000..58b211e7c7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/SetJspIdTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/jspidconsumer.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/WEB-INF/jspidconsumer.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/WEB-INF/jspidconsumer.tld new file mode 100644 index 0000000000..8e80e119e0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/WEB-INF/jspidconsumer.tld @@ -0,0 +1,57 @@ + + + + + + 1.0 + JspIdConsumer + + JspIdConsumer.setJspId() API test + SetJspIdTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer.SetJspIdTag + empty + + + JspIdConsumer.setJspId() multiple tag test + MultiOneTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer.MultiOneTag + empty + + + JspIdConsumer.setJspId() multiple tag test + MultiTwoTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer.MultiTwoTag + empty + + + JspIdConsumer.setJspId() multiple tag test + MultiThreeTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer.MultiThreeTag + empty + + + JspIdConsumer.setJspId() re-entrant tag test + SameJspIdTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.jspidconsumer.SameJspIdTag + empty + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/jsp_jspidconsumer_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/jsp_jspidconsumer_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/jsp_jspidconsumer_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/jsp_jspidconsumer_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTagFileTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTagFileTest.jsp new file mode 100644 index 0000000000..94119806a4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTagFileTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTest.jsp new file mode 100644 index 0000000000..b46e9c4a97 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/PageDataTest.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" + import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata.PageDataValidator" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/pagedata" prefix="pagedata" %> +<%! + public boolean validatorWasCalled() { + boolean result = PageDataValidator.wasCalled(); + PageDataValidator.reset(); + return result; + } +%> + +<% + if (validatorWasCalled()) { + out.println("Validator Called."); + } else { + out.println("Test FAILED. Validator wasn't called."); + } +%> +<%= "Expression Text" %> +<%@ include file="template.txt" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedata.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedata.tld new file mode 100644 index 0000000000..a2fb73236f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedata.tld @@ -0,0 +1,47 @@ + + + + + Tag Library for TagLibraryValidator Tests + TagLibraryValidator Test Tag Library + 1.0 + pagedata + + Validator to verify API/container interoperation. + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata.PageDataValidator + + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + test + true + + + dynAttribute + false + true + java.lang.String + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedatatagfile.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedatatagfile.tld new file mode 100644 index 0000000000..346bb27f03 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/pagedatatagfile.tld @@ -0,0 +1,47 @@ + + + + + Tag Library for TagLibraryValidator Tests for Tag File + TagLibraryValidator Test Tag Library for Tag File + 1.0 + pagedatatagfile + + Validator to verify API/container interoperation. + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata.TagFilePageDataValidator + + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + test + true + + + dynAttribute + false + true + java.lang.String + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/pageDataTagFileTest.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/pageDataTagFileTest.tag new file mode 100644 index 0000000000..04eda6f2db --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/pageDataTagFileTest.tag @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.pagedata.TagFilePageDataValidator" %> +<%@ attribute name="att1" %> +<%@ variable name-given="var1" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/pagedatatagfile" prefix="pagedatatagfile" %> +<%! + public boolean validatorWasCalled() { + boolean result = TagFilePageDataValidator.wasCalled(); + TagFilePageDataValidator.reset(); + return result; + } +%> + +<% + if (validatorWasCalled()) { + out.println("Validator Called."); + } else { + out.println("Test FAILED. Validator wasn't called."); + } +%> +<%= "Expression Text in tag file" %> +<%@ include file="template.txt" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/template.txt b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/template.txt new file mode 100644 index 0000000000..77484820fe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/WEB-INF/tags/template.txt @@ -0,0 +1 @@ +Included template text in tag file. diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/jsp_pagedata_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/jsp_pagedata_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/jsp_pagedata_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/jsp_pagedata_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/template.txt b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/template.txt new file mode 100644 index 0000000000..eafc06dd3a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/template.txt @@ -0,0 +1 @@ +Included template text. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportDoTagDefault.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportDoTagDefault.jsp new file mode 100644 index 0000000000..ff832e69a7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportDoTagDefault.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportFindAncestorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportFindAncestorTest.jsp new file mode 100644 index 0000000000..4e5515d839 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportFindAncestorTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspBodyTest.jsp new file mode 100644 index 0000000000..cc066c9fef --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspBodyTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + +body diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspContextTest.jsp new file mode 100644 index 0000000000..4d227e55a7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportJspContextTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportParentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportParentTest.jsp new file mode 100644 index 0000000000..597843848e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportParentTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageClassicTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageClassicTest.jsp new file mode 100644 index 0000000000..2e5294457a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageClassicTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/simpletagsupport" prefix="simtag" %> + + +Test FAILED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageSimpleTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageSimpleTest.jsp new file mode 100644 index 0000000000..68cf75dba3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportSkipPageSimpleTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/simpletagsupport" prefix="simtag" %> + + +Test FAILED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportVariableSynchronizationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportVariableSynchronizationTest.jsp new file mode 100644 index 0000000000..b86876b47d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/SimpleTagSupportVariableSynchronizationTest.jsp @@ -0,0 +1,87 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.io.PrintWriter, + com.sun.ts.tests.jsp.common.util.JspTestUtil"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> +<%@ taglib tagdir="/WEB-INF/tags/simpletagsupport" prefix="tagfile" %> + +<%-- + Sync variables declared by TEI. + SimpleTag instance will set page context attributes + begin to 1 and end to 2. This should be synchronized + to scripting variables begin and end respectively. +--%> + +<% + if (begin.intValue() != 1) { + out.println("Test FAILED. Expected begin to be '1' after tag " + + "completion. Actual value: " + begin); + } + if (end.intValue() != 2) { + out.println("Test FAILED. Expected end to be '2' after tag " + + "completion. Actual value: " + end); + } +%> + +<%-- + Sync variables declared by variable elements in TLD + SimpleTag instance will set page context attributes + begin to 2 and end to 3. This should be synchronized + to scripting variables begin and end respectively. +--%> + +<% + if (begin.intValue() != 2) { + out.println("Test FAILED. Expected begin to be '2' after tag " + + "completion. Actual value: " + begin); + } + if (end.intValue() != 3) { + out.println("Test FAILED. Expected end to be '3' after tag " + + "completion. Actual value: " + end); + } +%> + +<%-- Sync variables declared in Tag file --%> +<% + // If a page scoped attribute has the same name + // as a declared NESTED variable in the tag, then + // the calling page scoped attribute needs to be restored + // after the invocation of the tag. No synchronization + // should occur. + Integer nested = new Integer(5); + pageContext.setAttribute("nested", nested); +%> + +<% + if (begin.intValue() != 3) { + out.println("Test FAILED. Expected begin to be '3' after tag " + + "completion. Actual value: " + begin); + } + if (end.intValue() != 1) { + out.println("Test FAILED. Expected end to be '1' after tag " + + "completion. Actual value: " + end); + } + if (nested.intValue() != 5) { + out.println("Test FAILED. Variable synchronization incorrectly occured" + + "for a nested variable declared by the Tag file. The original value" + + "of '5' should have been restored after doTag() returned."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/simpletagsupport.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/simpletagsupport.tld new file mode 100644 index 0000000000..1917b236bb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/simpletagsupport.tld @@ -0,0 +1,135 @@ + + + + + SimpleTagSupport Validation + 1.0 + simpletagsupport + + checkinstance + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.CheckInstanceSimpleTag + scriptless + + + cskippage + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.ClassicSkipPage + JSP + + + sskippage + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleSkipPage + scriptless + + + simpledefault + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.DefaultSimpleTag + scriptless + + + fail + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.FailingTag + JSP + + + jspcontext + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleGetSetJspContext + scriptless + + + jspbody + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleGetSetJspBody + scriptless + + + parent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleGetSetParent + scriptless + + + simpleemptybody + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleEmptyBody + empty + + + noparent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleNoParent + scriptless + + + jspFragmentGetJspContextSimple + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleJspFragmentGetJspContext + scriptless + + + jspFragmentGetJspContextClassic + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.ClassicJspFragmentGetJspContext + JSP + + fragment + true + + + + cparent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.ClassicParent + JSP + + level + false + + + + ancestor + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleAncestor + scriptless + + + sparent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleParentTag + scriptless + + level + false + + + + sync + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleSyncTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SyncTEI + scriptless + + + sync1 + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.simpletagsupport.SimpleSyncTag + scriptless + + begin + java.lang.Integer + AT_BEGIN + + + end + java.lang.Integer + AT_END + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/ClassicSkipPageTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/ClassicSkipPageTag.tag new file mode 100644 index 0000000000..d3e7cdf116 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/ClassicSkipPageTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/SimpleSkipPageTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/SimpleSkipPageTag.tag new file mode 100644 index 0000000000..479ff411f3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/SimpleSkipPageTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/Sync.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/Sync.tag new file mode 100644 index 0000000000..fa86726a82 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/WEB-INF/tags/simpletagsupport/Sync.tag @@ -0,0 +1,56 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="com.sun.ts.tests.jsp.common.util.JspTestUtil" %> +<%@ variable name-given="begin" variable-class="java.lang.Integer" scope="AT_BEGIN" %> +<%@ variable name-given="end" variable-class="java.lang.Integer" scope="AT_END" %> +<%@ variable name-given="nested" variable-class="java.lang.Integer" scope="NESTED" %> + +<% + Integer b = (Integer) jspContext.getAttribute("begin"); + Integer n = (Integer) jspContext.getAttribute("nested"); + Integer e = (Integer) jspContext.getAttribute("end"); + + if (b == null) { + jspContext.setAttribute("begin", new Integer(3)); + } else { + // error + jspContext.getOut().println("Test FAILED. Attribute 'begin' was " + + " presentin the Tag's PageContext.\n Available attributes: " + + JspTestUtil.getAsString(jspContext.getAttributeNamesInScope( + PageContext.PAGE_SCOPE))); + return; + } + + if (n == null) { + jspContext.setAttribute("nested", new Integer(9)); + } else { + jspContext.getOut().println("Test FAILED. Attribute 'nested' was " + + "present in the Tag's PageContext."); + return; + } + + if (e == null) { + jspContext.setAttribute("end", new Integer(1)); + } else { + jspContext.getOut().println("Test FAILED. Attribute 'end' was " + + "present in the Tag's PageContext."); + return; + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/emptySetJspBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/emptySetJspBodyTest.jsp new file mode 100644 index 0000000000..c348c4f4d1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/emptySetJspBodyTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jspFragmentGetJspContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jspFragmentGetJspContextTest.jsp new file mode 100644 index 0000000000..6d5739fc3f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jspFragmentGetJspContextTest.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + + ${1} + + + + jspfragment body + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jsp_simtagsupport_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jsp_simtagsupport_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jsp_simtagsupport_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/jsp_simtagsupport_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/noParentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/noParentTest.jsp new file mode 100644 index 0000000000..b2c19fc6df --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/noParentTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/tagHandlerCacheTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/tagHandlerCacheTest.jsp new file mode 100644 index 0000000000..f99feff040 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/tagHandlerCacheTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/simpletagsupport" prefix="simtag" %> + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterTest.jsp new file mode 100644 index 0000000000..1cfe1e583a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterTest.jsp @@ -0,0 +1,213 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.tagext.TagAdapter, + jakarta.servlet.jsp.tagext.Tag, + jakarta.servlet.jsp.tagext.SimpleTag, + jakarta.servlet.jsp.tagext.JspTag, + jakarta.servlet.jsp.tagext.SimpleTagSupport" %> +<%@ page contentType="text/plain" %> + +<%! + private static TagAdapter getTagAdapter() { + return new TagAdapter(new SimpleTagSupport()); + } +%> + +<%-- Begin test definitions --%> + +<%! + public void tagAdapterCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Unable to create new TagAdapter instanced via " + + "the public constuctor."); + } + } +%> + +<%! + public void tagAdapterSetPageContextTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + try { + adapter.setPageContext(null); + } catch (Throwable t) { + if (t instanceof UnsupportedOperationException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Exception thrown when TagAdapter" + + ".setPageContext() was called, but was not an instance" + + " of UnsupportedOperationException. Received: " + + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%! + public void tagAdapterSetParentTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + try { + adapter.setParent(null); + } catch (Throwable t) { + if (t instanceof UnsupportedOperationException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Exception thrown when TagAdapter" + + ".setParent() was called, but was not an instance" + + " of UnsupportedOperationException. Received: " + + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%! + public void tagAdapterGetParentTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + boolean pass = false; + JspTag adaptee = adapter.getAdaptee(); + if(adaptee == null) { + out.println("Test FAILED. adpatee is null."); + } else if(adaptee instanceof SimpleTag) { + Tag p1 = adapter.getParent(); + SimpleTag stg = (SimpleTag) adaptee; + JspTag p2 = stg.getParent(); + if(p1 == p2) { + out.println("Test PASSED. getParent() returns the same value as getAdaptee().getParent()"); + } else { + out.println("Test FAILED. getParent() does not return the same value as getAdaptee().getParent()"); + } + } else { + out.println("Test PASSED. adaptee is not a SimpleTag and need to update tests."); + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%! + public void tagAdapterDoStartTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + try { + adapter.doStartTag(); + } catch (Throwable t) { + if (t instanceof UnsupportedOperationException) { + out.println("Test PASSED"); + } else if (t instanceof JspException) { + out.println("Test FAILED. JspException was incorrectly" + + " thrown when calling doStartTag() on the TagAdapter."); + } else { + out.println("Test FAILED. Exception thrown when TagAdapter" + + ".doStartTag() was called, but was not an instance" + + " of UnsupportedOperationException. Received: " + + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%! + public void tagAdapterDoEndTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + try { + adapter.doEndTag(); + } catch (Throwable t) { + if (t instanceof UnsupportedOperationException) { + out.println("Test PASSED"); + } else if (t instanceof JspException) { + out.println("Test FAILED. JspException was incorrectly" + + " thrown when calling doEndTag() on the TagAdapter."); + } else { + out.println("Test FAILED. Exception thrown when TagAdapter" + + ".doEndTag() was called, but was not an instance" + + " of UnsupportedOperationException. Received: " + + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%! + public void tagAdapterReleaseTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagAdapter adapter = getTagAdapter(); + if (adapter != null) { + try { + adapter.release(); + } catch (Throwable t) { + if (t instanceof UnsupportedOperationException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Exception thrown when TagAdapter" + + ".release() was called, but was not an instance" + + " of UnsupportedOperationException. Received: " + + t.getClass().getName()); + } + } + } else { + out.println("Test FAILED. TagAdapter was null."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterValidationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterValidationTest.jsp new file mode 100644 index 0000000000..bb51239d00 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/TagAdapterValidationTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/tagadapter" prefix="tatest" %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/WEB-INF/tagadapter.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/WEB-INF/tagadapter.tld new file mode 100644 index 0000000000..08d6f9c9ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/WEB-INF/tagadapter.tld @@ -0,0 +1,37 @@ + + + + + TagAdapter Validation + 1.0 + tagadapter + + simpleparent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagadapter.TASimpleTag + scriptless + + + classicchild + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagadapter.TagAdapterVerifierTag + JSP + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/jsp_tagadapter_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/jsp_tagadapter_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/jsp_tagadapter_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/jsp_tagadapter_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/CanBeRequestTimeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/CanBeRequestTimeTest.jsp new file mode 100644 index 0000000000..1dbf73b33e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/CanBeRequestTimeTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetIdAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetIdAttribute.jsp new file mode 100644 index 0000000000..8a8e5c9118 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetIdAttribute.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetNameTest.jsp new file mode 100644 index 0000000000..63b4649b0b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetTypeNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetTypeNameTest.jsp new file mode 100644 index 0000000000..f29b0c2368 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/GetTypeNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsFragmentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsFragmentTest.jsp new file mode 100644 index 0000000000..afa8183a5e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsFragmentTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsRequiredTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsRequiredTest.jsp new file mode 100644 index 0000000000..688c1b2e10 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/IsRequiredTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/ToStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/ToStringTest.jsp new file mode 100644 index 0000000000..0b903875ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/ToStringTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagattrinfo" prefix="tagattrinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/WEB-INF/tagattributeinfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/WEB-INF/tagattributeinfo.tld new file mode 100644 index 0000000000..36d5c4cce0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/WEB-INF/tagattributeinfo.tld @@ -0,0 +1,47 @@ + + + + + TagLibraryInfo Validation + 1.0 + tagattributeinfo + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagattributeinfo.TagAttributeInfoTEI + JSP + + test + true + + + dynAttribute + false + true + java.lang.Integer + + + fragAttribute + true + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/jsp_tagattrinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/jsp_tagattrinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/jsp_tagattrinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/jsp_tagattrinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/ConstructorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/ConstructorTest.jsp new file mode 100644 index 0000000000..1009b0f5e9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/ConstructorTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagdata" prefix="tagdata" %> + + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeStringTest.jsp new file mode 100644 index 0000000000..eee60fcb1b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeStringTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagdata" prefix="tagdata" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeTest.jsp new file mode 100644 index 0000000000..15046e9302 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributeTest.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagdata" prefix="tagdata" %> + + + ${'EL Expression'} + + + static + + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributesTest.jsp new file mode 100644 index 0000000000..63b7c89b74 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/GetAttributesTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagdata" prefix="tagdata" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/SetAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/SetAttributeTest.jsp new file mode 100644 index 0000000000..036832163f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/SetAttributeTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagdata" prefix="tagdata" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/WEB-INF/tagdata.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/WEB-INF/tagdata.tld new file mode 100644 index 0000000000..7484368eaf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/WEB-INF/tagdata.tld @@ -0,0 +1,57 @@ + + + + + TagLibraryInfo Validation + 1.0 + tagdata + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagdata.TagDataTEI + JSP + + test + true + + + dynAttribute + false + true + + + dynAttribute2 + false + true + + + dynAttribute3 + false + true + + + dynAttribute4 + false + true + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/jsp_tagdata_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/jsp_tagdata_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/jsp_tagdata_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/jsp_tagdata_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoDefaultImplTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoDefaultImplTest.jsp new file mode 100644 index 0000000000..659524e831 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoDefaultImplTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo.TagExtraInfoTEI"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagextrainfo" prefix="tagextrainfo" %> + +<% + if (TagExtraInfoTEI.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + TagExtraInfoTEI.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoEmptyReturnTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoEmptyReturnTest.jsp new file mode 100644 index 0000000000..4632461d11 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoEmptyReturnTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo.TagExtraInfoTEI"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagextrainfo" prefix="tagextrainfo" %> + +<% + if (TagExtraInfoTEI.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + TagExtraInfoTEI.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNonEmptyReturnTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNonEmptyReturnTest.jsp new file mode 100644 index 0000000000..48e572d8d0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNonEmptyReturnTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo.TagExtraInfoTEI"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagextrainfo" prefix="tagextrainfo" %> + +<% + if (TagExtraInfoTEI.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + TagExtraInfoTEI.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNullReturnTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNullReturnTest.jsp new file mode 100644 index 0000000000..bef8e9cba2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/TagExtraInfoNullReturnTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo.TagExtraInfoTEI"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagextrainfo" prefix="tagextrainfo" %> + +<% + if (TagExtraInfoTEI.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + TagExtraInfoTEI.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/WEB-INF/tagextrainfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/WEB-INF/tagextrainfo.tld new file mode 100644 index 0000000000..50b6ce0dcc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/WEB-INF/tagextrainfo.tld @@ -0,0 +1,37 @@ + + + + + TagLibraryInfo Validation + 1.0 + tagextrainfo + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagextrainfo.TagExtraInfoTEI + JSP + + test + true + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/jsp_tagextrainfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/jsp_tagextrainfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/jsp_tagextrainfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/jsp_tagextrainfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetNameTest.jsp new file mode 100644 index 0000000000..a199396d01 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetNameTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagfileinfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetPathTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetPathTest.jsp new file mode 100644 index 0000000000..b8a1d10e89 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetPathTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagfileinfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetTagInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetTagInfoTest.jsp new file mode 100644 index 0000000000..c789c5910e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/GetTagInfoTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagfileinfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tagfileinfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tagfileinfo.tld new file mode 100644 index 0000000000..e984a05a43 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tagfileinfo.tld @@ -0,0 +1,41 @@ + + + + + TagFileInfo Validation + 1.0 + tagfileinfo + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagfileinfo.TagFileInfoTEI + JSP + + test + true + + + + TagFile1 + /WEB-INF/tags/tagfileinfo/TagFile1.tag + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tags/tagfileinfo/TagFile1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tags/tagfileinfo/TagFile1.tag new file mode 100644 index 0000000000..6a1bb6656c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/WEB-INF/tags/tagfileinfo/TagFile1.tag @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag display-name="TagFile1" + dynamic-attributes="true" + small-icon="/16/icon.jpg" + large-icon="/32/icon.jpg" + description="Simple Tag File" +%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/jsp_tagfileinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/jsp_tagfileinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/jsp_tagfileinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/jsp_tagfileinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetAttributesTest.jsp new file mode 100644 index 0000000000..645b4114bb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetAttributesTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetBodyContentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetBodyContentTest.jsp new file mode 100644 index 0000000000..4c779474e1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetBodyContentTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetDisplayNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetDisplayNameTest.jsp new file mode 100644 index 0000000000..e986368967 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetDisplayNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetInfoStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetInfoStringTest.jsp new file mode 100644 index 0000000000..f079927323 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetInfoStringTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetLargeIconTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetLargeIconTest.jsp new file mode 100644 index 0000000000..6065cca400 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetLargeIconTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetSmallIconTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetSmallIconTest.jsp new file mode 100644 index 0000000000..20748a9b31 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetSmallIconTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagClassNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagClassNameTest.jsp new file mode 100644 index 0000000000..e496f2a2fd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagClassNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagExtraInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagExtraInfoTest.jsp new file mode 100644 index 0000000000..c0bb3ed357 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagExtraInfoTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagLibraryTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagLibraryTest.jsp new file mode 100644 index 0000000000..b88746d1b3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagLibraryTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagNameTest.jsp new file mode 100644 index 0000000000..64931b2ca0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagVariableInfosTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagVariableInfosTest.jsp new file mode 100644 index 0000000000..412ae8aced --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/GetTagVariableInfosTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/HasDynamicAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/HasDynamicAttributesTest.jsp new file mode 100644 index 0000000000..2ae57e7959 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/HasDynamicAttributesTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagExtraInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagExtraInfoTest.jsp new file mode 100644 index 0000000000..9b22fc9c9a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagExtraInfoTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagLibraryTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagLibraryTest.jsp new file mode 100644 index 0000000000..9e18c8feb3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/SetTagLibraryTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taginfo" prefix="taginfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/WEB-INF/taginfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/WEB-INF/taginfo.tld new file mode 100644 index 0000000000..7bfbd3cdb1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/WEB-INF/taginfo.tld @@ -0,0 +1,56 @@ + + + + + TagInfo Validation + 1.0 + taginfo + + simple test tag + test tag + + /16/icon.jpg + /32/icon.jpg + + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taginfo.TagInfoTEI + JSP + + test + true + + true + + + simple test tag + test2 + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + tagdependent + + var1 + + + var2 + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/jsp_taginfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/jsp_taginfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/jsp_taginfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/jsp_taginfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionTest.jsp new file mode 100644 index 0000000000..d37a6359af --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionsTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionsTest.jsp new file mode 100644 index 0000000000..553f36a9b0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetFunctionsTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetInfoStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetInfoStringTest.jsp new file mode 100644 index 0000000000..ff3ebc6659 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetInfoStringTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetPrefixStringTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetPrefixStringTest.jsp new file mode 100644 index 0000000000..2eae90d230 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetPrefixStringTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetReliableURNTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetReliableURNTest.jsp new file mode 100644 index 0000000000..145ba26b0e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetReliableURNTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetRequiredVersionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetRequiredVersionTest.jsp new file mode 100644 index 0000000000..67d6fd9e3c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetRequiredVersionTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetShortNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetShortNameTest.jsp new file mode 100644 index 0000000000..d32eab2061 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetShortNameTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFileTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFileTest.jsp new file mode 100644 index 0000000000..8c365f1607 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFileTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFilesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFilesTest.jsp new file mode 100644 index 0000000000..9b2f938476 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagFilesTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagLibraryInfosTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagLibraryInfosTest.jsp new file mode 100644 index 0000000000..87250db998 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagLibraryInfosTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo2" prefix="taglibinfo2" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagTest.jsp new file mode 100644 index 0000000000..566e8b189a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagsTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagsTest.jsp new file mode 100644 index 0000000000..11f165ce2a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetTagsTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetURITest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetURITest.jsp new file mode 100644 index 0000000000..ead1b8d593 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/GetURITest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/taglibinfo" prefix="taglibinfo" %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo.tld new file mode 100644 index 0000000000..523e7d0f09 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo.tld @@ -0,0 +1,67 @@ + + + + + TagLibraryInfo Validation + 1.0 + taglibinfo + http://java.sun.com/tck/jsp/taglibinfo + + tag1 + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryinfo.TagLibraryInfoTEI + JSP + + test + true + + + + tag2 + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + test + false + + + + TagFile1 + /WEB-INF/tags/taglibinfo/TagFile1.tag + + + TagFile2 + /WEB-INF/tags/taglibinfo/TagFile2.tag + + + upperCase + upperCase + com.sun.ts.tests.jsp.common.util.JspFunctions + java.lang.String upperCase(java.lang.String) + + + lowerCase + lowerCase + com.sun.ts.tests.jsp.common.util.JspFunctions + java.lang.String lowerCase(java.lang.String) + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo2.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo2.tld new file mode 100644 index 0000000000..26d709de57 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/taglibinfo2.tld @@ -0,0 +1,67 @@ + + + + + TagLibraryInfo Validation + 1.0 + taglibinfo2 + http://java.sun.com/tck/jsp/taglibinfo2 + + tag1 + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryinfo.TagLibraryInfoTEI + JSP + + test + true + + + + tag2 + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + test + false + + + + TagFile1 + /WEB-INF/tags/taglibinfo/TagFile1.tag + + + TagFile2 + /WEB-INF/tags/taglibinfo/TagFile2.tag + + + upperCase + upperCase + com.sun.ts.tests.jsp.common.util.JspFunctions + java.lang.String upperCase(java.lang.String) + + + lowerCase + lowerCase + com.sun.ts.tests.jsp.common.util.JspFunctions + java.lang.String lowerCase(java.lang.String) + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile1.tag new file mode 100644 index 0000000000..5bc6b7fa45 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- Tag on a log... --%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile2.tag new file mode 100644 index 0000000000..f0b732016c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/WEB-INF/tags/taglibinfo/TagFile2.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- Another Tag on a log... --%> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/jsp_taglibinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/jsp_taglibinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/jsp_taglibinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/jsp_taglibinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TLVTranslationErrorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TLVTranslationErrorTest.jsp new file mode 100644 index 0000000000..ccf4b98733 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TLVTranslationErrorTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tlvfail" prefix="fail" %> + +Test FAILED. A translation error should have occurred. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TagLibraryValidatorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TagLibraryValidatorTest.jsp new file mode 100644 index 0000000000..a4b5a1a14a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/TagLibraryValidatorTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryvalidator.APIValidator"%> +<%@ page contentType="text/plain" %> + +<%@ taglib uri="http://java.sun.com/tck/jsp/tlv" prefix="tlv1" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tlv" prefix="tlv2" %> + +<% + int count = APIValidator.callCount; + if (count != 1) { + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + "Test FAILED. The TagLibraryValidator was called " + count + + " time(s) for the URI 'http://java.sun.com/tck/jsp/tlv', expected a count of 1"); + } +%> +Test PASSED. Validator call count was 1. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalfail.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalfail.tld new file mode 100644 index 0000000000..1213dfa71f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalfail.tld @@ -0,0 +1,32 @@ + + + + + Tag Library for TagLibraryValidator Tests + TagLibraryValidator Test Tag Library + 1.0 + taglibvalfail + + Validator to verify API/container interoperation. + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryvalidator.FailingValidator + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalidator.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalidator.tld new file mode 100644 index 0000000000..8f811b030b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/WEB-INF/taglibvalidator.tld @@ -0,0 +1,36 @@ + + + + + Tag Library for TagLibraryValidator Tests + TagLibraryValidator Test Tag Library + 1.0 + taglibvalidator + + Validator to verify API/container interoperation. + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.taglibraryvalidator.APIValidator + + initParam + paramValue + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/jsp_taglibvalidator_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/jsp_taglibvalidator_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/jsp_taglibvalidator_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/jsp_taglibvalidator_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodyEvalBodyAgainTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodyEvalBodyAgainTest.jsp new file mode 100644 index 0000000000..21abc1b76b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodyEvalBodyAgainTest.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + +<%! int i = 0; %> + + Body Evaluated<%= ++i %> + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodySkipBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodySkipBodyTest.jsp new file mode 100644 index 0000000000..e5a4ba38bc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoAfterBodySkipBodyTest.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + +<%! int i = 0; %> + + Body Evaluated<%= ++i %> + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagEvalPageTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagEvalPageTest.jsp new file mode 100644 index 0000000000..e39bc8aa51 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagEvalPageTest.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + + Test FAILED. + + + + + + + + + + + + + + + +${validate.result} +${validate1.result}1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagSkipPageTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagSkipPageTest.jsp new file mode 100644 index 0000000000..0d88b87055 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoEndTagSkipPageTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + + Test FAILED. + + +Test FAILED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartEvalBodyIncludeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartEvalBodyIncludeTest.jsp new file mode 100644 index 0000000000..479937ca1f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartEvalBodyIncludeTest.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + Test FAILED + +<% + // body evaluation should have used the out for the page. + // Flush the current out. + out.clearBuffer(); +%> + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartSkipBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartSkipBodyTest.jsp new file mode 100644 index 0000000000..e67df7f5a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/DoStartSkipBodyTest.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + Test FAILED. + + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/FindAncestorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/FindAncestorTest.jsp new file mode 100644 index 0000000000..cad4f75dba --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/FindAncestorTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/MethodValidation.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/MethodValidation.jsp new file mode 100644 index 0000000000..82e5cb1f1c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/MethodValidation.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + + + + + +${validate.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagInitializationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagInitializationTest.jsp new file mode 100644 index 0000000000..e631dc838a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagInitializationTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportApiTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportApiTest.jsp new file mode 100644 index 0000000000..5009c80509 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportApiTest.jsp @@ -0,0 +1,164 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.io.IOException, + jakarta.servlet.jsp.tagext.TagSupport, + jakarta.servlet.jsp.tagext.Tag, + com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.util.Enumeration"%> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void doStartTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + int retValue = 0; + try { + retValue = support.doStartTag(); + } catch (JspException je) { + throw new ServletException("Unexpected Exception!", je); + } + if (retValue == Tag.SKIP_BODY) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the default return value" + + " of TagSupport.doStartTag() to be Tag.SKIP_BODY. Received:" + + " " + JspTestUtil.getTagStatusAsString("doStartTag", "Tag", + retValue)); + } + } +%> + +<%! + public void doEndTagTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + int retValue = 0; + try { + retValue = support.doEndTag(); + } catch (JspException je) { + throw new ServletException("Unexpected Exception!", je); + } + if (retValue == Tag.EVAL_PAGE) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the default return value" + + " of TagSupport.doEndTag() to be Tag.EVAL_PAGE. Received:" + + " " + JspTestUtil.getTagStatusAsString("doEndTag", "Tag", + retValue)); + } + } +%> + +<%! + public void doAfterBodyTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + int retValue = 0; + try { + retValue = support.doAfterBody(); + } catch (JspException je) { + throw new ServletException("Unexpected Exception!", je); + } + if (retValue == Tag.SKIP_BODY) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the default return value" + + " of TagSupport.doAfterBody() to be Tag.SKIP_BODY. Received:" + + " " + JspTestUtil.getTagStatusAsString("doAfterBody", "IterationTag", + retValue)); + } + } +%> + +<%! + public void setGetValue(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + support.setValue("key1", "value1"); + String retValue = (String) support.getValue("key1"); + if (retValue.equals("value1")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected TagSupport.getValue() to return" + + "'value1' for key 'key1'. The actual value received was: " + + retValue); + } + } +%> + +<%! + public void getValues(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + support.setValue("key1", "value1"); + support.setValue("key3", "value3"); + support.setValue("key2", "value2"); + Enumeration e = support.getValues(); + if (JspTestUtil.checkEnumeration(e, + new String[] { "key1", "key2", "key3" })) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the following values to be found" + + " in the Enumeration returned by getValues(): [ key1, key2, key3 ]" + + ". Values in the Enumeration: " + + JspTestUtil.getAsString(support.getValues())); + } + } +%> + +<%! + public void removeValue(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + TagSupport support = new TagSupport(); + support.setValue("key1", "value1"); + support.setValue("key2", "value2"); + support.removeValue("key1"); + if (support.getValue("key1") == null) { + if (support.getValue("key2") != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Passed 'key1' to TagSupport.remove" + + "Value(), but 'key2' was removed as well."); + } + } else { + out.println("Test FAILED. Passed 'key1' to TagSupport.remove" + + "Value(), but 'key1' was not removed."); + } + } +%> + +<%-- Test invocation --%> + +<% + JspTestUtil.invokeTest(this, request, response, out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportSynchronizationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportSynchronizationTest.jsp new file mode 100644 index 0000000000..951bc291ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/TagSupportSynchronizationTest.jsp @@ -0,0 +1,129 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagsupport" prefix="tag" %> + +<%-- Validate synchronization when iterating over body --%> +Iteration synchronization +-------------------------------------------- +<%! int counter = 2; %> + + <% + int beg = (begin != null) ? begin.intValue() : 0; + int nes = (nested != null) ? nested.intValue() : 0; + if (counter == 2) { + // doStartTag() called initial value of 1 + if (beg < 1) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doStartTag(). Expected a value of '1'. Received: " + beg); + } + if (beg > 1) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doStartTag(). Expected " + + "a value of '1'. Received: " + beg); + } + if (nes < 1) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doStartTag(). Expected a value of '1'. Received: " + nes); + } + if (nes > 1) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doStartTag(). Expected " + + "a value of '1'. Received: " + nes); + } + } else { + // doAfterBody() called with EVAL_BODY_AGAIN new value of 2 + if (beg < 2) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doAfterBody(). Expected a value of '2'. Received: " + beg); + } + if (beg > 2) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '2'. Received: " + beg); + } + if (nes != 2) { + out.println("Test FAILED. Variable 'nested' not synchronized after" + + " doAfterBody(). Expected a value of '2'. Received: " + nes); + } + if (nes > 2) { + out.println("Test FAILED. Variable 'nested' seems to have been" + + " synchronized too many times after doAfterBody(). Expected " + + "a value of '2'. Received: " + nes); + } + } + counter--; + %> + +<% + // doAfterBody() has been called with SKIP_BODY, then doEndTag() value + // incremented by 2. + int beg = (begin != null) ? begin.intValue() : 0; + int eend = (end != null) ? end.intValue() : 0; + if (beg < 4) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doEndTag(). Expected a value of '4'. Received: " + beg); + } + if (beg > 4) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '4'. Received: " + beg); + } + if (eend < 4) { + out.println("Test FAILED. Variable 'end' not synchronized after " + + " doEndTag(). Expected a value of '4'. Received: " + eend); + } + if (eend > 4) { + out.println("Test FAILED. Variable 'end' seems to have been" + + " synchronized too many times after doEndTag(). Expected " + + "a value of '4'. Received: " + eend); + } + pageContext.removeAttribute("begin"); + pageContext.removeAttribute("end"); +%> + +<%-- Validate synchronization when doStartTag() returns SKIP_BODY --%> +Tag Synchronization +-------------------------------------------- + +<% + // doStartTag() and doEndTag() have each been called once. + beg = (begin != null) ? begin.intValue() : 0; + eend = (end != null) ? end.intValue() : 0; + if (beg < 2) { + out.println("Test FAILED. Variable 'begin' not synchronized after" + + " doStartTag() and/or doEndTag(). Expected a value of '2'. Received: " + beg); + } + if (beg > 2) { + out.println("Test FAILED. Variable 'begin' seems to have been" + + " synchronized too many times after doStartTag() and/ordoEndTag(). Expected " + + "a value of '2'. Received: " + beg); + } + if (eend < 2) { + out.println("Test FAILED. Variable 'end' not synchronized after " + + " doStartTag() and/or doEndTag(). Expected a value of '2'. Received: " + eend); + } + if (eend > 2) { + out.println("Test FAILED. Variable 'end' seems to have been" + + " synchronized too many times after doStartTag() and/or doEndTag(). Expected " + + "a value of '2'. Received: " + eend); + } + pageContext.removeAttribute("begin"); + pageContext.removeAttribute("end"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/WEB-INF/tagsupport.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/WEB-INF/tagsupport.tld new file mode 100644 index 0000000000..1a994e59c5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/WEB-INF/tagsupport.tld @@ -0,0 +1,129 @@ + + + + + Tags for Tag/Container behavior tests + Tag + 1.0 + tagsupport + + parent + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.ParentTag + JSP + + result + false + + + + init + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.InitializationTag + JSP + + attribute1 + true + + + attribute2 + true + + + attribute3 + true + + + + interaction + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.ContainerInteractionTag + JSP + + doStartTag + true + java.lang.String + + + doEndTag + true + java.lang.String + + + doAfterBody + false + java.lang.String + + + bodyCount + java.lang.Integer + + + result + true + + + + ancestor + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.FindAncestorTag + JSP + + + sync + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagsupport.SynchronizationTag + JSP + + begin + java.lang.Integer + yes + AT_BEGIN + + + nested + java.lang.Integer + yes + NESTED + + + end + java.lang.Integer + yes + AT_END + + + doStartTag + true + java.lang.String + + + doEndTag + true + java.lang.String + + + doAfterBody + false + java.lang.String + + + bodyCount + java.lang.Integer + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/jsp_tagsupport_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/jsp_tagsupport_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/jsp_tagsupport_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/jsp_tagsupport_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetClassNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetClassNameTest.jsp new file mode 100644 index 0000000000..25cf104f5c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetClassNameTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagvarinfo" prefix="tagvarinfo" %> +<% String var2 = null; %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetDeclareTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetDeclareTest.jsp new file mode 100644 index 0000000000..b827d6699b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetDeclareTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagvarinfo" prefix="tagvarinfo" %> +<% String var2 = null; %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameFromAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameFromAttributeTest.jsp new file mode 100644 index 0000000000..e3f1bb9ab8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameFromAttributeTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagvarinfo" prefix="tagvarinfo" %> +<% String var2 = null; %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameGivenTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameGivenTest.jsp new file mode 100644 index 0000000000..2c1f07b04c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetNameGivenTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagvarinfo" prefix="tagvarinfo" %> +<% String var2 = null; %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetScopeTest.jsp new file mode 100644 index 0000000000..0a4e4f6bfa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/GetScopeTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.BaseTCKExtraInfo"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/tagvarinfo" prefix="tagvarinfo" %> +<% String var2 = null; %> + +<% + if (BaseTCKExtraInfo.teiWasCalled()) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Configured TEI was not called by container."); + } + BaseTCKExtraInfo.reset(); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/WEB-INF/tagvarinfo.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/WEB-INF/tagvarinfo.tld new file mode 100644 index 0000000000..371e91c638 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/WEB-INF/tagvarinfo.tld @@ -0,0 +1,59 @@ + + + + + Tag Library for TagVariableInfo Tests + TagVariableInfo Test Tag Library + 1.0 + tagvarinfo + + Simple Test Tag + Simple Test Tag + test + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.tagvariableinfo.TagVarInfoTEI + JSP + + var1 + java.lang.Integer + true + + + test + AT_BEGIN + + + var2 + false + AT_END + + + var3 + NESTED + + + test + true + java.lang.String + + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/jsp_tagvarinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/jsp_tagvarinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/jsp_tagvarinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/jsp_tagvarinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/TryCatchFinallyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/TryCatchFinallyTest.jsp new file mode 100644 index 0000000000..3f7304899b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/TryCatchFinallyTest.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/trycatchfinally" prefix="try" %> + +<% try { %> + + +<% } catch (Throwable t) { } %> + + + + + + + + + + + + + + + + + + + + +${verifier.result} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/WEB-INF/trycatchfinally.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/WEB-INF/trycatchfinally.tld new file mode 100644 index 0000000000..6332c98628 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/WEB-INF/trycatchfinally.tld @@ -0,0 +1,42 @@ + + + + + Test Tag(s) for TryCatchFinally + trycatchfinally + 1.0 + trycatchfinally + + tcf + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.trycatchfinally.TCFTestTag + JSP + + location + true + + + + throwit + com.sun.ts.tests.jsp.api.jakarta_servlet.jsp.tagext.trycatchfinally.ThrowTag + JSP + + diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/jsp_tcfinally_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/jsp_tcfinally_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/jsp_tcfinally_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/jsp_tcfinally_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/VariableInfoTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/VariableInfoTest.jsp new file mode 100644 index 0000000000..8253609432 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/VariableInfoTest.jsp @@ -0,0 +1,150 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.IOException, + jakarta.servlet.jsp.tagext.VariableInfo" %> +<%@ page contentType="text/plain" %> + +<%-- Begin test definitions --%> + +<%! + public void variableInfoCtorTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + VariableInfo infoBegin = new VariableInfo("beginVar", + "com.sun.ts.tests.jsp.api.MyVar", true, VariableInfo.AT_BEGIN); + VariableInfo infoNested = new VariableInfo("nestedVar", + "com.sun.ts.tests.jsp.api.MyVar", false, VariableInfo.NESTED); + VariableInfo infoEnd = new VariableInfo("endVar", + "com.sun.ts.tests.jsp.api.MyVar", true, VariableInfo.AT_END); + if (infoBegin != null) { + if (infoNested != null) { + if (infoEnd != null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } +%> + +<%! + public void variableInfoGetVarNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + VariableInfo info = new VariableInfo("myVar", + "com.sun.ts.tests.jsp.api.MyVar", true, VariableInfo.NESTED); + if (info != null) { + String varName = info.getVarName(); + if (varName != null) { + if (varName.equals("myVar")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected 'myVar' to be returned" + + " from VariableInfo.getVarName()."); + out.println("Received: " + varName); + } + } else { + out.println("Test FAILED. VariableInfo.getVarName() returned null."); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } +%> + +<%! + public void variableInfoGetClassNameTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + VariableInfo info = new VariableInfo("myVar", + "com.sun.ts.tests.jsp.api.MyVar", true, VariableInfo.AT_END); + if (info != null) { + String className = info.getClassName(); + if (className != null) { + if (className.equals("com.sun.ts.tests.jsp.api.MyVar")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected 'com.sun.ts.tests.jsp.api.MyVar'" + + " to be retuned from VariableInfo.getClassName()"); + out.println("Received: " + className); + } + } else { + out.println("Test FAILED. VariableInfo.getClassName() returned null."); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } +%> + +<%! + public void variableInfoGetDeclareTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + VariableInfo info = new VariableInfo("myVar", + "com.sun.ts.tests.jsp.api.MyVar", true, VariableInfo.AT_END); + if (info != null) { + boolean declare = info.getDeclare(); + if (declare == true) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected 'true'" + + " to be retuned from VariableInfo.getDeclare()"); + out.println("Received: false"); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } +%> + +<%! + public void variableInfoGetScopeTest(HttpServletRequest req, + HttpServletResponse res, + JspWriter out) + throws ServletException, IOException { + VariableInfo info = new VariableInfo("myVar", + "com.sun.ts.tests.jsp.api.MyVar", false, VariableInfo.NESTED); + if (info != null) { + int scope = info.getScope(); + if (scope == VariableInfo.NESTED) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. VariableInto.getScope() did not return" + + "the expected value, VariableInto.NESTED."); + } + } else { + out.println("Test FAILED. Unable to create instance of VariableInfo."); + } + } +%> + +<%-- Test invocation --%> + +<% JspTestUtil.invokeTest(this, request, response, out); %> diff --git a/jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/jsp_varinfo_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/jsp_varinfo_web.xml similarity index 100% rename from jsp/src/main/java/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/jsp_varinfo_web.xml rename to jsp/src/main/resources/com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/jsp_varinfo_web.xml diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/WEB-INF/config_charsequence.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/WEB-INF/config_charsequence.tld new file mode 100644 index 0000000000..d2a22e2a2c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/WEB-INF/config_charsequence.tld @@ -0,0 +1,38 @@ + + + + + + 1.0 + charsequence + + DeferredSyntaxAllowedAsLiteral test + DeferredSyntaxAllowedAsLiteral + com.sun.ts.tests.jsp.spec.configuration.charsequence.DeferredSyntaxAllowedAsLiteralTag + empty + + use of '#{' in an attribute value + poundExpr + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp new file mode 100644 index 0000000000..551ac8a82e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseActionTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/config_charsequence.tld" %> + +<% + pageContext.setAttribute("foo", "bar"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp new file mode 100644 index 0000000000..a2e4fb40b1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% + pageContext.setAttribute("foo", "bar"); +%> +From template text: #{foo} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.gf new file mode 100644 index 0000000000..56a7c7db75 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.gf @@ -0,0 +1 @@ +From tag handler: #{foo} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.jsp new file mode 100644 index 0000000000..551ac8a82e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueActionTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/config_charsequence.tld" %> + +<% + pageContext.setAttribute("foo", "bar"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf new file mode 100644 index 0000000000..a4204ae22a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf @@ -0,0 +1 @@ +From template text: #{foo} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp new file mode 100644 index 0000000000..a2e4fb40b1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% + pageContext.setAttribute("foo", "bar"); +%> +From template text: #{foo} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/jsp_config_charsequence_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/jsp_config_charsequence_web.xml new file mode 100644 index 0000000000..0331cfbfd9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/jsp_config_charsequence_web.xml @@ -0,0 +1,49 @@ + + + + + JspConfigCharsequence + + 5 + + + + /deferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp + true + + + /deferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp + false + + + /deferredSyntaxAllowedAsLiteralTrueActionTest.jsp + true + + + /deferredSyntaxAllowedAsLiteralFalseActionTest.jsp + false + + + /noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp + + + /noDeferredSyntaxAllowedAsLiteralActionTest.jsp + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralActionTest.jsp new file mode 100644 index 0000000000..551ac8a82e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralActionTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/config_charsequence.tld" %> + +<% + pageContext.setAttribute("foo", "bar"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp new file mode 100644 index 0000000000..a2e4fb40b1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/charsequence/noDeferredSyntaxAllowedAsLiteralTemplateTextTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% + pageContext.setAttribute("foo", "bar"); +%> +From template text: #{foo} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/compat13/ElCompatTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/compat13/ElCompatTest.jsp new file mode 100644 index 0000000000..a114dcc367 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/compat13/ElCompatTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalse/ElEvaluationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalse/ElEvaluationTest.jsp new file mode 100644 index 0000000000..a114dcc367 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalse/ElEvaluationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalsex/ElEvaluationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalsex/ElEvaluationTest.jspx new file mode 100644 index 0000000000..20ae5c43ac --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconffalsex/ElEvaluationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftrue/ElEvaluationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftrue/ElEvaluationTest.jsp new file mode 100644 index 0000000000..a114dcc367 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftrue/ElEvaluationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftruex/ElEvaluationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftruex/ElEvaluationTest.jspx new file mode 100644 index 0000000000..3856536b3a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elconftruex/ElEvaluationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalse/ElEvaluationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalse/ElEvaluationTest.jsp new file mode 100644 index 0000000000..e1dcffa71e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalse/ElEvaluationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" isELIgnored="false" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalsex/ElEvaluationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalsex/ElEvaluationTest.jspx new file mode 100644 index 0000000000..dab3fe3332 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagefalsex/ElEvaluationTest.jspx @@ -0,0 +1,26 @@ + + + + + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetrue/ElEvaluationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetrue/ElEvaluationTest.jsp new file mode 100644 index 0000000000..eb6145325b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetrue/ElEvaluationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" isELIgnored="true" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetruex/ElEvaluationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetruex/ElEvaluationTest.jspx new file mode 100644 index 0000000000..55b10709c2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elpagetruex/ElEvaluationTest.jspx @@ -0,0 +1,26 @@ + + + + + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspec/ElEvaluationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspec/ElEvaluationTest.jsp new file mode 100644 index 0000000000..a114dcc367 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspec/ElEvaluationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspecx/ElEvaluationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspecx/ElEvaluationTest.jspx new file mode 100644 index 0000000000..3856536b3a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/elunspecx/ElEvaluationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.xml new file mode 100644 index 0000000000..87d6d5b42a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval23_web.xml @@ -0,0 +1,26 @@ + + + + + + JspConfigurationElEval23 + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval_web.xml new file mode 100644 index 0000000000..9c489a3d89 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/elevaluation/jsp_config_eleval_web.xml @@ -0,0 +1,82 @@ + + + + + JspConfigurationElEval + + 5 + + + + + Unspecified in configuration and by JSP + /elunspec/* + + + Set to false in configuration not specified in JSP + /elconffalse/* + false + + + Set to true in config not specified in JSP + /elconftrue/* + true + + + Set to false in page...overrides config + /elpagefalse/* + true + + + Set to true in page...overrides config + /elpagetrue/* + false + + + + Unspecified in configuration and by JSP + /elunspecx/* + true + + + Set to false in configuration not specified in JSP + /elconffalsex/* + false + true + + + Set to true in config not specified in JSP + /elconftruex/* + true + true + + + Set to false in page...overrides config + /elpagefalsex/* + true + true + + + Set to true in page...overrides config + /elpagetruex/* + false + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jsp new file mode 100644 index 0000000000..37fce2d28b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" pageEncoding="ISO-8859-1" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jspx new file mode 100644 index 0000000000..c5289b445e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/DifferentEncodingSpecifiedTest.jspx @@ -0,0 +1,26 @@ + + + + + + + A different encoding (UTF-8) is specified in web.xml. + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/NoEncodingSpecifiedTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/NoEncodingSpecifiedTest.jsp new file mode 100644 index 0000000000..9a2585761c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/NoEncodingSpecifiedTest.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/SameEncodingSpecifiedTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/SameEncodingSpecifiedTest.jsp new file mode 100644 index 0000000000..bba7ce851a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/SameEncodingSpecifiedTest.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" pageEncoding="UTF-8" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/jsp_config_encode_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/jsp_config_encode_web.xml new file mode 100644 index 0000000000..bade980de6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/encoding/jsp_config_encode_web.xml @@ -0,0 +1,36 @@ + + + + + JspConfigurationEncoding + + 5 + + + + *.jsp + UTF-8 + + + /DifferentEncodingSpecifiedTest.jspx + UTF-8 + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda1.jsp new file mode 100644 index 0000000000..03860fc50e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda1.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In coda1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda2.jsp new file mode 100644 index 0000000000..111edcccf3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda2.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In coda2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda3.jsp new file mode 100644 index 0000000000..4dcd64c492 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/coda3.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In coda3 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/identical/willSee.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/identical/willSee.jsp new file mode 100644 index 0000000000..915a2f3eef --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/identical/willSee.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test PASSED. This page is served since jsp-property-group has +precedence over servlet-mapping diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/jsp_config_general_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/jsp_config_general_web.xml new file mode 100644 index 0000000000..a7de23f556 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/jsp_config_general_web.xml @@ -0,0 +1,75 @@ + + + + + JspConfigurationGeneral + + aservlet + com.sun.ts.tests.jsp.spec.configuration.general.AServlet + + + aservlet + /specific/svr/* + + + aservlet + /identical/willSee.jsp + + + aservlet + /mostSpecific/* + + + 5 + + + + /specific/* + /coda1.jsp + + + /specific/svr/page/* + /coda1.jsp + + + /identical/willSee.jsp + /coda1.jsp + + + + /mostSpecific/* + true + /prelude1.jsp + /coda1.jsp + + + + /mostSpecific/page/* + /prelude2.jsp + /coda2.jsp + + + + /mostSpecific/page/willSee.jsp + false + /prelude3.jsp + /coda3.jsp + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/mostSpecific/page/willSee.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/mostSpecific/page/willSee.jsp new file mode 100644 index 0000000000..1e284a3d74 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/mostSpecific/page/willSee.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% + pageContext.setAttribute("elMessage", "el is enabled", + PageContext.PAGE_SCOPE); +%> +${elMessage} +Test PASSED. This page is served since at least one jsp-property-group +contains the most specific mapping. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude1.jsp new file mode 100644 index 0000000000..8221c1d4e9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude1.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In prelude1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude2.jsp new file mode 100644 index 0000000000..6a6923c399 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude2.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In prelude2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude3.jsp new file mode 100644 index 0000000000..2b603e0434 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/prelude3.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In prelude3 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/page/willSee.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/page/willSee.jsp new file mode 100644 index 0000000000..2dcfe3566a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/page/willSee.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test PASSED. This page is served since jsp-property-group has +more specific url-pattern. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/willNotSee.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/willNotSee.jsp new file mode 100644 index 0000000000..52e91c9a0d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/general/specific/svr/willNotSee.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test FAILED. This page should not be served since mapped servlet has +more specific url-pattern. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/IncludesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/IncludesTest.jsp new file mode 100644 index 0000000000..7b239dc41d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/IncludesTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +JSP Body diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda1.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda1.jspf new file mode 100644 index 0000000000..ac7de4b806 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda1.jspf @@ -0,0 +1,18 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> +Coda1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda2.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda2.jspf new file mode 100644 index 0000000000..ca2a181dd3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda2.jspf @@ -0,0 +1,18 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> +Coda2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda3.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda3.jspf new file mode 100644 index 0000000000..872c090272 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/coda3.jspf @@ -0,0 +1,18 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> +Coda3 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude1.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude1.jspf new file mode 100644 index 0000000000..d66eda8c08 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude1.jspf @@ -0,0 +1,18 @@ + +Prelude1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude2.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude2.jspf new file mode 100644 index 0000000000..4e10801ad7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude2.jspf @@ -0,0 +1,18 @@ + +Prelude2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude3.jspf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude3.jspf new file mode 100644 index 0000000000..8290cf14ad --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/WEB-INF/jspf/prelude3.jspf @@ -0,0 +1,18 @@ + +Prelude3 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/jsp_config_includes_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/jsp_config_includes_web.xml new file mode 100644 index 0000000000..8356b2fabd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/jsp_config_includes_web.xml @@ -0,0 +1,45 @@ + + + + + JspConfigurationIncludes + + 5 + + + + *.jsp + /WEB-INF/jspf/prelude1.jspf + /WEB-INF/jspf/coda1.jspf + + + /two/* + /WEB-INF/jspf/prelude2.jspf + /WEB-INF/jspf/coda2.jspf + + + /three/* + true + /WEB-INF/jspf/prelude2.jspf + /WEB-INF/jspf/prelude3.jspf + /WEB-INF/jspf/coda2.jspf + /WEB-INF/jspf/coda3.jspf + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/three/Includes3Test.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/three/Includes3Test.jspx new file mode 100644 index 0000000000..ad11dba0ec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/three/Includes3Test.jspx @@ -0,0 +1,26 @@ + + + + + + + JSP Body 3 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/two/Includes2Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/two/Includes2Test.jsp new file mode 100644 index 0000000000..137a795fb8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/includes/two/Includes2Test.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +JSP Body 2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/WEB-INF/tag.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/WEB-INF/tag.tld new file mode 100644 index 0000000000..2ee0add5c3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/WEB-INF/tag.tld @@ -0,0 +1,36 @@ + + + + + 1.0 + tag + + echo + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + echo + true + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/jsp_config_scr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/jsp_config_scr_web.xml new file mode 100644 index 0000000000..6884758cdd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/jsp_config_scr_web.xml @@ -0,0 +1,64 @@ + + + + + JspConfigurationScripting + + 5 + + + + http://java.sun.com/tck/jsp/scr + /WEB-INF/tag.tld + + + + Unspecified in property-group + /scrunspec/* + + + Property group sets scripting-invalid to false + /scrfalse/* + false + + + Property group sets scripting-invalid to true + /scrtrue/* + true + + + + Unspecified in property-group + /scrunspecx/* + true + + + Property group sets scripting-invalid to false + /scrfalsex/* + false + true + + + Property group sets scripting-invalid to true + /scrtruex/* + true + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/DeclarationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/DeclarationTest.jsp new file mode 100644 index 0000000000..69ff4eacb2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/DeclarationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%! int i = 0; %> +Test PASSED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ExpressionTest.jsp new file mode 100644 index 0000000000..e537060724 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ExpressionTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%= "Test PASSED" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ScriptletTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ScriptletTest.jsp new file mode 100644 index 0000000000..4bbe33117b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalse/ScriptletTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% out.println("Test PASSED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/DeclarationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/DeclarationTest.jspx new file mode 100644 index 0000000000..1aa32c08eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/DeclarationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ExpressionTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ExpressionTest.jspx new file mode 100644 index 0000000000..bfedd56b31 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ExpressionTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ScriptletTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ScriptletTest.jspx new file mode 100644 index 0000000000..1139b8200c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrfalsex/ScriptletTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/AttributeExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/AttributeExpressionTest.jsp new file mode 100644 index 0000000000..cb8e17a2af --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/AttributeExpressionTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/scr" prefix="scr" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/DeclarationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/DeclarationTest.jsp new file mode 100644 index 0000000000..69ff4eacb2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/DeclarationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%! int i = 0; %> +Test PASSED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ExpressionTest.jsp new file mode 100644 index 0000000000..e537060724 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ExpressionTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%= "Test PASSED" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ScriptletTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ScriptletTest.jsp new file mode 100644 index 0000000000..4bbe33117b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtrue/ScriptletTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% out.println("Test PASSED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/AttributeExpressionTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/AttributeExpressionTest.jspx new file mode 100644 index 0000000000..6601061311 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/AttributeExpressionTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/DeclarationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/DeclarationTest.jspx new file mode 100644 index 0000000000..1aa32c08eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/DeclarationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ExpressionTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ExpressionTest.jspx new file mode 100644 index 0000000000..bfedd56b31 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ExpressionTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ScriptletTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ScriptletTest.jspx new file mode 100644 index 0000000000..1139b8200c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrtruex/ScriptletTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/DeclarationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/DeclarationTest.jsp new file mode 100644 index 0000000000..69ff4eacb2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/DeclarationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%! int i = 0; %> +Test PASSED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ExpressionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ExpressionTest.jsp new file mode 100644 index 0000000000..e537060724 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ExpressionTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%= "Test PASSED" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ScriptletTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ScriptletTest.jsp new file mode 100644 index 0000000000..4bbe33117b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspec/ScriptletTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% out.println("Test PASSED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/DeclarationTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/DeclarationTest.jspx new file mode 100644 index 0000000000..1aa32c08eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/DeclarationTest.jspx @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ExpressionTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ExpressionTest.jspx new file mode 100644 index 0000000000..bfedd56b31 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ExpressionTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ScriptletTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ScriptletTest.jspx new file mode 100644 index 0000000000..1139b8200c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/scripting/scrunspecx/ScriptletTest.jspx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/jsp_config_xml_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/jsp_config_xml_web.xml new file mode 100644 index 0000000000..89979578c7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/jsp_config_xml_web.xml @@ -0,0 +1,38 @@ + + + + + JspConfigurationXml + + 5 + + + + /unspec/* + + + /xmlfalse/* + false + + + /xmltrue/* + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/unspec/NonXmlTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/unspec/NonXmlTest.jsp new file mode 100644 index 0000000000..e6b161d1ec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/unspec/NonXmlTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test PASSED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmlfalse/NonXmlTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmlfalse/NonXmlTest.jsp new file mode 100644 index 0000000000..e6b161d1ec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmlfalse/NonXmlTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test PASSED diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmltrue/XmlJspTest.xsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmltrue/XmlJspTest.xsp new file mode 100644 index 0000000000..e28f329335 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/configuration/xml/xmltrue/XmlJspTest.xsp @@ -0,0 +1,23 @@ + + + + + + Test PASSED]]> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDuplicatedAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDuplicatedAttributeTest.jsp new file mode 100644 index 0000000000..8adb804f37 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDuplicatedAttributeTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> +<%-- + a translation-time error must occur of the the jsp:attribute + action is used to specify an attribute when that attribute already + exists as an xml attribute +--%> + + + Test PASSED + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest1.jsp new file mode 100644 index 0000000000..e3bcddb035 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest1.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + value + + + + + + value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest2.jsp new file mode 100644 index 0000000000..d4c385e55d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeDynamicTest2.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%= "value" %> + + + + + + <%= "value" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeElementInteractionTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeElementInteractionTest.jspx new file mode 100644 index 0000000000..55af3de74b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeElementInteractionTest.jspx @@ -0,0 +1,29 @@ + + + + + + + + + passed + + Test PASSED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeEmptyBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeEmptyBodyTest.jsp new file mode 100644 index 0000000000..76adb87607 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeEmptyBodyTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest1.jsp new file mode 100644 index 0000000000..dca59f7547 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest1.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%= "fragment body" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest2.jsp new file mode 100644 index 0000000000..36db499f66 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest2.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%! String t = "fragment body"; %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest3.jsp new file mode 100644 index 0000000000..45838aa8bc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest3.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <% String t = "fragment body"; %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest4.jsp new file mode 100644 index 0000000000..433ad42f60 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest4.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%= "fragment body" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest5.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest5.jsp new file mode 100644 index 0000000000..b6b5d30dc9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest5.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%! String t = "fragment body"; %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest6.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest6.jsp new file mode 100644 index 0000000000..86960fb833 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentNonScrBodyTest6.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <% String t = "fragment body"; %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentTest.jsp new file mode 100644 index 0000000000..28ace30363 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeFragmentTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + jspfragment body + + + + + + jspfragment body + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNameReqAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNameReqAttributeTest.jsp new file mode 100644 index 0000000000..4d11114055 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNameReqAttributeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + somevalue + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNoAttributeFoundTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNoAttributeFoundTest.jsp new file mode 100644 index 0000000000..72092833d1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeNoAttributeFoundTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest1.jsp new file mode 100644 index 0000000000..ec4103ccae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest1.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + +<%-- Matching QName --%> + + ok + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest2.jsp new file mode 100644 index 0000000000..ed3f9dff8b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest2.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + +<%-- Matching QName --%> + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest3.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest3.jspx new file mode 100644 index 0000000000..39b20bbc02 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest3.jspx @@ -0,0 +1,25 @@ + + + + + + passed + Test PASSED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest4.jsp new file mode 100644 index 0000000000..628ed202ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeQNameTest4.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + dynamic value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeRtTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeRtTest.jsp new file mode 100644 index 0000000000..e308fa8e99 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeRtTest.jsp @@ -0,0 +1,182 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + <%= new Boolean(true) %> + + + <%= new Character('a') %> + + + <%= new Short((short) 1) %> + + + <%= new Integer(1) %> + + + <%= new Long(1l) %> + + + <%= new Float(1.0f) %> + + + <%= new Double(1.0d) %> + + + <%= "string" %> + + + + + + <%= false %> + + + <%= 'b' %> + + + <%= (short) 2 %> + + + <%= 2 %> + + + <%= 2l %> + + + <%= 2.0f %> + + + <%= 2.0d %> + + + <%= "string" %> + + + + + + false + + + b + + + 3 + + + 3 + + + 3 + + + 3.0 + + + 3.0 + + + <%= "string" %> + + + + + + <%= new Boolean(true) %> + + + <%= new Character('a') %> + + + <%= new Short((short) 1) %> + + + <%= new Integer(1) %> + + + <%= new Long(1l) %> + + + <%= new Float(1.0f) %> + + + <%= new Double(1.0d) %> + + + <%= "string" %> + + + + + + <%= false %> + + + <%= 'b' %> + + + <%= (short) 2 %> + + + <%= 2 %> + + + <%= 2l %> + + + <%= 2.0f %> + + + <%= 2.0d %> + + + <%= "string" %> + + + + + + false + + + b + + + 3 + + + 3 + + + 3 + + + 3.0 + + + 3.0 + + + <%= "string" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeTrimTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeTrimTest.jsp new file mode 100644 index 0000000000..7f5ca67ff9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeTrimTest.jsp @@ -0,0 +1,57 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + +<% + pageContext.setAttribute("trimString", " not trimmed "); +%> + + + not trimmed + + + + + trimmed + + + + + + trimmed + + + +<%-- + Trimming should not occur for runtime values no matter the value of + the trim attribute. +--%> + + + ${trimString} + + + + ${trimString} + + + + ${trimString} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest1.jsp new file mode 100644 index 0000000000..b9ab216496 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest1.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + The use of jsp:attribute outside of being nested + within a standard or custom action will result in + a translation-time error +--%> + + + attribute body + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest2.jspx new file mode 100644 index 0000000000..0503653b5b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest2.jspx @@ -0,0 +1,29 @@ + + + + + + + + myAttrValue + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest3.jsp new file mode 100644 index 0000000000..fe680879e6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/JspAttributeUsageContextTest3.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%@ taglib uri="http://java.sun.com/tck/jsp/attribute" prefix="attr" %> + + + + + dynamic + + + value + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/WEB-INF/attribute.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/WEB-INF/attribute.tld new file mode 100644 index 0000000000..739725060f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/WEB-INF/attribute.tld @@ -0,0 +1,156 @@ + + + + + 1.0 + attribute + + classic + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.ClassicAttributeTestTag + JSP + + fragment + true + + true + + + simple + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.SimpleAttributeTestTag + scriptless + + fragment + true + + true + + + dynamic + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.DynamicTag + JSP + true + + + attribute + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.AttributeTag + JSP + + expected + true + + + attribute + true + true + + + + ctype + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.ClassicTypeTag + JSP + + boolean + true + java.lang.Boolean + + + character + true + java.lang.Character + + + short + true + java.lang.Short + + + integer + true + java.lang.Integer + + + long + true + java.lang.Long + + + float + true + java.lang.Float + + + double + true + java.lang.Double + + + string + true + java.lang.String + + + + stype + com.sun.ts.tests.jsp.spec.core_syntax.actions.attribute.SimpleTypeTag + scriptless + + boolean + true + java.lang.Boolean + + + character + true + java.lang.Character + + + short + true + java.lang.Short + + + integer + true + java.lang.Integer + + + long + true + java.lang.Long + + + float + true + java.lang.Float + + + double + true + java.lang.Double + + + string + true + java.lang.String + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/jsp_core_act_attribute_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/jsp_core_act_attribute_web.xml new file mode 100644 index 0000000000..750fe30a46 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/jsp_core_act_attribute_web.xml @@ -0,0 +1,31 @@ + + + + + JspCorSynActAttribute + + 5 + + + + http://java.sun.com/tck/jsp/attribute + /WEB-INF/attribute.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyEmptyBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyEmptyBodyTest.jsp new file mode 100644 index 0000000000..6c4e9e111a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyEmptyBodyTest.jsp @@ -0,0 +1,58 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> + +<%-- + If one or more jsp:attribute elements appear in the body + of an action, and there is no jsp:body element appears, it + is the equivalent of having an empty body +--%> + + + value1 + value2 + + + + value1 + + +<%-- + Any empty body can also be provided by jsp:body + by the production and +--%> + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyTest.jsp new file mode 100644 index 0000000000..6bb114df23 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyTest.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> + +<%-- + Impl note: standard actions that can accept bodies will be tested + in the test areas for those actions. We'll only test custom and + standard actions here +--%> + + + testpassed + + + + testpassed + + + + value1 + testpassed + + + + value1 + testpassed + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest1.jsp new file mode 100644 index 0000000000..d24c6369fa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest1.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + jsp:body must appear as a child of an action that accepts + a body. +--%> + +bodycontent diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest2.jsp new file mode 100644 index 0000000000..c40fd360cd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest2.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> +<%-- + jsp:body cannot be used to provide bodies to actions that do + not accept bodies +--%> + + + bodycontent + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest3.jsp new file mode 100644 index 0000000000..f9a53b6186 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest3.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> +<%-- + jsp:body cannot be used to provide bodies to actions that do + not accept bodies +--%> + + + bodycontent + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest4.jsp new file mode 100644 index 0000000000..1234de619b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest4.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> + +<%-- + jsp:body cannot be a child of jsp:body +--%> + + + + bodycontent + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest5.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest5.jsp new file mode 100644 index 0000000000..a3015d7f21 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/JspBodyUsageContextTest5.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/body" prefix="body" %> +<%-- + jsp:body cannot be a child of jsp:attribute +--%> + + + + bodycontent + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/WEB-INF/body.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/WEB-INF/body.tld new file mode 100644 index 0000000000..30b5997d42 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/WEB-INF/body.tld @@ -0,0 +1,60 @@ + + + + + 1.0 + body + + classic + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.ClassicBodyTag + JSP + true + + + simple + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.SimpleBodyTag + scriptless + true + + + clnobody + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.ClassicNoBodyTag + empty + + + smnobody + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.SimpleNoBodyTag + empty + + + cemptybody + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.ClassicEmptyBodyTag + JSP + true + + + semptybody + com.sun.ts.tests.jsp.spec.core_syntax.actions.body.SimpleEmptyBodyTag + scriptless + true + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/jsp_core_act_body_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/jsp_core_act_body_web.xml new file mode 100644 index 0000000000..5934a211be --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/body/jsp_core_act_body_web.xml @@ -0,0 +1,31 @@ + + + + + JspCorSynActBody + + 5 + + + + http://java.sun.com/tck/jsp/body + /WEB-INF/body.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest1.jsp new file mode 100644 index 0000000000..9052b17122 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest1.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" import="java.io.IOException" %> + + public void displayTestStatus(JspWriter out) throws IOException { + out.print("Test PASSED"); + } + +<% + displayTestStatus(out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest2.jspx new file mode 100644 index 0000000000..e6d25eb1de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest2.jspx @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest3.jsp new file mode 100644 index 0000000000..ca1099e7ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest4.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest4.jspx new file mode 100644 index 0000000000..8692a3db9c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/JspDeclarationUsageContextTest4.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag1.tag new file mode 100644 index 0000000000..0c81224f48 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag1.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="java.io.IOException" %> + + public void displayTestStatus(JspWriter out) throws IOException { + out.print("Test PASSED"); + } + +<% + displayTestStatus(out); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag2.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag2.tagx new file mode 100644 index 0000000000..e2b530050a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/WEB-INF/tags/JspDeclarationTag2.tagx @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/jsp_core_act_decl_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/jsp_core_act_decl_web.xml new file mode 100644 index 0000000000..0a7dc5fb9a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/jsp_core_act_decl_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActDecl + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidApplicationScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidApplicationScopeTest.jsp new file mode 100644 index 0000000000..81211603df --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidApplicationScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidPageScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidPageScopeTest.jsp new file mode 100644 index 0000000000..adb7702731 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidPageScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidRequestScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidRequestScopeTest.jsp new file mode 100644 index 0000000000..a85d299ed4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidRequestScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidScopeTest.jsp new file mode 100644 index 0000000000..9cecefa132 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidSessionScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidSessionScopeTest.jsp new file mode 100644 index 0000000000..22da94e4e0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyInvalidSessionScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyJspAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyJspAttributeTest.jsp new file mode 100644 index 0000000000..26b8d635f6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyJspAttributeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Body Content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNoVarVarReaderScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNoVarVarReaderScopeTest.jsp new file mode 100644 index 0000000000..8c2d50058d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNoVarVarReaderScopeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest1.jsp new file mode 100644 index 0000000000..9c9be4352e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest1.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest2.jsp new file mode 100644 index 0000000000..29bef9cee6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyNonEmptyBodyTest2.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyScopeTest.jsp new file mode 100644 index 0000000000..3f5694487e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyScopeTest.jsp @@ -0,0 +1,66 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.Reader"%> +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Body Content + + +<% + final int[] scopes = { + PageContext.REQUEST_SCOPE, + PageContext.SESSION_SCOPE, + PageContext.APPLICATION_SCOPE + }; + + final String[] attrNames = { + "requestVar", "sessionVar", "applicationVar" + }; + + for (int i = 0; i < scopes.length; i++) { + Object o = pageContext.getAttribute(attrNames[i], scopes[i]); + if (o != null) { + if (o instanceof Reader) { + Reader r = (Reader) o; + StringBuffer sb = new StringBuffer(); + for (int read = r.read(); read != -1; read = r.read()) { + sb.append((char) read); + } + o = sb.toString(); + } + + if (((String) o).trim().equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Attribute found in the " + + JspTestUtil.getScopeName(scopes[i]) + ", but the value" + + " of the attribute was not 'Body Content'. Received" + + ": " + o); + } + } else { + out.println("Test FAILED. Unable to find attribute '" + + attrNames[i] + "' in the " + JspTestUtil.getScopeName(scopes[i]) + + " scope."); + } + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest1.jsp new file mode 100644 index 0000000000..e747bda63f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest1.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest2.jspx new file mode 100644 index 0000000000..4444e1c699 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest2.jspx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest3.jsp new file mode 100644 index 0000000000..e9bf105010 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyUsageContextTest3.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> + + + ${testPassed} + + + + ${testPassed} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarReaderTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarReaderTest.jsp new file mode 100644 index 0000000000..4dc4b39f8b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarReaderTest.jsp @@ -0,0 +1,63 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" import="java.io.Reader" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Body Content + + +<% + Object export = pageContext.getAttribute("reqVar", PageContext.REQUEST_SCOPE); + if (export != null) { + if (export instanceof Reader) { + StringBuffer sb = new StringBuffer(); + Reader reader = (Reader) export; + for (int read = reader.read(); read != -1; read = reader.read()) { + sb.append((char) read); + } + String result = sb.toString().trim(); + if (result.equals("Body Content")) { + reader.reset(); + sb = new StringBuffer(); + for (int read = reader.read(); read != -1; read = reader.read()) { + sb.append((char) read); + } + result = sb.toString().trim(); + if (result.equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. It seems the exported reader is" + + " not resettable. Expected content of reader to be" + + " 'Body Content' after the reset. Received: " + + result); + } + } else { + out.println("Test FAILED. Expected result of body evaluation to" + + " be 'Body Content'. Received: " + result); + } + } else { + out.println("Test FAILED. The type of the exported variable was" + + " not java.lang.String. Received: " + export.getClass().getName()); + } + } else { + out.println("Test FAILED. Variable 'reqVar' was not exported to the" + + " request scope by the jsp:doBody action."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarTest.jsp new file mode 100644 index 0000000000..8e61db9794 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarTest.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Body Content + + +<% + Object export = pageContext.getAttribute("reqVar", PageContext.REQUEST_SCOPE); + if (export != null) { + if (export instanceof java.lang.String) { + if (((String) export).trim().equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected result of body evaluation to" + + " be 'Body Content'. Received: " + ((String) export).trim()); + } + } else { + out.println("Test FAILED. The type of the exported variable was" + + " not java.lang.String. Received: " + export.getClass().getName()); + } + } else { + out.println("Test FAILED. Variable 'reqVar' was not exported to the" + + " request scope by the jsp:doBody action."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarVarReaderTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarVarReaderTest.jsp new file mode 100644 index 0000000000..9be0ef7b48 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/JspDoBodyVarVarReaderTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyAttributeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyAttributeTag.tag new file mode 100644 index 0000000000..4838701f8f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyAttributeTag.tag @@ -0,0 +1,71 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + pageVar + page + + + + pageVarReader + page + + +<% + Object obj1 = jspContext.getAttribute("pageVar"); + Object obj2 = jspContext.getAttribute("pageVarReader"); + + if (obj1 != null) { + if (obj1 instanceof String) { + if (((String) obj1).trim().equals("Body Content")) { + if (obj2 != null) { + if (obj2 instanceof java.io.Reader) { + StringBuffer sb = new StringBuffer(); + java.io.Reader reader = (java.io.Reader) obj2; + for (int read = reader.read(); read != -1; read = reader.read()) { + sb.append((char) read); + } + obj2 = sb.toString().trim(); + if (obj2.equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected content of reader" + + " to be 'Body Content'. Received: " + obj2); + } + } else { + out.println("Test FAILED. a java.io.Reader object was" + + " not exported when varReader was specified. Actual" + + " class type: " + obj2.getClass().getName()); + } + } else { + out.println("Test FAILED. No object exported when varReader" + + " was specified."); + } + } else { + out.println("Test FAILED. Expected exported result to be " + + "'Body Content'. Received: " + ((String) obj1).trim()); + } + } else { + out.println("Test FAILED. Expected exported object for var to be" + + " of type java.lang.String. Received: " + obj1.getClass().getName()); + } + } else { + out.println("Test FAILED. No object exported when 'var' attribute was" + + " specified."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidApplicationScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidApplicationScopeTag.tag new file mode 100644 index 0000000000..e28716c3b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidApplicationScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidPageScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidPageScopeTag.tag new file mode 100644 index 0000000000..f1fc63e549 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidPageScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidRequestScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidRequestScopeTag.tag new file mode 100644 index 0000000000..6218709a4e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidRequestScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidScopeTag.tag new file mode 100644 index 0000000000..87444aaa83 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidSessionScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidSessionScopeTag.tag new file mode 100644 index 0000000000..930729322c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyInvalidSessionScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNoVarVarReaderScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNoVarVarReaderScopeTag.tag new file mode 100644 index 0000000000..e4908aa346 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNoVarVarReaderScopeTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag1.tag new file mode 100644 index 0000000000..3e4fa9717f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag1.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + body content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag2.tag new file mode 100644 index 0000000000..500d47df94 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyNonEmptyBodyTag2.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + body content + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyScopeTag.tag new file mode 100644 index 0000000000..5b8d984b6d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyScopeTag.tag @@ -0,0 +1,53 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + + + + + +<% + Object o = jspContext.getAttribute("defaultPage", PageContext.PAGE_SCOPE); + if (o != null) { + if (((String) o).trim().equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The page scoped attribute, 'defaultPage' " + + "was found, but had an incorrect value. Expected 'Body Content'" + + ", received: " + o); + } + } else { + out.println("Test FAILED. Unable to find the page scoped attribute '" + + "defaultPage' in the tag file's page context."); + } + + o = jspContext.getAttribute("pageVar", PageContext.PAGE_SCOPE); + if (o != null) { + if (((String) o).trim().equals("Body Content")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The page scoped attribute, 'pageVar' " + + "was found, but had an incorrect value. Expected 'Body Content'" + + ", received: " + o); + } + } else { + out.println("Test FAILED. Unable to find the page scoped attribute '" + + "pageVar' in the tag file's page context."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagA.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagA.tag new file mode 100644 index 0000000000..d75121df49 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagA.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagB.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagB.tagx new file mode 100644 index 0000000000..75d0f71de8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyUsageContextTagB.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarReaderTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarReaderTag.tag new file mode 100644 index 0000000000..e9e752fdd6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarReaderTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarTag.tag new file mode 100644 index 0000000000..7d7f3c08b4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarVarReaderTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarVarReaderTag.tag new file mode 100644 index 0000000000..61d52fbc7d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/WEB-INF/tags/DoBodyVarVarReaderTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/jsp_core_act_dobody_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/jsp_core_act_dobody_web.xml new file mode 100644 index 0000000000..7ab05127e5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/jsp_core_act_dobody_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActDoBody + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest1.jsp new file mode 100644 index 0000000000..dce3af3a53 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest1.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +body1 +body2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest2.jspx new file mode 100644 index 0000000000..3e8b543edd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest2.jspx @@ -0,0 +1,25 @@ + + + + + + + body1 + body2 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest3.jsp new file mode 100644 index 0000000000..d829766638 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementDynamicAttributeTest3.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest1.jsp new file mode 100644 index 0000000000..5e6401694b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest1.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + value1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest2.jspx new file mode 100644 index 0000000000..70189ce905 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest2.jspx @@ -0,0 +1,27 @@ + + + + + + + + value1 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest3.jsp new file mode 100644 index 0000000000..658085b8de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspAttributeTest3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest1.jsp new file mode 100644 index 0000000000..51862ad163 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest1.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + body1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest2.jspx new file mode 100644 index 0000000000..2890aaea8b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest2.jspx @@ -0,0 +1,26 @@ + + + + + + + + body1 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest3.jsp new file mode 100644 index 0000000000..0515a99826 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementJspBodyTest3.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest1.jsp new file mode 100644 index 0000000000..dafd09c5f6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest1.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + body + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest2.jspx new file mode 100644 index 0000000000..2d48643520 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest2.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest3.jsp new file mode 100644 index 0000000000..4f66055f79 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementNameReqAttributeTest3.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest1.jsp new file mode 100644 index 0000000000..76026459a3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest1.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +body1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest2.jspx new file mode 100644 index 0000000000..78465db13f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest2.jspx @@ -0,0 +1,29 @@ + + + + + + + body1 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest3.jsp new file mode 100644 index 0000000000..ed24f54b9c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/JspElementTest3.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementDynAttrTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementDynAttrTag.tag new file mode 100644 index 0000000000..463a7c5437 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementDynAttrTag.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +body1 +body2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspAttributeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspAttributeTag.tag new file mode 100644 index 0000000000..5c877247e3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspAttributeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + value1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspBodyTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspBodyTag.tag new file mode 100644 index 0000000000..d404e493a8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementJspBodyTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + body1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementTag.tag new file mode 100644 index 0000000000..d6f77c00b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/JspElementTag.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +body1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/NameAttrTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/NameAttrTag.tag new file mode 100644 index 0000000000..6f79799528 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/WEB-INF/tags/NameAttrTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +body1 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/jsp_core_act_element_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/jsp_core_act_element_web.xml new file mode 100644 index 0000000000..e5e74c8561 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/element/jsp_core_act_element_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActElement + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest1.jsp new file mode 100644 index 0000000000..7f673169db --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest1.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +"Test PASSED" diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest2.jspx new file mode 100644 index 0000000000..afe2bd8105 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest2.jspx @@ -0,0 +1,23 @@ + + + + + + "Test PASSED" + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest3.jsp new file mode 100644 index 0000000000..041c5093a4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest4.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest4.jspx new file mode 100644 index 0000000000..1b814e3cf9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/JspExpressionUsageContextTest4.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag1.tag new file mode 100644 index 0000000000..ba9faa42a9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +"Test PASSED" diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag2.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag2.tagx new file mode 100644 index 0000000000..1b7e4fb6f2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/WEB-INF/tags/JspExpressionTag2.tagx @@ -0,0 +1,20 @@ + + + "Test PASSED" + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/jsp_core_act_expr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/jsp_core_act_expr_web.xml new file mode 100644 index 0000000000..9acdf42297 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/jsp_core_act_expr_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActExpr + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest.jsp new file mode 100644 index 0000000000..41e1d310ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest1.jsp new file mode 100644 index 0000000000..c70d7449bc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest1.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page errorPage="flushedBufferForwardTest_error.jsp" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest_error.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest_error.jsp new file mode 100644 index 0000000000..fb071dd37e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/flushedBufferForwardTest_error.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page isErrorPage="true" %> +<%@ page contentType="text/plain" %> + + +<% + if(exception instanceof IllegalStateException) { + out.println("Got IllegalStateException"); + } else { + out.println("IllegalStateException not received"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.html b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.html new file mode 100644 index 0000000000..d96dd3ad63 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.html @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.jsp new file mode 100644 index 0000000000..2c16aa9629 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/forwardcommon.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +forwarded + +<% out.print("This is forwarded file"); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/jsp_coresyntx_act_forward_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/jsp_coresyntx_act_forward_web.xml new file mode 100644 index 0000000000..cbb0f8385e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/jsp_coresyntx_act_forward_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActFwd + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.gf new file mode 100644 index 0000000000..d0cdc1e849 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.jsp new file mode 100644 index 0000000000..072089ec7c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelative.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + /* + Name: positiveForwardCtxRelative.jsp + Description: Use a valid jsp:forward directive + using a context-relative path. + Result: The should be the forwarded page. + + */ + +%> + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.gf new file mode 100644 index 0000000000..d96dd3ad63 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.jsp new file mode 100644 index 0000000000..5434fd0d8f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardCtxRelativeHtml.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveForwardAbshtml.jsp + +<% /** Name : positiveForwardCtxRelativeHtml.jsp + Description :We are testing for forwarding to a html page using + tag. We test if the forwarded static content + got forwarded in the output. Here we use a context-relative path. +**/ %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.gf new file mode 100644 index 0000000000..d0cdc1e849 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.jsp new file mode 100644 index 0000000000..0deabaf0de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelative.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + /* + Name: positiveForwardPageRelative + Description: Use a valid jsp:forward directive + using a page relative path. + Result: The page should result due to forwarding + + */ + +%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.gf new file mode 100644 index 0000000000..d96dd3ad63 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.jsp new file mode 100644 index 0000000000..7c2cb0304a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveForwardPageRelativeHtml.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveForwardRelhtml.jsp + +<% /** Name : positiveForwardPageRelativeHtml.jsp + Description :We are testing for request time Static forwarding using + tag. We test the forwarded static content + got forwarded in the output. Here we use a page-relative path. + Result : +**/ %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.gf new file mode 100644 index 0000000000..d0cdc1e849 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.jsp new file mode 100644 index 0000000000..352e0a0e06 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrCtxRelative.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveRequestAttrAbs + +<% /** Name : positiveRequestAttrCtxRelative + Description : We are testing for request time dynamic inclusion + using tag. We test if we get the forwarded jsp got + parsed at request time and forwarded to the output using a + context-relative path. +**/ %> +<% String test="/forwardcommon"; %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.gf new file mode 100644 index 0000000000..d0cdc1e849 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.gf @@ -0,0 +1,6 @@ + +forwarded + +This is forwarded file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.jsp new file mode 100644 index 0000000000..d7a8897994 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/positiveRequestAttrPageRelative.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveRequestAttrRelative + +<% /** Name : positiveRequestAttrPageRelative + Description : We check if request time attributes work by forwarding + the request using a page-relative path. + Result : we should get the forwarded file without error + **/ %> +<% String test="forwardcommon"; %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest.jsp new file mode 100644 index 0000000000..45bda0a63d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page errorPage="unbufferedWriteForwardTest_error.jsp" %> +<%@ page buffer="none" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest_error.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest_error.jsp new file mode 100644 index 0000000000..6d33932d72 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/unbufferedWriteForwardTest_error.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page isErrorPage="true" %> +<%@ page contentType="text/plain" %> + + +<% + if(exception instanceof IllegalStateException) { + out.println("Got IllegalStateException"); + } else { + out.println("IllegalStateException not received"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/jsp_coresyntx_act_getproperty_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/jsp_coresyntx_act_getproperty_web.xml new file mode 100644 index 0000000000..c78db1660f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/jsp_coresyntx_act_getproperty_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActGetPrpty + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/nullPropertyValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/nullPropertyValueTest.jsp new file mode 100644 index 0000000000..b36b20e6fb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/nullPropertyValueTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page import="com.sun.ts.tests.jsp.spec.core_syntax.actions.getproperty.*" %> + +<% + StringBean sb = new StringBean(); + sb.setName(null); + pageContext.setAttribute("sbb", sb, PageContext.PAGE_SCOPE); +%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.gf new file mode 100644 index 0000000000..f0dd26cd01 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.gf @@ -0,0 +1,9 @@ + +positiveGetProps + + + + +hello + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.jsp new file mode 100644 index 0000000000..03e63dfeee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/positiveGetProps.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveGetProps + +<% /** Name : positiveGetProps + Description : Create a valid useBean tag in the JSP. Access one of its + properties through a getProperty tag. + Result : Should return the value of the property as part of the returned + HTML +**/ %> + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/C.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/C.jsp new file mode 100644 index 0000000000..1c13d3e5fb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/C.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In /C.jsp diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicDynamic_A.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicDynamic_A.jsp new file mode 100644 index 0000000000..0c15f875e2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicDynamic_A.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In dynamicDynamic_A.jsp + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicStatic_A.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicStatic_A.jsp new file mode 100644 index 0000000000..3f7a3ae20d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/dynamicStatic_A.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In dynamicStatic_A.jsp + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/forwardtarget.html b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/forwardtarget.html new file mode 100644 index 0000000000..b75a88d015 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/forwardtarget.html @@ -0,0 +1,6 @@ + +forward target + +This is forwarded html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/C.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/C.jsp new file mode 100644 index 0000000000..a854656365 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/C.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In /include/C.jsp diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/dynamic_B.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/dynamic_B.jsp new file mode 100644 index 0000000000..bcc4ce98de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/dynamic_B.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In /include/dynamic_B.jsp + \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/include2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/include2.jsp new file mode 100644 index 0000000000..af7651d3d2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/include2.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +included2 + +<% out.print("Test PASSED. This is /include/include2.jsp"); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.html b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.html new file mode 100644 index 0000000000..f07e2c4672 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.html @@ -0,0 +1,24 @@ + + + +includeMappedServlet + +This file shoule not be served. The mapped servlet should be included. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.jsp new file mode 100644 index 0000000000..68ec69fe99 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/includeMappedServlet.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- +This jsp is to be included by ../includeMappedServletTest.jsp +--%> +Test PASSED. The mapped jsp file is included. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/static_B.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/static_B.jsp new file mode 100644 index 0000000000..27e79e17c4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/include/static_B.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In /include/static_B.jsp +<%@ include file="C.jsp" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeMappedServletTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeMappedServletTest.jsp new file mode 100644 index 0000000000..a9a59b629a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeMappedServletTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- +the following include action should go to a mapped servlet +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.html b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.html new file mode 100644 index 0000000000..37053f9ce8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.html @@ -0,0 +1,6 @@ + +included + +This is included html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.jsp new file mode 100644 index 0000000000..25f2cea7e9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includecommon.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +included + +<% out.print("This is included file"); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeforward.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeforward.jsp new file mode 100644 index 0000000000..c766019432 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/includeforward.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/jsp_coresyntx_act_include_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/jsp_coresyntx_act_include_web.xml new file mode 100644 index 0000000000..a4f3d8f0f2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/jsp_coresyntx_act_include_web.xml @@ -0,0 +1,40 @@ + + + + + JspCorSynActInc + + includeMappedServlet + /include/includeMappedServlet.jsp + + + includeMappedServlet + /include/includeMappedServlet.html + + + 5 + + + + + /include/* + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.gf new file mode 100644 index 0000000000..f99931e49c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.gf @@ -0,0 +1,13 @@ + + + + + +included + +This is included file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.jsp new file mode 100644 index 0000000000..3cce230300 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelative.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + /* + Name: positiveIncludeCtxRelative + Description: Use a valid jsp:include + Result: The page should be included. + + */ + +%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.gf new file mode 100644 index 0000000000..812185c31b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.gf @@ -0,0 +1,14 @@ + +positiveIncludeCtxRelativeHtml + + + + +included + +This is included html file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.jsp new file mode 100644 index 0000000000..d0127f972d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeCtxRelativeHtml.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveIncludeCtxRelativeHtml + +<% /** Name : positiveIncludeCtxRelativeHtml + Description :We are testing for static inclusion of html page using + tag. We test if we get the included static content + got included in the output. Here we use absolute path from current + context as url. +**/ %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.gf new file mode 100644 index 0000000000..b75a88d015 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.gf @@ -0,0 +1,6 @@ + +forward target + +This is forwarded html file + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.jsp new file mode 100644 index 0000000000..c1a2767182 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludeForward.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +Unexpected from test jsp + +Unexpected 2 from test jsp diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.gf new file mode 100644 index 0000000000..f99931e49c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.gf @@ -0,0 +1,13 @@ + + + + + +included + +This is included file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.jsp new file mode 100644 index 0000000000..8c1b022487 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + /* + Name: positiveIncludePageRelative + Description: Use a valid jsp:include directive + Result: The page should be included. + + */ + +%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.gf new file mode 100644 index 0000000000..755cff18a9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.gf @@ -0,0 +1,13 @@ + + + + + +included2 + +Test PASSED. This is /include/include2.jsp + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.jsp new file mode 100644 index 0000000000..6a283f02ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelative2.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + /* + Name: positiveIncludePageRelative2 + Description: Use a valid jsp:include directive + Result: The page include/include2.jsp should be included. + + */ + +%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.gf new file mode 100644 index 0000000000..ffae7f7e06 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.gf @@ -0,0 +1,14 @@ + +positiveIncludePageRelativeHtml.jsp + + + + +included + +This is included html file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.jsp new file mode 100644 index 0000000000..d982b61e9d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveIncludePageRelativeHtml.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveIncludePageRelativeHtml + +<% /** Name : positiveIncludePageRelativeHtml + Description :We are testing for request time Static inclusion using + tag. We test if we get the included static content + got included in the output.here we use relative path from current + context as url. + Result : +**/ %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.gf new file mode 100644 index 0000000000..98455e439a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.gf @@ -0,0 +1,15 @@ + +positiveRequestAttrCtxRelative + + + + + +included + +This is included file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.jsp new file mode 100644 index 0000000000..4f8e8c887b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrCtxRelative.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveRequestAttrCtxRelative + +<% /** Name : positiveRequestAttrCtxRelative + Description : We are testing for request time dynamic inclusion + using tag. We test if we get the included jsp got + parsed at request time and included to the output. we use absolute + path from contex-root root as url +**/ %> +<% String test="/includecommon"; %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.gf new file mode 100644 index 0000000000..8ef1225d79 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.gf @@ -0,0 +1,14 @@ + +positiveRequestAttrPageRelative + + + + +included + +This is included file + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.jsp new file mode 100644 index 0000000000..3054aa62af --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/positiveRequestAttrPageRelative.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveRequestAttrPageRelative + +<% /** Name : positiveRequestAttrPageRelative + Description : we check if request time attributes work with include + and we use them in double quoted expression + Result : we should get the included file without error + **/ %> +<% String test="includecommon"; %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticDynamic_A.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticDynamic_A.jsp new file mode 100644 index 0000000000..9a494c1561 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticDynamic_A.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In staticDynamic_A.jsp +<%@ include file="include/dynamic_B.jsp" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticStatic_A.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticStatic_A.jsp new file mode 100644 index 0000000000..69fe65328f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/include/staticStatic_A.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +In staticStatic_A.jsp +<%@ include file="include/static_B.jsp" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeFragmentReqAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeFragmentReqAttributeTest.jsp new file mode 100644 index 0000000000..dd38103198 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeFragmentReqAttributeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidApplicationScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidApplicationScopeTest.jsp new file mode 100644 index 0000000000..18b7e26277 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidApplicationScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidPageScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidPageScopeTest.jsp new file mode 100644 index 0000000000..a204d436c7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidPageScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidRequestScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidRequestScopeTest.jsp new file mode 100644 index 0000000000..35f09644a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidRequestScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidScopeTest.jsp new file mode 100644 index 0000000000..af9040189b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidSessionScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidSessionScopeTest.jsp new file mode 100644 index 0000000000..236590eabd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeInvalidSessionScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeJspAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeJspAttributeTest.jsp new file mode 100644 index 0000000000..4edb148fa5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeJspAttributeTest.jsp @@ -0,0 +1,60 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.io.Reader"%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + + +<% + Object o = pageContext.getAttribute("requestVar", PageContext.REQUEST_SCOPE); + if (o != null) { + if (o.equals("attribute value")) { + o = pageContext.getAttribute("requestVarReader", PageContext.REQUEST_SCOPE); + if (o != null) { + Reader r = (Reader) o; + StringBuffer sb = new StringBuffer(); + for (int read = r.read(); read != -1; read = r.read()) { + sb.append((char) read); + } + if (sb.toString().equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The exported requestVarReader contained " + + "incorrrect data. Expected 'attribute value', received " + + o); + } + } else { + out.println("Test FAILED. Unable to find the requestVarReader attribute"); + } + } else { + out.println("Test FAILED. Expected the exported variable requestVar was" + + " incorrect. Expected the value to be 'attribute value', received: " + + o); + } + } else { + out.println("Test FAILED. Unable to find the requestVar attribute"); + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNoVarVarReaderScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNoVarVarReaderScopeTest.jsp new file mode 100644 index 0000000000..6198dd6c44 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNoVarVarReaderScopeTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNonEmptyBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNonEmptyBodyTest.jsp new file mode 100644 index 0000000000..ae449175a0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNonEmptyBodyTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNotInSessionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNotInSessionTest.jsp new file mode 100644 index 0000000000..8404200aec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeNotInSessionTest.jsp @@ -0,0 +1,46 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" session="false" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<% try { %> + + + + attribute value + + + +Test FAILED. This page doesn't participate in a session. The +tag called by this page set an attribute in the SESSION scope, +but no IllegalStateException was thrown. + +<% } catch (Throwable t) { + if (t instanceof IllegalStateException) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. An Exception was thrown when the calling" + + " page doesn't participate in a session and a tag called by the" + + " page attempts to set an attribute in the session scope.\n" + + "Expected an instance of IllegalStateException but received" + + " " + t.getClass().getName()); + } + } +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeScopeTest.jsp new file mode 100644 index 0000000000..fda1050d8b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeScopeTest.jsp @@ -0,0 +1,68 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + java.io.Reader"%> +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + + +<% + final int[] scopes = { + PageContext.REQUEST_SCOPE, + PageContext.SESSION_SCOPE, + PageContext.APPLICATION_SCOPE + }; + + final String[] attrNames = { + "requestVar", "sessionVar", "applicationVar" + }; + + for (int i = 0; i < scopes.length; i++) { + Object o = pageContext.getAttribute(attrNames[i], scopes[i]); + if (o != null) { + if (o instanceof Reader) { + Reader r = (Reader) o; + StringBuffer sb = new StringBuffer(); + for (int read = r.read(); read != -1; read = r.read()) { + sb.append((char) read); + } + o = sb.toString(); + } + + if (o.equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Attribute found in the " + + JspTestUtil.getScopeName(scopes[i]) + ", but the value" + + " of the attribute was not 'attribute value'. Received" + + ": " + o); + } + } else { + out.println("Test FAILED. Unable to find attribute '" + + attrNames[i] + "' in the " + JspTestUtil.getScopeName(scopes[i]) + + " scope."); + } + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest1.jsp new file mode 100644 index 0000000000..1d22c8abef --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest1.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + jsp:invoke not in a tag file is invalid and thus + a translation error must occur +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest2.jspx new file mode 100644 index 0000000000..a71d1ddc73 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest2.jspx @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest3.jsp new file mode 100644 index 0000000000..b22e4c3112 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeUsageContextTest3.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + Test PASSED + + + + + + Test PASSED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarReaderTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarReaderTest.jsp new file mode 100644 index 0000000000..5bcffa8285 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarReaderTest.jsp @@ -0,0 +1,65 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" import="java.io.Reader,java.io.IOException"%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + + +<% + Object o = pageContext.getAttribute("pageVar", PageContext.REQUEST_SCOPE); + if (o != null) { + if (o instanceof java.io.Reader) { + Reader r = (Reader) o; + StringBuffer sb = new StringBuffer(); + for (int i = r.read(); i != -1; i = r.read()) { + sb.append((char) i); + } + if (sb.toString().equals("attribute value")) { + r.reset(); + sb = new StringBuffer(); + for (int i = r.read(); i != -1; i = r.read()) { + sb.append((char) i); + } + if (sb.toString().equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the result from reading the" + + " stream after resetting it to be 'attribute value'. Received: " + + sb.toString()); + } + } else { + out.println("Test FAILED. Expected the result from reading the " + + " stream to be 'attribute value'. Received: " + + sb.toString()); + } + } else { + out.println("Test FAILED. The exported result of jsp:invoke" + + " using the 'var' attribute of the jsp:invoke action was not" + + " of type 'java.lang.String'. Received: " + o.getClass().getName()); + } + } else { + out.println("Test FAILED. Unabled to find the page scoped variable, " + + "'pageVar', that should have been exported by the jsp:invoke action."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarTest.jsp new file mode 100644 index 0000000000..7ea65acfc9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarTest.jsp @@ -0,0 +1,49 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + + +<% + Object o = pageContext.getAttribute("pageVar", PageContext.REQUEST_SCOPE); + if (o != null) { + if (o instanceof java.lang.String) { + if (o.equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The exported result of jsp:invoke" + + " was not the expected value of 'attribute value'. " + + "Received: " + o); + } + } else { + out.println("Test FAILED. The exported result of jsp:invoke" + + " using the 'var' attribute of the jsp:invoke action was not" + + " of type 'java.lang.String'. Received: " + o.getClass().getName()); + } + } else { + out.println("Test FAILED. Unabled to find the page scoped variable, " + + "'pageVar', that should have been exported by the jsp:invoke action."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarVarReaderTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarVarReaderTest.jsp new file mode 100644 index 0000000000..ed639f9ddb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/JspInvokeVarVarReaderTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + + attribute value + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/FragmentReqAttributeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/FragmentReqAttributeTag.tag new file mode 100644 index 0000000000..1d07923d45 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/FragmentReqAttributeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidApplicationScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidApplicationScopeTag.tag new file mode 100644 index 0000000000..7f1a5f375b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidApplicationScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidPageScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidPageScopeTag.tag new file mode 100644 index 0000000000..0d9dd4f7ea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidPageScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidRequestScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidRequestScopeTag.tag new file mode 100644 index 0000000000..93f8e361e8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidRequestScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidScopeTag.tag new file mode 100644 index 0000000000..037f0ba8c3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidSessionScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidSessionScopeTag.tag new file mode 100644 index 0000000000..7d22a91d6f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/InvalidSessionScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspAttributeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspAttributeTag.tag new file mode 100644 index 0000000000..229ccba5ad --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspAttributeTag.tag @@ -0,0 +1,43 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + + + attr1 + + + requestVar + + + request + + + + + + attr1 + + + requestVarReader + + + request + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3a.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3a.tag new file mode 100644 index 0000000000..678ae535ea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3a.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3b.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3b.tagx new file mode 100644 index 0000000000..cb9856cbf6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeUsageContextTag3b.tagx @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarReaderTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarReaderTag.tag new file mode 100644 index 0000000000..188a98d505 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarReaderTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarTag.tag new file mode 100644 index 0000000000..d8bcece744 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/JspInvokeVarTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NoVarVarReaderScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NoVarVarReaderScopeTag.tag new file mode 100644 index 0000000000..570e3d86fd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NoVarVarReaderScopeTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NonEmptyBodyTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NonEmptyBodyTag.tag new file mode 100644 index 0000000000..483c999d8f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NonEmptyBodyTag.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + + body + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NotInSessionTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NotInSessionTag.tag new file mode 100644 index 0000000000..7d40b2ca7f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/NotInSessionTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/ScopeTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/ScopeTag.tag new file mode 100644 index 0000000000..fe5de6a3b9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/ScopeTag.tag @@ -0,0 +1,55 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + + + + + + +<% + Object o = jspContext.getAttribute("defaultPage", PageContext.PAGE_SCOPE); + if (o != null) { + if (o.equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The page scoped attribute, 'defaultPage' " + + "was found, but had an incorrect value. Expected 'attribute value'" + + ", received: " + o); + } + } else { + out.println("Test FAILED. Unable to find the page scoped attribute '" + + "defaultPage' in the tag file's page context."); + } + + o = jspContext.getAttribute("pageVar", PageContext.PAGE_SCOPE); + if (o != null) { + if (o.equals("attribute value")) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The page scoped attribute, 'pageVar' " + + "was found, but had an incorrect value. Expected 'attribute value'" + + ", received: " + o); + } + } else { + out.println("Test FAILED. Unable to find the page scoped attribute '" + + "pageVar' in the tag file's page context."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/VarVarReaderTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/VarVarReaderTag.tag new file mode 100644 index 0000000000..15ec7b31e8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/VarVarReaderTag.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" fragment="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/jspFragmentNullTest.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/jspFragmentNullTest.tag new file mode 100644 index 0000000000..3d00662ddf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/WEB-INF/tags/jspFragmentNullTest.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="frag" fragment="true" %> +BEGINEND diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jspFragmentNullTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jspFragmentNullTest.jsp new file mode 100644 index 0000000000..201000b7b8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jspFragmentNullTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jsp_core_act_invoke_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jsp_core_act_invoke_web.xml new file mode 100644 index 0000000000..d200d00b6b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/jsp_core_act_invoke_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActInvoke + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest1.jspx new file mode 100644 index 0000000000..e372cc3bab --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest1.jspx @@ -0,0 +1,25 @@ + + + + + + + Test FAILED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest2.jsp new file mode 100644 index 0000000000..da3ff72c6f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputBodyTest2.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputJspRootOmitDeclDefaultTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputJspRootOmitDeclDefaultTest.jspx new file mode 100644 index 0000000000..35d7d58360 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputJspRootOmitDeclDefaultTest.jspx @@ -0,0 +1,24 @@ + + + + + + + body + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTagTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTagTest.jsp new file mode 100644 index 0000000000..31cc488bbc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTagTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTest.jspx new file mode 100644 index 0000000000..0d7337f75a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclDefaultTest.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest1.jspx new file mode 100644 index 0000000000..a8037e1d10 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest1.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest2.jspx new file mode 100644 index 0000000000..d9137197e7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest2.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest3.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest3.jspx new file mode 100644 index 0000000000..0155a8cda7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest3.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest4.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest4.jspx new file mode 100644 index 0000000000..225fa6254a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest4.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest5.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest5.jsp new file mode 100644 index 0000000000..d2a90f9c94 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest5.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest6.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest6.jsp new file mode 100644 index 0000000000..10e1fb4ef0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest6.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest7.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest7.jsp new file mode 100644 index 0000000000..c7d6a63e5e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest7.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest8.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest8.jsp new file mode 100644 index 0000000000..bafd6b8f8e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputOmitDeclValidValuesTest8.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest1.jsp new file mode 100644 index 0000000000..81e94b6843 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest1.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest2.jsp new file mode 100644 index 0000000000..71fe002c43 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest2.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest3.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest3.jspx new file mode 100644 index 0000000000..0155a8cda7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest3.jspx @@ -0,0 +1,23 @@ + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest4.jsp new file mode 100644 index 0000000000..c6d1ca2264 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/JspOutputUsageContextTest4.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputBodyTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputBodyTag.tagx new file mode 100644 index 0000000000..2b22eff275 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputBodyTag.tagx @@ -0,0 +1,24 @@ + + + + + + Test FAILED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputDefaultTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputDefaultTag.tagx new file mode 100644 index 0000000000..4d39771f7e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputDefaultTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclFalseTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclFalseTag.tagx new file mode 100644 index 0000000000..c28ada60ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclFalseTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclNoTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclNoTag.tagx new file mode 100644 index 0000000000..676a6cc8f8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclNoTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclTrueTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclTrueTag.tagx new file mode 100644 index 0000000000..b3f05a89e6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclTrueTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclYesTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclYesTag.tagx new file mode 100644 index 0000000000..89a61332b9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputOmitDeclYesTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageTag.tag new file mode 100644 index 0000000000..1706e9dd93 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageXMLTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageXMLTag.tagx new file mode 100644 index 0000000000..c28ada60ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/WEB-INF/tags/JspOutputUsageXMLTag.tagx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemPublicTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemPublicTest.jspx new file mode 100644 index 0000000000..88bb3f607c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemPublicTest.jspx @@ -0,0 +1,27 @@ + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemTest.jspx new file mode 100644 index 0000000000..d6629367ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/doctypeSystemTest.jspx @@ -0,0 +1,27 @@ + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/jsp_core_act_output_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/jsp_core_act_output_web.xml new file mode 100644 index 0000000000..75c88ba599 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/jsp_core_act_output_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActOutput + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypePublicNoSystemTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypePublicNoSystemTest.jspx new file mode 100644 index 0000000000..ba155bfb11 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypePublicNoSystemTest.jspx @@ -0,0 +1,26 @@ + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeRootNoSystem.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeRootNoSystem.jspx new file mode 100644 index 0000000000..556292d5b0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeRootNoSystem.jspx @@ -0,0 +1,26 @@ + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeSystemNoRoot.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeSystemNoRoot.jspx new file mode 100644 index 0000000000..9fbcce11f4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeDoctypeSystemNoRoot.jspx @@ -0,0 +1,26 @@ + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeMultipleDoctypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeMultipleDoctypeTest.jspx new file mode 100644 index 0000000000..44f7e429e4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/negativeMultipleDoctypeTest.jspx @@ -0,0 +1,30 @@ + + + + + + + +

          Example XHTML Document

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/simpleDefaultTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/simpleDefaultTest.jspx new file mode 100644 index 0000000000..0cd68d33e2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/output/simpleDefaultTest.jspx @@ -0,0 +1,20 @@ + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamAttributesTest.jsp new file mode 100644 index 0000000000..b64f09135f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamAttributesTest.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Validate: + - The 'value' attributes acceptance of RT/EL expressions. + - The ablity to provide values for the 'name' and 'value' + - attributes via jsp:attribute actions +--%> + + + + + + + + + + param1 + + + + + value2 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamForwardTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamForwardTest.jsp new file mode 100644 index 0000000000..406f8cafc6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamForwardTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + validate the interaction of jsp:forward with nested jsp:param elements. +--%> + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamIncludeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamIncludeTest.jsp new file mode 100644 index 0000000000..990eb3e44c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamIncludeTest.jsp @@ -0,0 +1,55 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil"%> + +<%@ page contentType="text/plain" %> + +<%-- + validate the interaction of jsp:include with nested jsp:param elements. +--%> + + + + + + +<%-- Validate that param1 value2 and param2 are no longer present in the request --%> +<% + String[] param1Values = request.getParameterValues("param1"); + String[] param2Values = request.getParameterValues("param2"); + + if (param1Values.length == 1) { + if (param2Values == null) { + if ("value1".equals(param1Values[0])) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the value of param1 to be 'param2'" + + " after the include completed. Actual: " + param1Values[0]); + } + } else { + out.println("Test FAILED. The parameter, param2, should not exist in" + + "the request after the included completed. However, values were found:" + + " " + JspTestUtil.getAsString(param2Values)); + } + } else { + out.println("Test FAILED. Expected param1 to only have 1 value. The " + + "actual number is " + param1Values.length); + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameElValuesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameElValuesTest.jsp new file mode 100644 index 0000000000..b499b3aef8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameElValuesTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + EL expressions are not allowed with the name attribute. A + translation-time error must occur. +--%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameRtValuesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameRtValuesTest.jsp new file mode 100644 index 0000000000..03f992f445 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNameRtValuesTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + RT expressions are not allowed with the name attribute. A + translation-time error must occur. +--%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoNameAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoNameAttributeTest.jsp new file mode 100644 index 0000000000..3bb5791494 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoNameAttributeTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- A jsp:param element with no name attribute == translation-time error --%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoValueAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoValueAttributeTest.jsp new file mode 100644 index 0000000000..d82c30a9c6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamNoValueAttributeTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- A jsp:param element with no value attribute == translation-time error --%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest1.jsp new file mode 100644 index 0000000000..2414956961 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest1.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- jsp:param not nested in any action == tranlation-time error --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest2.jsp new file mode 100644 index 0000000000..e906bec55b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest2.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- jsp:param nested in a jsp:useBean action == translation-time error --%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest3.jsp new file mode 100644 index 0000000000..c69a9b4ddd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest3.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- jsp:param nexted within a jsp:plugin element == translation-time error --%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest4.jsp new file mode 100644 index 0000000000..3e66fcc115 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/JspParamUsageContextTest4.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/param" prefix="simple" %> + +<%-- jsp:param nested within a custom action == translation-time error --%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/Resource.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/Resource.jsp new file mode 100644 index 0000000000..ec5547a193 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/Resource.jsp @@ -0,0 +1,60 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil"%> + +<%@ page contentType="text/plain" %> +<% + String[] param1Values = request.getParameterValues("param1"); + String[] param2Values = request.getParameterValues("param2"); + + if (param1Values != null) { + if (param2Values != null) { + if (param1Values.length == 2) { + if (param2Values.length == 1) { + if ("value2".equals(param1Values[0]) + && "value1".equals(param1Values[1])) { + if ("value2".equals(param2Values[0])) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the value of param2 to be value2." + + " Value(s) received: " + JspTestUtil.getAsString(param2Values)); + } + } else { + out.println("Test FAILED. Expected the first value of param1 to be 'value2'" + + " and the second value to be 'value1'. Values as received: " + + JspTestUtil.getAsString(param1Values)); + } + } else { + out.println("Test FAILED. Expected one value for param2: value1." + + " Actual param values received: " + + JspTestUtil.getAsString(param2Values)); + } + } else { + out.println("Test FAILED. Expected two values for param1: value2, value1." + + " Actual param values received: " + + JspTestUtil.getAsString(param1Values)); + } + } else { + out.println("Test FAILED. Request parameter 'param2' not available."); + } + } else { + out.println("Test FAILED. Request parameter 'param1' not available."); + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/WEB-INF/simple.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/WEB-INF/simple.tld new file mode 100644 index 0000000000..95413afffd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/WEB-INF/simple.tld @@ -0,0 +1,31 @@ + + + + + 1.0 + simple + + echo + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/jsp_core_act_param_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/jsp_core_act_param_web.xml new file mode 100644 index 0000000000..09f3241e08 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/param/jsp_core_act_param_web.xml @@ -0,0 +1,31 @@ + + + + + JspCorSynActParam + + 5 + + + + http://java.sun.com/tck/jsp/param + /WEB-INF/simple.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackBodyTest.jsp new file mode 100644 index 0000000000..41d44a2abe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackBodyTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2022 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + + fallback_text + + +expected_text \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackUsageContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackUsageContextTest.jsp new file mode 100644 index 0000000000..e4848f3fca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspFallbackUsageContextTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +This should be a translation error. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsBodyTest.jsp new file mode 100644 index 0000000000..557b41f6ea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsBodyTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2022 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Validate the body of jsp:params can be provided through the use + of jsp:body +--%> + + + + + + + +expected_text \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsUsageContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsUsageContextTest.jsp new file mode 100644 index 0000000000..5de8942f92 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspParamsUsageContextTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- A translation-time error will occur if the jsp:params is used in + any other context outside of being nested within a jsp:plugin element --%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignElAttributeValueTest.jsp new file mode 100644 index 0000000000..55d58dc600 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The align attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignRtAttributeValueTest.jsp new file mode 100644 index 0000000000..078aea76b7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAlignRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The align attribute cannot accept Rt expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAppletTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAppletTest.jsp new file mode 100644 index 0000000000..38fa91e0ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginAppletTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2022 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + + + fallback_text + +expected_text diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveElAttributeValueTest.jsp new file mode 100644 index 0000000000..cd15f528d8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The archive attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveRtAttributeValueTest.jsp new file mode 100644 index 0000000000..7e3a3b173c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginArchiveRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The archive attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginBeanTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginBeanTest.jsp new file mode 100644 index 0000000000..12521429a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginBeanTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2022 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + + + fallback_text + +expected_text diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseElAttributeValueTest.jsp new file mode 100644 index 0000000000..c51c613315 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The codebase attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseReqAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseReqAttributeTest.jsp new file mode 100644 index 0000000000..7fb2b25de1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseReqAttributeTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate a translation-time error occurs if the 'codebase' attribute is omitted --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseRtAttributeValueTest.jsp new file mode 100644 index 0000000000..585e6d279f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeBaseRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The codebase attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeElAttributeValueTest.jsp new file mode 100644 index 0000000000..d30308b6f6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeElAttributeValueTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The code attribute cannot accept EL expression values -> translation error --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeReqAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeReqAttributeTest.jsp new file mode 100644 index 0000000000..736a032ecc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeReqAttributeTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate a translation-time error occurs if the 'code' attribute is omitted --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeRtAttributeValueTest.jsp new file mode 100644 index 0000000000..452f000379 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginCodeRtAttributeValueTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The code attribute cannot accept RT expression values -> translation error --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightElAttributeValueTest.jsp new file mode 100644 index 0000000000..3d01d90539 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate the height attribute can accept EL expressions --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightRtAttributeValueTest.jsp new file mode 100644 index 0000000000..6ebd027034 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHeightRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate the height attribute can accept RT expressions --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceElAttributeValueTest.jsp new file mode 100644 index 0000000000..9ba7edac2a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The hspace attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceRtAttributeValueTest.jsp new file mode 100644 index 0000000000..af0db4a3a3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginHspaceRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The hspace attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlElAttributeValueTest.jsp new file mode 100644 index 0000000000..2eff09899e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The iepluginurl attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlRtAttributeValueTest.jsp new file mode 100644 index 0000000000..eb8f5b7f5f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginIePluginUrlRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The iepluginurl attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginInvalidTypeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginInvalidTypeTest.jsp new file mode 100644 index 0000000000..44c0db1cdc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginInvalidTypeTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate a translation-time error occurs if a value other than applet + or bean is provided to the type attribute. --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionElAttributeValueTest.jsp new file mode 100644 index 0000000000..e6e590c567 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The jreversion attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionRtAttributeValueTest.jsp new file mode 100644 index 0000000000..929e97f4eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJreversionRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The jreversion attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspAttributeTest.jsp new file mode 100644 index 0000000000..83e1d3fbc8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspAttributeTest.jsp @@ -0,0 +1,46 @@ +<%-- + + Copyright (c) 2003, 2022 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + bean + foo.class + / + middle + test.jar + 10 + 1 + 10 + 1 + 1.3.1 + test + + http://www.nowaythiswebsitecouldpossiblyexist.com + + + http://www.nowaythis websitecouldpossibleexist.com + + + + + + fallback_text + + +expected_text \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspParamsNoParametersTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspParamsNoParametersTest.jsp new file mode 100644 index 0000000000..8df3055901 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginJspParamsNoParametersTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- If the jsp:params element is nested within the jsp:plugin element, + there must be at least one jsp:param element or a translation-time + error will occur. --%> + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameElAttributeValueTest.jsp new file mode 100644 index 0000000000..b9c2ce45be --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The name attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameRtAttributeValueTest.jsp new file mode 100644 index 0000000000..c8f56b8328 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNameRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The name attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlElAttributeValueTest.jsp new file mode 100644 index 0000000000..2a6e723be3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The nspluginurl attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlRtAttributeValueTest.jsp new file mode 100644 index 0000000000..661304bb66 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginNsPluginUrlRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The nspluginurl attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeElAttributeValueTest.jsp new file mode 100644 index 0000000000..4e8595eac2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The type attribute cannot accept EL expression values --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeRtAttributeValueTest.jsp new file mode 100644 index 0000000000..4b07b52ae3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginTypeRtAttributeValueTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The type attribute cannot accept RT expression values --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceElAttributeValueTest.jsp new file mode 100644 index 0000000000..22857516c8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The vspace attribute cannot accept EL expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceRtAttributeValueTest.jsp new file mode 100644 index 0000000000..5b229ef7a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginVspaceRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- The vspace attribute cannot accept RT expressions -> translation-time error --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthElAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthElAttributeValueTest.jsp new file mode 100644 index 0000000000..233655c0d7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthElAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate the width attribute can accept EL expressions --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthRtAttributeValueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthRtAttributeValueTest.jsp new file mode 100644 index 0000000000..31ec23c9ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/JspPluginWidthRtAttributeValueTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- Validate the width attribute can accept RT expressions --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/jsp_core_act_plugin_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/jsp_core_act_plugin_web.xml new file mode 100644 index 0000000000..171b8d6486 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/jsp_core_act_plugin_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActPlugin + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest1.jspx new file mode 100644 index 0000000000..d0a1b5cc3d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest1.jspx @@ -0,0 +1,25 @@ + + + + + + + Test PASSED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest2.jsp new file mode 100644 index 0000000000..13a3504f2b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootJspBodyTest2.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest1.jsp new file mode 100644 index 0000000000..1ecbd4cf85 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest1.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + <%@ page contentType="text/plain" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest2.jspx new file mode 100644 index 0000000000..e2c7459833 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest2.jspx @@ -0,0 +1,22 @@ + + + + + Test PASSED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest3.jsp new file mode 100644 index 0000000000..1de5f9ba78 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest3.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest4.jsp new file mode 100644 index 0000000000..33c77c64a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootUsageContextTest4.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest1.jspx new file mode 100644 index 0000000000..cc3698da1d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest1.jspx @@ -0,0 +1,23 @@ + + + + + + Test PASSED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest2.jspx new file mode 100644 index 0000000000..56662d5bf6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrAllowableValuesTest2.jspx @@ -0,0 +1,23 @@ + + + + + + Test PASSED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest1.jspx new file mode 100644 index 0000000000..8b1b09072b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest1.jspx @@ -0,0 +1,23 @@ + + + + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest2.jsp new file mode 100644 index 0000000000..027321f345 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionAttrInvalidValueTest2.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest1.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest1.jspx new file mode 100644 index 0000000000..22353a941b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest1.jspx @@ -0,0 +1,23 @@ + + + + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest2.jsp new file mode 100644 index 0000000000..e5dd9d71e6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/JspRootVersionReqAttrTest2.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootJspBodyTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootJspBodyTag.tagx new file mode 100644 index 0000000000..e5c2bd11a7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootJspBodyTag.tagx @@ -0,0 +1,24 @@ + + + + + + Test PASSED + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag1.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag1.tagx new file mode 100644 index 0000000000..5f72ee7e05 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag1.tagx @@ -0,0 +1,22 @@ + + + + + Test PASSED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag2.tag new file mode 100644 index 0000000000..1ecbd4cf85 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootUsageContextTag2.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + <%@ page contentType="text/plain" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionInvalidValueTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionInvalidValueTag.tagx new file mode 100644 index 0000000000..5bec4c2eb6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionInvalidValueTag.tagx @@ -0,0 +1,22 @@ + + + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionReqAttrTag.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionReqAttrTag.tagx new file mode 100644 index 0000000000..751cfcc650 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/WEB-INF/tags/JspRootVersionReqAttrTag.tagx @@ -0,0 +1,22 @@ + + + + + Test FAILED + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/jsp_core_act_root_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/jsp_core_act_root_web.xml new file mode 100644 index 0000000000..6d4e0ca9d7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/root/jsp_core_act_root_web.xml @@ -0,0 +1,26 @@ + + + + + JspCorSynActRoot + + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest1.jsp new file mode 100644 index 0000000000..9df33416b9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest1.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +out.print("Test PASSED"); diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest2.jspx new file mode 100644 index 0000000000..80acb7c611 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest2.jspx @@ -0,0 +1,23 @@ + + + + + + out.print("Test PASSED"); + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest3.jsp new file mode 100644 index 0000000000..525e37b3ba --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest4.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest4.jspx new file mode 100644 index 0000000000..b2cbcecd5e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/JspScriptletUsageContextTest4.jspx @@ -0,0 +1,22 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag1.tag new file mode 100644 index 0000000000..f47e4ba1e1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +out.print("Test PASSED"); diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag2.tagx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag2.tagx new file mode 100644 index 0000000000..790403ddee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/WEB-INF/tags/JspScriptletTag2.tagx @@ -0,0 +1,22 @@ + + + + + out.print("Test PASSED"); + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/jsp_core_act_scr_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/jsp_core_act_scr_web.xml new file mode 100644 index 0000000000..7502069a26 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/jsp_core_act_scr_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActScr + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/Errorpage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/Errorpage.jsp new file mode 100644 index 0000000000..add45cd04a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/Errorpage.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +Errorpage + +

          Error occured !

          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/jsp_coresyntx_act_setproperty_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/jsp_coresyntx_act_setproperty_web.xml new file mode 100644 index 0000000000..6330610fbd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/jsp_coresyntx_act_setproperty_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActSetPrpty + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.gf new file mode 100644 index 0000000000..eee41f3ca3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.gf @@ -0,0 +1,20 @@ + +positiveBeanPropertyEditor + + + + + + + + +PString Validated + + +true + + +218314 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.jsp new file mode 100644 index 0000000000..ef1620e933 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveBeanPropertyEditor.jsp @@ -0,0 +1,43 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBeanPropertyEditor + +<% /** Name : positiveBeanPropertyEditor + Description : Using a bean that has been configured with a + PropertyEditor, validate that the editors + are in fact used. + Result : Output to the client (see comments below) +**/ %> + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.gf new file mode 100644 index 0000000000..66edd402dd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.gf @@ -0,0 +1,11 @@ + +positiveSetBooleanObj + + + + + +true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.jsp new file mode 100644 index 0000000000..a86f7ce136 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetBooleanObj + +<% /** Name : positiveSetBooleanObj + Description : use a setProperty to set a Boolean value in a bean + Result : should return a Boolean value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.gf new file mode 100644 index 0000000000..bf8d8cf80d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.gf @@ -0,0 +1,11 @@ + +positiveSetBooleanPrim + + + + + +false + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.jsp new file mode 100644 index 0000000000..3be6b5eb8d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBooleanPrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetBooleanPrim + +<% /** Name : positiveSetBooleanPrim + Description : use a setProperty to set a boolean value in a bean + Result :should return a boolean value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.gf new file mode 100644 index 0000000000..d6a1741860 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.gf @@ -0,0 +1,11 @@ + +positiveSetByteObj + + + + + +123 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.jsp new file mode 100644 index 0000000000..57a88e6469 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetByteObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetByteObj + +<% /** Name : positiveSetByteObj + Description :use a setProperty to set a Byte value in a bean + Result :should return a Byte value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.gf new file mode 100644 index 0000000000..143497d201 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.gf @@ -0,0 +1,11 @@ + +positiveSetBytePrim + + + + + +123 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.jsp new file mode 100644 index 0000000000..82337846a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetBytePrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetBytePrim + +<% /** Name : positiveSetBytePrim + Description : use a setProperty to set a byte value in a bean + Result :should return a byte value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.gf new file mode 100644 index 0000000000..0b721d2cfc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.gf @@ -0,0 +1,11 @@ + +positiveSetCharObj + + + + + +A + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.jsp new file mode 100644 index 0000000000..7c5284e931 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetCharObj + +<% /** Name : positiveSetCharObj + Description : use setProperty to set a Character value in a bean. + Result :should return a Character value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.gf new file mode 100644 index 0000000000..21ff916b14 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.gf @@ -0,0 +1,11 @@ + +positiveSetCharPrim + + + + + +R + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.jsp new file mode 100644 index 0000000000..ab36a0a993 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetCharPrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetCharPrim + +<% /** Name : positiveSetCharPrim + Description : use setProperty to set a char value in a bean. + Result :should return a char value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.gf new file mode 100644 index 0000000000..8d13282976 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.gf @@ -0,0 +1,11 @@ + +positiveSetDoubleObj + + + + + +123456.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.jsp new file mode 100644 index 0000000000..44e571b95a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoubleObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetDoubleObj + +<% /** Name : positiveSetDoubleObj + Description : use a setProperty to set a Double value in a bean + Result :should return a Double value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.gf new file mode 100644 index 0000000000..80ba573146 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.gf @@ -0,0 +1,11 @@ + +positiveSetDoublePrim + + + + + +123456.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.jsp new file mode 100644 index 0000000000..c837d6ea38 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetDoublePrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetDoublePrim + +<% /** Name : positiveSetDoublePrim + Description : use a setProperty to set a double value in a bean + Result :should return a double value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.gf new file mode 100644 index 0000000000..c846952ec7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.gf @@ -0,0 +1,11 @@ + +positiveSetFloatObj + + + + + +15.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.jsp new file mode 100644 index 0000000000..92f0065582 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetFloatObj + +<% /** Name : positiveSetFloatObj + Description : use a setProperty to set a Float value in a bean + Result :should return a Float value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.gf new file mode 100644 index 0000000000..44f29217ef --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.gf @@ -0,0 +1,11 @@ + +positiveSetFloatPrim + + + + + +123.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.jsp new file mode 100644 index 0000000000..3541d92649 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetFloatPrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetFloatPrim + +<% /** Name : positiveSetFloatPrim + Description : use a setProperty to set a float value in a bean + Result :should return a float value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.gf new file mode 100644 index 0000000000..b853aed200 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.gf @@ -0,0 +1,48 @@ + +positiveSetIndexedProp + + + + + + + + + + + + + + + + + + + + + + + + + + +1 2 3 +1 2 3 +1 2 3 +24 25 26 +1.1 1.2 1.3 +1 1 1 +1.1 1.2 1.3 +false true false +-128 127 +1 2 3 +-32768 32767 +-2147483648 2147483647 +1.1 1.2 3.14 +-9223372036854775808 9223372036854775807 +1.1 2.81 3.14 +true false true + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.jsp new file mode 100644 index 0000000000..18a50dc82d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIndexedProp.jsp @@ -0,0 +1,226 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetIndexedProp + +<% +/** + * TestCase name : positiveSetIndexedProp + * Description : Here, the setProperty tag is used to set the value for + * an indexed property.An array is declared and defined in a + * scriptlet and then assigned through the setProperty tag, with + * an expression. + * Result : Expected to set the value of the array. + */ + %> + +<% +//Declare primative arrays +byte[] bArray = { 1, 2, 3 }; +char[] cArray = { '1', '2', '3' }; +short[] sArray = { 1, 2, 3 }; +int[] iArray = {24, 25, 26 }; +float[] fArray = { 1.1f, 1.2f, 1.3f }; +long[] lArray = { 1, 1, 1 }; +double[] dArray = { 1.1d, 1.2d, 1.3d }; +boolean[] boArray = { false, true, false }; + +//Declare Object arrays +Boolean[] booleanArray = { new Boolean( "true" ), new Boolean( "false" ), new Boolean( "true" ) }; +Byte[] byteArray = { new Byte( Byte.MIN_VALUE ), new Byte( Byte.MAX_VALUE ) }; +Character[] charArray = { new Character( '1' ), new Character( '2' ), new Character( '3' ) }; +Short[] shortArray = { new Short( Short.MIN_VALUE ), new Short( Short.MAX_VALUE ) }; +Integer[] integerArray = { new Integer( Integer.MIN_VALUE ), new Integer( Integer.MAX_VALUE ) }; +Float[] floatArray = { new Float( 1.1f ), new Float( 1.2F ), new Float( 3.14f ) }; +Long[] longArray = { new Long( Long.MIN_VALUE ), new Long( Long.MAX_VALUE ) }; +Double[] doubleArray = { new Double( 1.1d ), new Double( 2.81d ), new Double( 3.14d ) }; + +%> + + + + + + + + + + + + + + + + + + + + + + +<% +// Accessing the set property. +byte[] bary = myBean.getBArray(); +for(int j = 0; j < bary.length; j++ ) { + if ( j == bary.length - 1 ) { + out.println( bary[ j ] ); + } else { + out.print( bary[ j ] + " " ); + } +} + +char[] cary = myBean.getCArray(); +for(int j = 0; j < cary.length; j++ ) { + if ( j == cary.length - 1 ) { + out.println( cary[ j ] ); + } else { + out.print( cary[ j ] + " " ); + } +} + +short[] sary = myBean.getSArray(); +for(int j = 0; j < sary.length; j++ ) { + if ( j == sary.length - 1 ) { + out.println( sary[ j ] ); + } else { + out.print( sary[ j ] + " " ); + } +} + +int[] iary = myBean.getIArray(); +for(int j = 0; j < iary.length; j++ ) { + if ( j == iary.length - 1 ) { + out.println( iary[ j ] ); + } else { + out.print( iary[ j ] + " " ); + } +} + +float[] fary = myBean.getFArray(); +for(int j = 0; j < fary.length; j++ ) { + if ( j == fary.length - 1 ) { + out.println( fary[ j ] ); + } else { + out.print( fary[ j ] + " " ); + } +} + +long[] lary = myBean.getLArray(); +for(int j = 0; j < lary.length; j++ ) { + if ( j == lary.length - 1 ) { + out.println( lary[ j ] ); + } else { + out.print( lary[ j ] + " " ); + } +} + +double[] dary = myBean.getDArray(); +for(int j = 0; j < dary.length; j++ ) { + if ( j == dary.length - 1 ) { + out.println( dary[ j ] ); + } else { + out.print( dary[ j ] + " " ); + } +} + +boolean[] boary = myBean.getBoArray(); +for(int j = 0; j < boary.length; j++ ) { + if ( j == boary.length - 1 ) { + out.println( boary[ j ] ); + } else { + out.print( boary[ j ] + " " ); + } +} + +Byte[] byteary = myBean.getByteArray(); +for(int j = 0; j < byteary.length; j++ ) { + if ( j == byteary.length - 1 ) { + out.println( byteary[ j ] ); + } else { + out.print( byteary[ j ] + " " ); + } +} + +Character[] charary = myBean.getCharArray(); +for(int j = 0; j < charary.length; j++ ) { + if ( j == charary.length - 1 ) { + out.println( charary[ j ] ); + } else { + out.print( charary[ j ] + " " ); + } +} + +Short[] shortary = myBean.getShortArray(); +for(int j = 0; j < shortary.length; j++ ) { + if ( j == shortary.length - 1 ) { + out.println( shortary[ j ] ); + } else { + out.print( shortary[ j ] + " " ); + } +} + +Integer[] intary = myBean.getIntegerArray(); +for(int j = 0; j < intary.length; j++ ) { + if ( j == intary.length - 1 ) { + out.println( intary[ j ] ); + } else { + out.print( intary[ j ] + " " ); + } +} + +Float[] floatary = myBean.getFloatArray(); +for(int j = 0; j < floatary.length; j++ ) { + if ( j == floatary.length - 1 ) { + out.println( floatary[ j ] ); + } else { + out.print( floatary[ j ] + " " ); + } +} + +Long[] longary = myBean.getLongArray(); +for(int j = 0; j < longary.length; j++ ) { + if ( j == longary.length - 1 ) { + out.println( longary[ j ] ); + } else { + out.print( longary[ j ] + " " ); + } +} + +Double[] doary = myBean.getDoubleArray(); +for(int j = 0; j < doary.length; j++ ) { + if ( j == doary.length - 1 ) { + out.println( doary[ j ] ); + } else { + out.print( doary[ j ] + " " ); + } +} + +Boolean[] bolary = myBean.getBooleanArray(); +for(int j = 0; j < bolary.length; j++ ) { + if ( j == bolary.length - 1 ) { + out.println( bolary[ j ] ); + } else { + out.print( bolary[ j ] + " " ); + } +} + +%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.gf new file mode 100644 index 0000000000..d9d6ceb3af --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.gf @@ -0,0 +1,11 @@ + +positiveSetIntObj + + + + + +21 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.jsp new file mode 100644 index 0000000000..47a29dee68 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetIntObj + +<% /** Name : positiveSetIntObj + Description :use a setProperty to set a Integer value in a bean. + Result :should return a Integer value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.gf new file mode 100644 index 0000000000..1363276687 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.gf @@ -0,0 +1,11 @@ + +positiveSetIntPrim + + + + + +12 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.jsp new file mode 100644 index 0000000000..b2e906271d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetIntPrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetIntPrim + +<% /** Name : positiveSetIntPrim + Description :use a setProperty to set a int value in a bean. + Result :should return a int value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.gf new file mode 100644 index 0000000000..5eab825f68 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.gf @@ -0,0 +1,11 @@ + +positiveSetLongObj + + + + + +12345 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.jsp new file mode 100644 index 0000000000..a9fa861352 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongObj.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetLongObj + +<% /** Name : positiveSetLongObj + Description : use a setProperty to set a Long value in a bean + Result :should return a Long value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.gf new file mode 100644 index 0000000000..91b31fe165 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.gf @@ -0,0 +1,11 @@ + +positiveSetLongPrim + + + + + +54321 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.jsp new file mode 100644 index 0000000000..3653b63d05 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetLongPrim.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetLongPrim + +<% /** Name : positiveSetLongPrim + Description : use a setProperty to set a long value in a bean + Result :should return a long value. +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.gf new file mode 100644 index 0000000000..c70282d357 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.gf @@ -0,0 +1,14 @@ + +positiveSetPropAll + + + + + + +Validated
          +Frodo
          +116165
          + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.jsp new file mode 100644 index 0000000000..0b5978c4c0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropAll.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropAll + +<% /** Name : positiveSetPropAll + Description : Create a valid useBean action in JSP. Set all properties + of that bean from the request using a + action. Then access all + properties of the bean. + Result : The client request will set name=Frodo, num=116165, str=Validated, as + a result, these values should be displayed when accessed. +**/ %> + + + + +<% out.print(myBean.getStr()); %>
          +<% out.print(myBean.getName()); %>
          +<% out.print(myBean.getNum()); %>
          + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.gf new file mode 100644 index 0000000000..1fd8ee717d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.gf @@ -0,0 +1,14 @@ + +positiveSetPropNoParam + + + + + + + + +SAPPOTA + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.jsp new file mode 100644 index 0000000000..6e88f684b7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropNoParam.jsp @@ -0,0 +1,41 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropNoParam + +<% /** Name : positiveSetPropNoParam + Description : Create a valid useBean action in JSP. Set a specific + property of that bean from the request using a + action. Then access + that property.Ensure that the request contains a parameter + with the same name as the Bean Name. + Result :As we are setting "param as Str=SAPPOTA" + It should return "SAPPOTA". +**/ %> + + + + + + +<% +out.println(myBean.getStr()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.gf new file mode 100644 index 0000000000..8a7cf7921b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.gf @@ -0,0 +1,12 @@ + +positiveSetPropParam + + + + + + +MANGO + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.jsp new file mode 100644 index 0000000000..9c3819275d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropParam.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropParam + +<% /** Name : positiveSetPropParam + Description : Create a valid useBean action in JSP. Set a specific + property of that bean from the request using a + action. + Then access that property. + Result : As we are setting "param as Name=MANGO", It should + return "MANGO". +**/ %> + + + + +<% +out.println(myBean.getName()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.gf new file mode 100644 index 0000000000..c3eb962c53 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.gf @@ -0,0 +1,11 @@ + +positiveSetPropReqTimeDoubleQuotes + + + + + +HTTP/1.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.jsp new file mode 100644 index 0000000000..e1573dc488 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeDoubleQuotes.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropReqTimeDoubleQuotes + +<% /** Name : positiveSetPropReqTimeDoubleQuotes + Description : use a scriptlet expression in double quotes + as 'value' attribute in setProperty + Result :we should get the expected page without error +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.gf new file mode 100644 index 0000000000..08504d645d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.gf @@ -0,0 +1,11 @@ + +positiveSetPropReqTimeSingleQuotes + + + + + +HTTP/1.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.jsp new file mode 100644 index 0000000000..29c1aed4f7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropReqTimeSingleQuotes.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropReqTimeSingleQuotes + +<% /** Name : positiveSetPropReqTimeSingleQuotes + Description : use a scriptlet expression in single quotes + as 'value' attribute in setProperty + Result :we should get the expected page without error +**/ %> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.gf new file mode 100644 index 0000000000..439165c02e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.gf @@ -0,0 +1,12 @@ + +positiveSetPropValue + + + + + + +KHATTA-MEETHA + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.jsp new file mode 100644 index 0000000000..8152051ca3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/positiveSetPropValue.jsp @@ -0,0 +1,37 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSetPropValue + +<% /** Name : positiveSetPropValue + Description : Create a valid useBean action in JSP. Set a specific + property of that bean from the request using a + action. + Then access that property. + Result : Should return the new value of that property. +**/ %> + + + + +<% +out.println(myBean.getName()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest1.jsp new file mode 100644 index 0000000000..b5223a3894 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest1.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Custom actions nor scripting elements are allowed + in the body of jsp:text +--%> + + + elementBody + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest2.jsp new file mode 100644 index 0000000000..41b5f96305 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest2.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Custom actions nor scripting elements are allowed + in the body of jsp:text +--%> + + + <% out.println("Test FAILED"); %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest3.jsp new file mode 100644 index 0000000000..f551ca50b8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest3.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page import="java.io.PrintWriter"%> +<%-- + Custom actions nor scripting elements are allowed + in the body of jsp:text +--%> + + + <%! + public void test(PrintWriter out) { + out.println("Test FAILED"); + } + %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest4.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest4.jsp new file mode 100644 index 0000000000..185c06ba23 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest4.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page import="java.io.PrintWriter"%> +<%-- + Custom actions nor scripting elements are allowed + in the body of jsp:text +--%> + + + <%= "Test FAILED" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest5.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest5.jspx new file mode 100644 index 0000000000..6381d49ce8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextBodyRestrictionsTest5.jspx @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest1.jsp new file mode 100644 index 0000000000..4dec547d08 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest1.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% pageContext.setAttribute("tmplText", "Template Text2"); %> + +Template +Text +${tmplText} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest2.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest2.jspx new file mode 100644 index 0000000000..aa58e3eb19 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest2.jspx @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest3.jsp new file mode 100644 index 0000000000..2aae90edfb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/JspTextUsageContextTest3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/WEB-INF/tags/JspTextTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/WEB-INF/tags/JspTextTag.tag new file mode 100644 index 0000000000..e9663c3a9a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/WEB-INF/tags/JspTextTag.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +Template Text +Template +Text2 diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/jsp_core_act_text_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/jsp_core_act_text_web.xml new file mode 100644 index 0000000000..38b315cdb6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/text/jsp_core_act_text_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActText + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/ScopeResult.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/ScopeResult.jsp new file mode 100644 index 0000000000..8c5b4d5239 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/ScopeResult.jsp @@ -0,0 +1,75 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain;charset=ISO-8859-1" %> +<%-- + Simple JSP to valid scoped objects created with jsp:useBean +--%> + +<%! + public void sendPass( HttpServletResponse resp ) { + resp.addHeader( "status", "Test Status=PASSED" ); + return; + } +%> + +<%! + public void sendFail( HttpServletResponse resp, String msg ) { + resp.addHeader( "status", "Test Status=FAILED - " + msg ); + return; + } +%> + +<% + String _scope = request.getParameter( "scope" ); + String _objId = request.getParameter( "objId" ); + + + if ( _scope.equals( "application" ) ) { + if ( ( application.getAttribute( _objId ) ) != null ) { + sendPass( response ); + } else { + sendFail( response, "Application scoped object not found in ServletContext" ); + } + } + + if ( _scope.equals( "session" ) ) { + if ( ( session.getAttribute( _objId ) ) != null ) { + sendPass( response ); + } else { + sendFail( response, "Session scoped object not found in HttpSession" ); + } + } + + if ( _scope.equals( "request" ) ) { + if ( ( request.getAttribute( _objId ) ) != null ) { + sendPass( response ); + } else { + sendFail( response, "Request scoped object not found in HttpServletResponse" ); + } + } + + if ( _scope.equals( "page" ) ) { + if ( ( pageContext.getAttribute( _objId ) ) == null ) { + sendPass( response ); + } else { + sendFail( response, "Page scoped object found in current page and should not be" ); + } + } +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/date.ser b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/date.ser new file mode 100644 index 0000000000..60a91ec7d2 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/date.ser differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/defaultScope.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/defaultScope.jsp new file mode 100644 index 0000000000..7b2614b9fb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/defaultScope.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +defaultScopeTest + +<% /** Name : defaultScopeTest + Description : default useBean scope is page + Result : Test PASSED +**/ %> + +<% + int aScope = pageContext.getAttributesScope("nowDate"); + if(aScope == pageContext.PAGE_SCOPE) { + out.println("Test PASSED. default scope is page: " + aScope); + } else { + out.println("Test FAILED: default scope is not page: " + aScope); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/errorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/errorPage.jsp new file mode 100644 index 0000000000..e23c7497fe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/errorPage.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +errorPage + + +<%@ page isErrorPage="true" %> +<% + out.println("errorPage"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/jsp_coresyntx_act_usebean_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/jsp_coresyntx_act_usebean_web.xml new file mode 100644 index 0000000000..15a0831888 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/jsp_coresyntx_act_usebean_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynActUseBean + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.gf new file mode 100644 index 0000000000..5f7435e440 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.gf @@ -0,0 +1,10 @@ + +negativeClassCastException + + + +ClassCastException successfully caught. +Test status: PASS + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.jsp new file mode 100644 index 0000000000..40a31bfe32 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastException.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeClassCastException + +<% /** Name : negativeClassCastException + Description : Using a bean of a particular type declared with + session scope from another page, attempt to verify + that a ClassCastException is thrown if the bean + on this page specifies a conflicting type. + Result : Catch the ClassCastException and print a message. +**/ %> +<% try { %> + +<% } catch ( java.lang.ClassCastException cce ) { + out.println( "ClassCastException successfully caught.\nTest status: PASS" ); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastExceptionFwd.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastExceptionFwd.jsp new file mode 100644 index 0000000000..a6618bad92 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeClassCastExceptionFwd.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeClassCastExceptionFwd + +<% /** Name : negativeClassCastFwd + Description: Declare a bean with session scope + and then forward the request to another + page. + Result : None. The interesting stuff will occur in the + negativeClassCastException.jsp page. +**/ %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeDuplicateIDFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeDuplicateIDFatalTranslationError.jsp new file mode 100644 index 0000000000..ec29766f84 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeDuplicateIDFatalTranslationError.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIDFatalTranslation + +<% /** Name : negativeDuplicateIDFatalTranslation + Description : Verify that duplicate useBean id's + within the same translation unit yeild + a fatal translation error. + Result : Fatal translation error +**/ %> + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeInvalidScope.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeInvalidScope.jsp new file mode 100644 index 0000000000..b258940b39 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeInvalidScope.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeInvalidScope + +<% /** Name : negativeInvalidScope + Description : use invalid jsp:useBean scope value + Result : Fatal translation error +**/ %> + +<% + out.println(currentDate.toString()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeSessionScopeFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeSessionScopeFatalTranslationError.jsp new file mode 100644 index 0000000000..01e7f86370 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeSessionScopeFatalTranslationError.jsp @@ -0,0 +1,37 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page session="false" %> + +negativeSessionScopeFatalTranslationError + +<% /** Name : negativeSessionScopeFatalTranslationError + Description : Declare a bean with scope set to session, + and configure the page so that it doesn't + participate in a session. This should + cause a fatal translation error. + Result : Fatal translation error +**/ %> + + +<% + out.println(myBean.getCount()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeTypeAssignable.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeTypeAssignable.jsp new file mode 100644 index 0000000000..cd67360bc5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/negativeTypeAssignable.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeTypeAssignable + +<% /** Name : negativeTypeAssignableTest + Description : we are using 'class' and 'type' together and 'class' + is not assignable to 'type'. + Result :translation error +**/ %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveApplicationScopedObject.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveApplicationScopedObject.jsp new file mode 100644 index 0000000000..1e558de8ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveApplicationScopedObject.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveApplicationScopedObject + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.gf new file mode 100644 index 0000000000..f6e0f2ea41 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.gf @@ -0,0 +1,11 @@ + +positiveBeanNameType + + + + + +0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.jsp new file mode 100644 index 0000000000..c4eac0a622 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameType.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBeanNameType + +<% /** Name : positiveBeanNameType + Description : Declaring the bean using beanName. + When using beanName, the bean can either be a serialized + Object, or a fully qualified class. + This test uses a fully qualfied class with the same type. + Result :We should get page output without error +**/ %> + + + +<% + out.println(myBean.getCount()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.gf new file mode 100644 index 0000000000..33e6850667 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.gf @@ -0,0 +1,11 @@ + +positiveBeanNameTypeCast + + + + + +0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.jsp new file mode 100644 index 0000000000..1945fa7265 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBeanNameTypeCast.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBeanNameTypeCast + +<% /** Name : positiveBeanNameTypeCast + Description : Declaring the bean using beanName. + When using beanName, the bean can either be a serialized + Object, or a fully qualified class. When the class is loaded, + it is cast to the type specified by the "type" attribute. + This test uses a fully qualfied class. + Result :We should get page output without error +**/ %> + + + +<% + out.println(myBean.getCount()); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.gf new file mode 100644 index 0000000000..7fc93e9727 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.gf @@ -0,0 +1,12 @@ + +positiveBodyNew + + + + + + +APPLE + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.jsp new file mode 100644 index 0000000000..14914a011c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveBodyNew.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBodyNew + +<% /** Name : positiveBodyNew + Description : Try to create a valid useBean tag in the JSP page with a + non-empty body. Ensure that the classname specified + does not exist. + Result :Should return the contents of the HTML page along with what + exists in the body. +**/ %> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.gf new file mode 100644 index 0000000000..79c2240b0f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.gf @@ -0,0 +1,10 @@ + +positiveClassTypeCast + + + + +0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.jsp new file mode 100644 index 0000000000..0b7f0bcd3c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveClassTypeCast.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveClassTypeCast + +<% /** Name : positiveClassTypeCast + Description : we are using 'class' and 'type' together and 'class' + is assignable to 'type'. + Result :we should get the expected page without an error +**/ %> + + +<% out.println( ncounter.getCount()); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.gf new file mode 100644 index 0000000000..480ad55007 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.gf @@ -0,0 +1,9 @@ + +positiveNoBody + + + + +hello + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.jsp new file mode 100644 index 0000000000..271cb95d64 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveNoBody.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveNoBody + +<% /** Name : positiveNoBody + Description : Create a new instance of a bean with no body. + Access the name property. + Result : Returns the default instance value of the name property: hello. +**/ %> + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positivePageScopedObject.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positivePageScopedObject.jsp new file mode 100644 index 0000000000..8991d81d71 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positivePageScopedObject.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positivePageScopedObject + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveRequestScopedObject.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveRequestScopedObject.jsp new file mode 100644 index 0000000000..da0e9ff96d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveRequestScopedObject.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveRequestScopedObject + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveSessionScopedObject.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveSessionScopedObject.jsp new file mode 100644 index 0000000000..a723fd16eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/positiveSessionScopedObject.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSessionScopedObject + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/requestTimeBeanName.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/requestTimeBeanName.jsp new file mode 100644 index 0000000000..2ae3833db7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/requestTimeBeanName.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +requestTimeBeanNameTest + +<% /** Name : requestTimeBeanNameTest + Description : use a request-time attribute expression for beanName + Result : Test PASSED +**/ %> +<%! String aName = "java.util.Date"; %> + +<% + out.println(aDate.toString()); + out.println("Test PASSED."); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/serBeanName.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/serBeanName.jsp new file mode 100644 index 0000000000..7f41c5cc74 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/serBeanName.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +serBeanNameTest + +<% /** Name : serBeanNameTest + Description : use beanName of the form a/b/c.ser + Result : Test PASSED +**/ %> + +<% + out.println(aSer.getTime()); + out.println("Test PASSED."); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/WEB-INF/tags/beanBody.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/WEB-INF/tags/beanBody.tag new file mode 100644 index 0000000000..82729ad0e6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/WEB-INF/tags/beanBody.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +In beanBody tag after doBody diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/blockSCopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/blockSCopeTest.jsp new file mode 100644 index 0000000000..1df5d43e4d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/blockSCopeTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<% { // introduce a new block %> + + <% + list.add("one"); + %> +<% } // close the block %> + +<% +// the variable customer is out of scope now but +// the object is still valid (and accessible via pageContext) +// declear list as a new variable. + String list = "two"; + out.println(pageContext.getAttribute("list")); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTest.jsp new file mode 100644 index 0000000000..e92414fe98 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<% + list.add("one"); +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTestInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTestInclude.jsp new file mode 100644 index 0000000000..725afd9c02 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/existingWithBodyTestInclude.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + This body should be ignored + +<% + out.println(list); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/inScriptlessTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/inScriptlessTest.jsp new file mode 100644 index 0000000000..20254370a8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/inScriptlessTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +${list1} +invoke tag + + + ${list2} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/jsp_coresyntx_act_usebean2_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/jsp_coresyntx_act_usebean2_web.xml new file mode 100644 index 0000000000..0c14203c62 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/jsp_coresyntx_act_usebean2_web.xml @@ -0,0 +1,33 @@ + + + + + JspCorSynActUseBean2 + + 5 + + + + + Property group sets scripting-invalid to true + /inScriptlessTest.jsp + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/noClassNoBeanNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/noClassNoBeanNameTest.jsp new file mode 100644 index 0000000000..7c351f52d1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/noClassNoBeanNameTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<% +try { +%> + + Test FAILED. +<% +} catch (InstantiationException ex) { + out.println("Test PASSED. InstantiationException is raised."); +} catch (Throwable th) { + out.println("Test FAILED. Unexpected exception type."); +} +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTest.jsp new file mode 100644 index 0000000000..986e170293 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTest.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + add to list + <% + list.add("one"); + %> + added to list + + +<% + out.println(list.get(0)); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTestInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTestInclude.jsp new file mode 100644 index 0000000000..1ee9e665f7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/unrestrictedBodyTestInclude.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +In unrestrictedBodyTestInclude.jsp diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/includecommon.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/includecommon.jsp new file mode 100644 index 0000000000..cecf510eda --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/includecommon.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +included + + +<% out.println("This is included file"); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/jsp_coresyntx_direct_include_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/jsp_coresyntx_direct_include_web.xml new file mode 100644 index 0000000000..99be0892e2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/jsp_coresyntx_direct_include_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynDirctInc + + 24 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.gf new file mode 100644 index 0000000000..ed172d80ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.gf @@ -0,0 +1,16 @@ + +positiveIncludeCtxRelativeDirective + + + + +included + + +This is included file + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.jsp new file mode 100644 index 0000000000..aa22cdcf88 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludeCtxRelativeDirective.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveIncludeCtxRelativeDirective + +<% /** Name : positiveIncludeCtxRelativeDirective + Description : Create a JSP page with the include directive using + a context-relative path. The included + page should exist in the desired location + Result :Send out the HTML of the first page with the output of the + second page and revert back to sending the first page once + second page is complete. +**/ %> + +<%@ include file = "/includecommon.jsp" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.gf new file mode 100644 index 0000000000..c659648ba3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.gf @@ -0,0 +1,16 @@ + +positiveIncludePageRelative + + + + +included + + +This is included file + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.jsp new file mode 100644 index 0000000000..7bcbe9236f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/include/positiveIncludePageRelativeDirective.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveIncludePageRelative + +<% /** Name : positiveIncludePageRelative + Description : Create a JSP page with the include directive using a + page-relative path. The included + page should exist in the desired location + Result :Send out the HTML of the first page with the output of the + second page and revert back to sending the first page once + second page is complete. +**/ %> + +<%@ include file = "includecommon.jsp" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseActionTest.jsp new file mode 100644 index 0000000000..44a28163a5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseActionTest.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralFalseActionTest + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + page directive attribute is set to false, a + translation error occurs when the '{#' character + sequence is used in an action. +**/ %> + +<%@ taglib prefix="test" uri="/WEB-INF/deferredsyntaxaction.tld" %> +<%@ page deferredSyntaxAllowedAsLiteral="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp new file mode 100644 index 0000000000..083c85b80b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralFalseTemplateTextTest + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + page directive attribute is set to false, a + translation error occurs when the '{#' character + sequence is used in template text. +**/ %> + +<%@ page deferredSyntaxAllowedAsLiteral="false" %> + +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.gf new file mode 100644 index 0000000000..bc50afbede --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.gf @@ -0,0 +1 @@ +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.jsp new file mode 100644 index 0000000000..0ccd79b5cc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueActionTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralFalseActionTest + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + page directive attribute is set to true, the + '{#' character sequence is allowed in an action. +**/ %> + +<%@ taglib prefix="test" uri="/WEB-INF/deferredsyntaxaction.tld" %> +<%@ page deferredSyntaxAllowedAsLiteral="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf new file mode 100644 index 0000000000..bc50afbede --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.gf @@ -0,0 +1 @@ +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp new file mode 100644 index 0000000000..8cdd75a865 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralTrueActionTest + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + page directive attribute is set to true, the '{#' + character sequence is allowed in template text. + +**/ %> + +<%@ page deferredSyntaxAllowedAsLiteral="true" %> + +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundFalseTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundFalseTest.jsp new file mode 100644 index 0000000000..ed5e567262 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundFalseTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ErrorOnELNotFoundFalseTest + Description : Verify that when the ErrorOnELNotFound + page directive attribute is set to false, referencing + an unknown identifier does not trigger a + ProeprtyNotFoundException +**/ %> + +<%@ page errorOnELNotFound="false" %> + +${notfound} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundTrueTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundTrueTest.jsp new file mode 100644 index 0000000000..0f458d56b4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/ErrorOnELNotFoundTrueTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ErrorOnELNotFoundTrueTest + Description : Verify that when the ErrorOnELNotFound + page directive attribute is set to false, referencing + an unknown identifier does trigger a + ProeprtyNotFoundException +**/ %> + +<%@ page errorOnELNotFound="true" %> + +${notfound} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/FatalTranslationErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/FatalTranslationErrorPage.jsp new file mode 100644 index 0000000000..4328281565 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/FatalTranslationErrorPage.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +FatalTranslationErrorPage + +<% + // The code below should cause the container + // to throw a fatal translation error. + if ( exception == null ) { + out.println( "Exception was null" ); + else { + out.println( "Exception was not null" ); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.gf new file mode 100644 index 0000000000..370acb93ff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.gf @@ -0,0 +1,2 @@ +Non-deferred value = dollar +Deferred value = pound diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.jsp new file mode 100644 index 0000000000..bae399728b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseActionTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : IsELIgnoredFalseActionTest + Description : Verify that EL expressions are recognized by the + container in actions when the isELIgnored + attribute is set to false. +**/ %> +<%@ taglib prefix="test" uri="/WEB-INF/iselignoredaction.tld" %> + +<%@ page isELIgnored="false" %> + +<% + pageContext.setAttribute("dexp", "dollar", PageContext.PAGE_SCOPE); + pageContext.setAttribute("pexp", "pound", PageContext.PAGE_SCOPE); + %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.gf new file mode 100644 index 0000000000..5e3cf678b9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.gf @@ -0,0 +1,3 @@ +begin + dollar +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.jsp new file mode 100644 index 0000000000..9b67165dfe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextDollarTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : IsELIgnoredFalseTemplateTextDollarTest + Description : Verify that EL expressions are interpreted by the + container in template text when the isELIgnored + attribute is set to false and the '$' character is + used. +**/ %> +<%@ page isELIgnored="false" %> + +<% + pageContext.setAttribute("dexp", "dollar", PageContext.PAGE_SCOPE); + %> + +begin + ${dexp} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextPoundTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextPoundTest.jsp new file mode 100644 index 0000000000..caf4a253ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredFalseTemplateTextPoundTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : IsELIgnoredFalseTemplateTextPoundTest + Description : Verify that EL expressions are recognized by the + container in template text when the isELIgnored + attribute is set to false and the '#' character is + used. Since the use of the '#' character is illegal + in template text, a translation error should be + generated. +**/ %> +<%@ page isELIgnored="false" %> + +<% + pageContext.setAttribute("pexp", "pound", PageContext.PAGE_SCOPE); + %> + +begin + #{pexp} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.gf new file mode 100644 index 0000000000..96e3a65fb3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.gf @@ -0,0 +1,2 @@ +Dollar value = ${dval} +Pound value = #{pval} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.jsp new file mode 100644 index 0000000000..8426f34275 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueActionTest.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : IsELIgnoredTrueActionTest + Description : Verify that EL expressions are ignored by the + container in actions when the isELIgnored + attribute is set to true. +**/ %> +<%@ taglib prefix="test" uri="/WEB-INF/iselignoredaction.tld" %> + +<%@ page isELIgnored="true" %> + +<% + pageContext.setAttribute("dval", "dollar", PageContext.PAGE_SCOPE); + pageContext.setAttribute("pval", "pound", PageContext.PAGE_SCOPE); + %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.gf new file mode 100644 index 0000000000..367a239587 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.gf @@ -0,0 +1,4 @@ +begin + ${dval} + #{pval} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.jsp new file mode 100644 index 0000000000..d7e4464d92 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/IsELIgnoredTrueTemplateTextTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : IsELIgnoredTrueActionTest + Description : Verify that EL expressions are interpreted by the + container in template text when the isELIgnored + attribute is set to true. +**/ %> + +<%@ page isELIgnored="true" %> + +<% + pageContext.setAttribute("dval", "dollar", PageContext.PAGE_SCOPE); + pageContext.setAttribute("pval", "pound", PageContext.PAGE_SCOPE); + %> + +begin + ${dval} + #{pval} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/deferredsyntaxaction.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/deferredsyntaxaction.tld new file mode 100644 index 0000000000..0e292df2fa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/deferredsyntaxaction.tld @@ -0,0 +1,37 @@ + + + + + + 1.0 + DeferredSyntaxAction + + DeferredSyntaxAction test + DeferredSyntaxAction + com.sun.ts.tests.jsp.spec.core_syntax.directives.page.DeferredSyntaxActionTag + empty + + literal + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/iselignoredaction.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/iselignoredaction.tld new file mode 100644 index 0000000000..90018e67eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/WEB-INF/iselignoredaction.tld @@ -0,0 +1,60 @@ + + + + + + 1.0 + IsELIgnoredAction + + IsELIgnoredFalseAction test + IsELIgnoredFalseAction + com.sun.ts.tests.jsp.spec.core_syntax.directives.page.IsELIgnoredFalseActionTag + empty + + dollarExpr + true + true + java.lang.String + + + poundExpr + true + + java.lang.String + + + + + IsELIgnoredTrueAction test + IsELIgnoredTrueAction + com.sun.ts.tests.jsp.spec.core_syntax.directives.page.IsELIgnoredTrueActionTag + empty + + dollarValue + true + + + poundValue + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/duplicateErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/duplicateErrorPage.jsp new file mode 100644 index 0000000000..c783987e16 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/duplicateErrorPage.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +duplicateErrorPage.jsp + +This error page is used by negativeDuplicateErrorPageFatalTranslationError.jsp +where two different errorPage page directive attributes are specified. +negativeDuplicateErrorPageFatalTranslationError.jsp must fail. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTest.jsp new file mode 100644 index 0000000000..1ff4f1c60b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page errorPage="errorPageExceptionAttributeTestError.jsp" autoFlush="false" %> +<%! int i=0; %> +<%= 9/i %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTestError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTestError.jsp new file mode 100644 index 0000000000..e7792216ff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorPageExceptionAttributeTestError.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2004, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page isErrorPage="true" %> + +<% + Object jspException = request.getAttribute("jakarta.servlet.jsp.jspException"); + Object error_exception = + request.getAttribute("jakarta.servlet.error.exception"); + if(jspException == null) { + out.println("Test FAILED. jakarta.servlet.jsp.jspException is null"); + } else if(error_exception == null) { + out.println("Test FAILED. jakarta.servlet.error.exception is null"); + } else if(error_exception != jspException) { + out.println("Test FAILED. jakarta.servlet.error.exception and jakarta.servlet.jsp.jspException are not the same"); + } else { + out.println("Test PASSED. jakarta.servlet.error.exception and jakarta.servlet.jsp.jspException are the same"); + out.println(jspException.toString()); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorpagedefault.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorpagedefault.jsp new file mode 100644 index 0000000000..655286e313 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/errorpagedefault.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +errorpage + +<% out.println("This is test error page for isErrorPage=false"); + if ( exception == null ) { + out.println( "implicit exception object is null" ); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicit.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicit.jsp new file mode 100644 index 0000000000..6580b783aa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicit.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% + + out.println(request.getProtocol()); + + %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.gf new file mode 100644 index 0000000000..5d54825340 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.gf @@ -0,0 +1,14 @@ + + + + + + + + + + +true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.jsp new file mode 100644 index 0000000000..504bc6f231 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportHttp.jsp @@ -0,0 +1,45 @@ +<%-- + + Copyright (c) 2021 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% /** Name: implicitImportJsp + Description: Use jsp page directive with language="java" + Do not specify jakarta.servlet.http in the import attribute + as it should be available implicitly. Validate + that an Cookie object can be created. + + Result:No error +**/ %> + + + +<%@ page language="java" %> + +<% + + Cookie cookie = new Cookie("name","value"); + + +%> + +<%= cookie instanceof jakarta.servlet.http.Cookie %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.gf new file mode 100644 index 0000000000..208204e274 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.gf @@ -0,0 +1,16 @@ + + + + + + + + + + + +true + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.jsp new file mode 100644 index 0000000000..e2cd4ab01d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportJsp.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% /** Name: implicitImportJsp + Description: Use jsp page directive with language="java" + with no import statement. Validate that + jakarta.servlet.jsp.* was imported implicitly + by creating an instance of JspFactory. + Result:No error +**/ %> + + + + +<%@ page language="java" %> + +<% + + JspFactory jfac=JspFactory.getDefaultFactory(); + +%> + +<%= jfac instanceof jakarta.servlet.jsp.JspFactory %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.gf new file mode 100644 index 0000000000..8524b5720b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.gf @@ -0,0 +1,15 @@ + +implicitImportLang + + + + + + + +sun +5 + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.jsp new file mode 100644 index 0000000000..e15bf80513 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportLang.jsp @@ -0,0 +1,46 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +implicitImportLang + +<% /** Name: implicitImportLang + Description: Use a jsp directive with language="java" + Do not specify the import attribute. The java.lang + package should be available implicitly. Validate + that a String and Integer object can be created. + + Result:No error +**/ %> + +<%@ page language="java" %> + + + +<% + String str="sun"; + out.println(str); + Integer i=new Integer(5); + String x=i.toString(); + out.println(x); + + + %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.gf new file mode 100644 index 0000000000..75a25da6e1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.gf @@ -0,0 +1,6 @@ + + +HTTP/1.0 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.jsp new file mode 100644 index 0000000000..0e904dd9e7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/implicitImportServlet.jsp @@ -0,0 +1,46 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + +<% /** Name: implicitImportServlet + Description: Use jsp page directive with language="java" + Do not specify the import attribute. The jakarta.servlet + package should be available implicitly. Validate + that a RequestDispatch object can be created. + + Result:No error +**/ %> + + + +<%@ page language="java" %> + +<% + +try{ + + RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher( "/implicit.jsp"); + rd.forward(request, response); + + }catch(Exception o){o.printStackTrace();} + +%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/jsp_coresyntx_directive_page_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/jsp_coresyntx_directive_page_web.xml new file mode 100644 index 0000000000..7fa6b8cd07 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/jsp_coresyntx_directive_page_web.xml @@ -0,0 +1,29 @@ + + + + + JspCorSynDirctPage + + 5 + + + java.lang.ArithmeticException + /willNotSee.jsp + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/myerrorpage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/myerrorpage.jsp new file mode 100644 index 0000000000..d081552e9f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/myerrorpage.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +myerrorpage + + +<%@ page isErrorPage="true" %> +<% out.println("This is a test error page"); %> +<% out.println("You have recieved the correct error page."); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBuffAutoflush.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBuffAutoflush.jsp new file mode 100644 index 0000000000..7b7575023f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBuffAutoflush.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeBuffAutoflush + +<% /** Name: negativeBuffAutoflush + Description: Set autoflush to false when buffer=none + Result: translation error +**/ %> +<%@ page autoFlush="false" %> +<%@ page buffer="none" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.gf new file mode 100644 index 0000000000..cb3d0d887d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.gf @@ -0,0 +1,5 @@ +Buffer overflow occurred. Exception successfully caught. +Test status: PASS + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.jsp new file mode 100644 index 0000000000..4c10528b73 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferOverflowException.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeBufferOverflowException + +<% /** Name: negativeBufferOverflowException + Description: Set autoflush to false. Write more + date out than the 8KB buffer can handle. + Result: An exception should be thrown. +**/ %> +<%@ page autoFlush="false" %> +<% try { + for (int d = 0; d < 60000; d++ ) { + out.print(d+" "); + } + } catch ( Throwable t ) { + out.clear(); + out.println( "Buffer overflow occurred. Exception successfully caught." ); + out.println( "Test status: PASS" ); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix.jsp new file mode 100644 index 0000000000..cc4374c543 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeBufferSuffixTest + +<%@ page buffer="23k" %> +Test FAILED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix2.jsp new file mode 100644 index 0000000000..7e6fe3bb9e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeBufferSuffix2.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + + + Test FAILED. + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError.jsp new file mode 100644 index 0000000000..8b93e3eb4c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateAutoFlushFatalTranslationError + +<% /** Name: negativeDuplicateAutoFlushFatalTranslationError + Description: Verify that multiple uses of autoFlush attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page autoFlush="false" autoFlush="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError2.jsp new file mode 100644 index 0000000000..2f0f7ac662 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateAutoFlushFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateAutoFlushFatalTranslationError + +<% /** Name: negativeDuplicateAutoFlushFatalTranslationError + Description: Verify that multiple uses of autoFlush attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page autoFlush="false" %> +<%@ page autoFlush="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError.jsp new file mode 100644 index 0000000000..db587a1964 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateBufferFatalTranslationError + +<% /** Name: negativeDuplicateBufferFatalTranslationError + Description: Verify that multiple uses of buffer attribute + result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page buffer="12kb" buffer="8kb" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError2.jsp new file mode 100644 index 0000000000..ebc7090453 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateBufferFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateBufferFatalTranslationError + +<% /** Name: negativeDuplicateBufferFatalTranslationError + Description: Verify that multiple uses of buffer attribute + result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page buffer="12kb" %> +<%@ page buffer="8kb" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError.jsp new file mode 100644 index 0000000000..f0cde0ae84 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateContentFatalTranslationError + +<% +/** + Name : negativeDuplicateContentFatalTranslationError + Description : Verify that multiple uses of the contentType attribute + result in a fatal translation error. + Result : A fatal translation error +**/ +%> +<%@ page contentType="text/plain;charset=ISO-8859-1" contentType="text/html;charset=ISO-8859-1" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError2.jsp new file mode 100644 index 0000000000..c2f10d5865 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateContentFatalTranslationError2.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateContentFatalTranslationError + +<% +/** + Name : negativeDuplicateContentFatalTranslationError + Description : Verify that multiple uses of the contentType attribute + result in a fatal translation error. + Result : A fatal translation error +**/ +%> +<%@ page contentType="text/plain;charset=ISO-8859-1" %> +<%@ page contentType="text/html;charset=ISO-8859-1" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError.jsp new file mode 100644 index 0000000000..ad91f56529 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateErrorPageFatalTranslationError + +<% /** Name : negativeDuplicateErrorPageFatalTranslationError + Description : Verify that multiple uses of the errorPage attribute + with different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page errorPage="FatalTranslationErrorPage.jsp" errorPage="duplicateErrorPage.jsp" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError2.jsp new file mode 100644 index 0000000000..d9c8e16d06 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateErrorPageFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateErrorPageFatalTranslationError + +<% /** Name : negativeDuplicateErrorPageFatalTranslationError + Description : Verify that multiple uses of the errorPage attribute + with different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page errorPage="FatalTranslationErrorPage.jsp" %> +<%@ page errorPage="duplicateErrorPage.jsp" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError.jsp new file mode 100644 index 0000000000..cedac31d28 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateExtendsFatalTranslationError + +<% /** Name : negativeDuplicateExtendsFatalTranslationError + Description : Verify that multiple uses of the extends attribute + result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage" extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.DuperPage" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError2.jsp new file mode 100644 index 0000000000..a733193632 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateExtendsFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateExtendsFatalTranslationError + +<% /** Name : negativeDuplicateExtendsFatalTranslationError + Description : Verify that multiple uses of the extends attribute + result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage" %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.DuperPage" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError.jsp new file mode 100644 index 0000000000..9a3392a95e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateInfoFatalTranslationError + +<% /** Name : negativeDuplicateInfoFatalTranslationError + Description : Verify that multiple uses of the info attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page info="Fatal Translation Error" info="Another Fatal" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError2.jsp new file mode 100644 index 0000000000..4aba8f47cd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateInfoFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateInfoFatalTranslationError + +<% /** Name : negativeDuplicateInfoFatalTranslationError + Description : Verify that multiple uses of the info attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page info="Fatal Translation Error" %> +<%@ page info="Another Fatal" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError.jsp new file mode 100644 index 0000000000..fd446684a3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsELIgnoredFatalTranslationError + +<% /** Name: negativeDuplicateIsELIgnoredFatalTranslationError + Description: Verify that multiple uses of isELIgnored attribute + result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isELIgnored="true" isELIgnored="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError2.jsp new file mode 100644 index 0000000000..4a7efeb327 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsELIgnoredFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsELIgnoredFatalTranslationError + +<% /** Name: negativeDuplicateIsELIgnoredFatalTranslationError + Description: Verify that multiple uses of isELIgnored attribute + result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isELIgnored="true" %> +<%@ page isELIgnored="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError.jsp new file mode 100644 index 0000000000..4b3edc86f0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsErrorPageFatalTranslationError + +<% /** Name: negativeDuplicateIsErrorPageFatalTranslationError + Description: Verify that multiple uses of isErrorPage attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isErrorPage="false" isErrorPage="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError2.jsp new file mode 100644 index 0000000000..34efcd4e14 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsErrorPageFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsErrorPageFatalTranslationError + +<% /** Name: negativeDuplicateIsErrorPageFatalTranslationError + Description: Verify that multiple uses of isErrorPage attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isErrorPage="false" %> +<%@ page isErrorPage="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError.jsp new file mode 100644 index 0000000000..602f731227 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsThreadSafeFatalTranslationError + +<% /** Name: negativeDuplicateIsThreadSafeFatalTranslationError + Description: Verify that multiple uses of isThreadSafe attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isThreadSafe="true" isThreadSafe="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError2.jsp new file mode 100644 index 0000000000..eb06130005 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateIsThreadSafeFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateIsThreadSafeFatalTranslationError + +<% /** Name: negativeDuplicateIsThreadSafeFatalTranslationError + Description: Verify that multiple uses of isThreadSafe attribute + with different values result in a fatal translation error. + Result: A fatal translation error +**/ %> +<%@ page isThreadSafe="true" %> +<%@ page isThreadSafe="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError.jsp new file mode 100644 index 0000000000..11dfb47fdc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateLanguageFatalTranslationError + +<% /** Name : negativeDuplicateLanguageFatalTranslationError + Description : Verify that multiple uses of the language attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page language="java" language="c" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError2.jsp new file mode 100644 index 0000000000..97fbd33553 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateLanguageFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateLanguageFatalTranslationError + +<% /** Name : negativeDuplicateLanguageFatalTranslationError + Description : Verify that multiple uses of the language attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page language="java" %> +<%@ page language="c" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError.jsp new file mode 100644 index 0000000000..69bd765625 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateSessionFatalTranslationError + +<% /** Name : negativeDuplicateSessionFatalTranslationError + Description : Verify that multiple uses of the session attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page session="true" session="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError2.jsp new file mode 100644 index 0000000000..2d074f24d9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeDuplicateSessionFatalTranslationError2.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeDuplicateSessionFatalTranslationError + +<% /** Name : negativeDuplicateSessionFatalTranslationError + Description : Verify that multiple uses of the session attribute with + different values result in a fatal translation error. + Result : A fatal translation error. +**/ %> +<%@ page session="true" %> +<%@ page session="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeFatalTranslationError.jsp new file mode 100644 index 0000000000..2e75ed5d2c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeFatalTranslationError.jsp @@ -0,0 +1,37 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeFatalTranslationError + +<% /** Name : negativeFatalTranslationError + Description : Here, the errorPage attribute of the page + directive is used. An exception is + generated by dividing an integer value by 0. + The request is forward onto an error page where + the isErrorPage attribute is set to the default + of false. The Error page will attempt to access + the implicit exception object. + Result : A fatal translation error should occur. +**/ %> + +<%@ page errorPage="FatalTranslationErrorPage.jsp" autoFlush="false" %> +<%! int i=0; %> +<%= 9/i %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportIo.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportIo.jsp new file mode 100644 index 0000000000..48bf262c50 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportIo.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeImportUtil + +<% /** Name: negativeImportUtil + Description: Use jsp page directive with language="java". + Validate that java.util.* is not imported by default +**/ %> +<%@ page language="java" %> + +<% + File file=new File(); + %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportUtil.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportUtil.jsp new file mode 100644 index 0000000000..4c9b3f4f8a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeImportUtil.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeImportUtil + +<% /** Name: negativeImportUtil + Description: Use jsp page directive with language="java". + Validate that java.util.* is not imported by default +**/ %> +<%@ page language="java" %> + +<% + Properties props=new Properties(); + %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeMultiplePageEncoding.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeMultiplePageEncoding.jsp new file mode 100644 index 0000000000..3751d4b371 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeMultiplePageEncoding.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeMultiplePageEncoding + +<% /** Name: negativeMultiplePageEncoding + Description: Validate the multiple pageEncoding attributes + cause translation error + Result:a translation error +**/ %> +<%@ page pageEncoding="UTF-8" %> +<%@ page pageEncoding="ISO-8859-15" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeSessionFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeSessionFatalTranslationError.jsp new file mode 100644 index 0000000000..b4cbe037c4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/negativeSessionFatalTranslationError.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +negativeSessionFatalTranslationError + +<% /** Name : negativeSessionFatalTranslationError + Description:Set the value of the session attribute to "false". + Try to access the implicit session object. + Result: A fatal translation error should occur. +**/ %> + +<%@ page session="false" %> +<% + if ( session == null ) { + out.println( "Session object shouldn't be available." ); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffAutoflush.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffAutoflush.jsp new file mode 100644 index 0000000000..f3d2894728 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffAutoflush.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBuffAutoflush + +<% /** Name: positiveBuffAutoflush + Description: Set autoflush to true. Use default buffer size of 8kb. + Write more than 8kb of data to the out object + Result: Should return all data written to out without throwing an + exception. +**/ %> + +<%@ page autoFlush="true" %> +<% for(int d=0;d<6000;d++) out.print(d+" "); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffCreate.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffCreate.jsp new file mode 100644 index 0000000000..c2b3fbf65a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveBuffCreate.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveBuffCreate + +<% /** Name: positiveBuffCreate + Description: Create a buffer size of say 12kb. Keep autoflush + set to false(default).Write characters to the out object. Invoke + the flush() method on out to flush the output to the client. + Result:Should return the output that you sent to the client. +**/ %> + +<%@ page buffer="12kb" autoFlush="false" %> +<% for(int d=0;d<1000;d++) out.print(d+" "); out.flush(); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveContenttype.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveContenttype.jsp new file mode 100644 index 0000000000..b5f708362b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveContenttype.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveContenttype + +<% +/** + Name : positiveContenttype + Description : Here, the contentType directive is used to set the contentType as text/plain + and charset as ISO-8859-1. + Result : Expected to give the same values at javatest side, when these values are trapped. +**/ +%> +<%@ page contentType="text/plain;charset=ISO-8859-1" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDefaultIsErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDefaultIsErrorPage.jsp new file mode 100644 index 0000000000..791b8f3bce --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDefaultIsErrorPage.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDefaultIsErrorPage + +<% /** Name : positiveDefaultIsErrorPage.jsp + Description : Test the value of isErrorPage=false is default in a page. + This is set in the 'errorpagedefault.jsp' +**/ %> + +<%@ page errorPage="errorpagedefault.jsp" autoFlush="false" %> +<%! int i=0; %> +<%= 9/i %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateAutoFlush.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateAutoFlush.jsp new file mode 100644 index 0000000000..6ebc2b46c0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateAutoFlush.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateAutoFlush + +<% /** Name : positiveDuplicateAutoFlush + Description : Verify that multiple uses of the autoFlush attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page autoFlush="true" %> +<%@ page autoFlush="true" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateBuffer.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateBuffer.jsp new file mode 100644 index 0000000000..64130f5610 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateBuffer.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateBuffer + +<% /** Name: positiveDuplicateBuffer + Description: Verify that multiple uses of buffer attribute + with identical values accepted. + Result: Test Passed. +**/ %> +<%@ page buffer="8kb" %> +<%@ page buffer="8kb" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateContent.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateContent.jsp new file mode 100644 index 0000000000..d484d447f7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateContent.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateContent + +<% +/** + Name : positiveDuplicateContent + Description : Verify that multiple uses of the contentType attribute + with identical values are accepted. + Result : Test Passed. +**/ +%> +<%@ page contentType="text/plain;charset=ISO-8859-1" %> +<%@ page contentType="text/plain;charset=ISO-8859-1" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateErrorPage.jsp new file mode 100644 index 0000000000..9e5e0a6793 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateErrorPage.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateErrorPage + +<% /** Name : positiveDuplicateErrorPage + Description : Verify that multiple uses of the errorPage attribute + with identical values accepted. + Result : Test Passed. +**/ %> +<%@ page errorPage="FatalTranslationErrorPage.jsp" %> +<%@ page errorPage="FatalTranslationErrorPage.jsp" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateExtends.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateExtends.jsp new file mode 100644 index 0000000000..af626a8531 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateExtends.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateExtends + +<% /** Name : positiveDuplicateExtends + Description : Verify that multiple uses of the extends attribute + with identical values accepted. + Result : Test Passed. +**/ %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage" %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateInfo.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateInfo.jsp new file mode 100644 index 0000000000..993aaa081d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateInfo.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateInfo + +<% /** Name : positiveDuplicateInfo + Description : Verify that multiple uses of the info attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page info="two info attributes" %> +<%@ page info="two info attributes" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsELIgnored.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsELIgnored.jsp new file mode 100644 index 0000000000..0f4e5abbab --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsELIgnored.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateIsELIgnored + +<% /** Name : positiveDuplicateIsELIgnored + Description : Verify that multiple uses of the isELIgnored attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page isELIgnored="true" %> +<%@ page isELIgnored="true" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsErrorPage.jsp new file mode 100644 index 0000000000..fdb614418e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsErrorPage.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateIsErrorPage + +<% /** Name : positiveDuplicateIsErrorPage + Description : Verify that multiple uses of the isErrorPage attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page isErrorPage="false" %> +<%@ page isErrorPage="false" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsThreadSafe.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsThreadSafe.jsp new file mode 100644 index 0000000000..f63faae84b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateIsThreadSafe.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateIsThreadSafe + +<% /** Name : positiveDuplicateIsThreadSafe + Description : Verify that multiple uses of the isThreadSafe attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page isThreadSafe="false" %> +<%@ page isThreadSafe="false" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateLanguage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateLanguage.jsp new file mode 100644 index 0000000000..d03cfe29f6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateLanguage.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateLanguage + +<% /** Name : positiveDuplicateLanguage + Description : Verify that multiple uses of the language attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page language="java" %> +<%@ page language="java" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateSession.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateSession.jsp new file mode 100644 index 0000000000..96ce51146f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveDuplicateSession.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveDuplicateSession + +<% /** Name : positiveDuplicateSession + Description : Verify that multiple uses of the session attribute with + identical values accepted. + Result : Test Passed. +**/ %> +<%@ page session="true" %> +<%@ page session="true" %> +Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.gf new file mode 100644 index 0000000000..269dddc3fd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.gf @@ -0,0 +1,11 @@ + +myerrorpage + + + +This is a test error page + +You have recieved the correct error page. + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.jsp new file mode 100644 index 0000000000..fec8bc398e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveErrorPage.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveErrorPage + +<% /** Name : positiveErrorPage + Description : Here, the errorPage attribute of the page + directive is used. An exception is + generated by dividing an integer value by 0. + Result : Expected to show the specified errorpage. +**/ %> + +<%@ page errorPage="myerrorpage.jsp" autoFlush="false" %> +<%! int i=0; %> +<%= 9/i %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.gf new file mode 100644 index 0000000000..4729019fd0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.gf @@ -0,0 +1,8 @@ + +positiveExtends + + + +true + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.jsp new file mode 100644 index 0000000000..0d233d9bb7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveExtends.jsp @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveExtends + +<% /** + Name : positiveExtends + Description: we use extends directive to point our own defined class + as super class to the jsp + Result: we should get true to the expression after the directive + */ %> +<%@ page extends="com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage" %> +<%= (this instanceof com.sun.ts.tests.jsp.spec.core_syntax.directives.page.SuperPage ) %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.gf new file mode 100644 index 0000000000..bfba96235d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.gf @@ -0,0 +1,12 @@ + +positiveImport + + + + + +harry + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.jsp new file mode 100644 index 0000000000..34f7b39d6d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveImport.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveImport + +<% /** Name: positiveImport + Description: Use jsp page directive with language="java" and an + import attribute of java.util.Properties. Validate + that the Properties object can be created. + Result:No error +**/ %> + +<%@ page language="java" import="java.util.Properties" %> + +<% Properties props=new Properties(); + props.put("name","harry"); + String name=(String)props.getProperty("name"); + out.println(name); + %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.gf new file mode 100644 index 0000000000..1dbe05c3d4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.gf @@ -0,0 +1,10 @@ + +positiveInfo + + + + +positiveInfo of JCK + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.jsp new file mode 100644 index 0000000000..c5cee35817 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveInfo.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveInfo + +<% /** Name :positiveInfo + Description: Set the value of the info attribute to a specific + value.Then invoke the getServletInfo method on the current + page's Servlet object + Result: Should return the correct value of the set string. +**/ %> + +<%@ page info="positiveInfo of JCK" %> +<% out.println(getServletInfo()); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.gf new file mode 100644 index 0000000000..4694145386 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.gf @@ -0,0 +1,9 @@ + +positiveLang + + + + +hello + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.jsp new file mode 100644 index 0000000000..e0acf9f4ff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveLang.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveLang + +<% /** Name: positiveLang + Description: Use jsp page directive with the language + attribute in a page with the language attribute + set to "java". + Result:No error should be returned +**/ %> + +<%@ page language="java" %> +hello + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveMultipleImport.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveMultipleImport.jsp new file mode 100644 index 0000000000..6efcff602e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveMultipleImport.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveMultipleImport + +<% /** Name: positiveMultipleImport + Description: Validate the multiple import attributes + can be used without causing a fatal translation error. + Result:No error +**/ %> +<%@ page language="java" import="java.util.Properties" import="java.util.Hashtable" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveNoErrorPageBuff.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveNoErrorPageBuff.gf new file mode 100644 index 0000000000..5ef1d28a19 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveNoErrorPageBuff.gf @@ -0,0 +1,6 @@ + +errorpageNoBuff + +This is a test error page + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSession.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSession.jsp new file mode 100644 index 0000000000..ef223dc9ff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSession.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSession + +<% /** Name : positiveSession + Description:Set the value of the session attribute to "true". + Then try to access the implicit session object and + call one of its methods + Result: Returns the output of the method invoked on the + session object +**/ %> + +<%@ page session="true" %> +<% out.println("got "+session.isNew()); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSessionDefault.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSessionDefault.jsp new file mode 100644 index 0000000000..378ee86e40 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/positiveSessionDefault.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveSessionDefault + +<% /** Name : positiveSessionDefault + Description:Do not set the value of the session at all. + Try to invoke a method on the implicit session + object. + Result: Returns the output of the method invoked on the session + object. +**/ %> + +<% out.println("got "+session.isNew()); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/willNotSee.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/willNotSee.jsp new file mode 100644 index 0000000000..64ee60009c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/page/willNotSee.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page isErrorPage="true" %> +This error page must not be displayed since the jsp page +defines an errorPage. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/WEB-INF/common.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/WEB-INF/common.tld new file mode 100644 index 0000000000..2062dae7b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/WEB-INF/common.tld @@ -0,0 +1,35 @@ + + + + + 1.0 + common + + simple + com.sun.ts.tests.jsp.common.tags.tck.SimpleTag + JSP + + echo + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/jsp_core_syntx_direct_taglib_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/jsp_core_syntx_direct_taglib_web.xml new file mode 100644 index 0000000000..c87925299e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/jsp_core_syntx_direct_taglib_web.xml @@ -0,0 +1,31 @@ + + + + + JspCorSynDirctTaglib + + 5 + + + + http://java.sun.com/tck/jsp/common + /WEB-INF/common.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/positiveTagLib.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/positiveTagLib.jsp new file mode 100644 index 0000000000..6bf233d2ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/positiveTagLib.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +positiveTagLib + +<%@ taglib uri="http://java.sun.com/tck/jsp/common" prefix="common" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/Errorpage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/Errorpage.jsp new file mode 100644 index 0000000000..823f62c85b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/Errorpage.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkException + +<%@ page isErrorPage="true" %> + + +Is exception an instance of java.lang.ArithmeticException: <%= exception instanceof java.lang.ArithmeticException %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.gf new file mode 100644 index 0000000000..93b84d15a2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.gf @@ -0,0 +1,10 @@ + +checkApplication Test + + + + +true
          +Value of Context Init parameter param1: bilbo
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.jsp new file mode 100644 index 0000000000..4e225840db --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkApplication.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkApplication Test + +<% /** Name:checkApplicationTest + Description: Returns true if application + is of type jakarta.servlet.ServletContext + else returns false. Then verify that the + Context init parameter, contextParam1, is + available using the application object. + Result: Returns true if the application object + is the correct object type and print + a non-null value for the context init + parameter. +**/ %> + + +<%= (application instanceof jakarta.servlet.ServletContext) %>
          +Value of Context Init parameter param1: <%= application.getInitParameter( "contextParam1" ) %>
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.gf new file mode 100644 index 0000000000..c69121dcc7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.gf @@ -0,0 +1,11 @@ + +checkConfig Test + + + +true +
          +Value of param1 is: hobbit
          +Value of param2 is: gollum
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.jsp new file mode 100644 index 0000000000..8adf08296c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkConfig.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkConfig Test + +<% /** Name:checkConfig + Description: Checks whether configuration information + is being passed to the server page. Verify that the + implicit config object is an instance of + jakarta.servlet.ServletConfig and then print out the + values of two servlet initialization parameters. + Result: Display true and the values of configParam1 and configParam2 +**/ %> + +<%= (config instanceof jakarta.servlet.ServletConfig) %> +
          +Value of param1 is: <%= config.getInitParameter( "configParam1" ) %>
          +Value of param2 is: <%= config.getInitParameter( "configParam2" ) %>
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.gf new file mode 100644 index 0000000000..24b5ae710a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.gf @@ -0,0 +1,9 @@ + +checkException + + + + +Is exception an instance of java.lang.ArithmeticException: true + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.jsp new file mode 100644 index 0000000000..61851a80be --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkException.jsp @@ -0,0 +1,42 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkException Test + +<% /** Name:checkExceptionTest + Description: Cause a java.lang.ArithmeticException by + dividing by zero. The Exception should + be passed to the error page as specified + by the errorPage attribute of the page + directive. The errorpage will verify the + type of exception. + type java.lang.Throwable + Result: Errorpage is called up, where this check is done. + Should return true. +**/ %> + +<%@ page errorPage="Errorpage.jsp" %> + +<% + int i=0; + int j=9; + int k=j/i; +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.gf new file mode 100644 index 0000000000..18b7fb3265 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.gf @@ -0,0 +1,8 @@ + +checkOut + + + +true + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.jsp new file mode 100644 index 0000000000..5a9a9635b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkOut.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkOut + +<% /** Name: checkOut + Description: Checking 'out' is of the type + jakarta.servlet.jsp.JspWriter + Result: true +**/ %> + +<%= (out instanceof jakarta.servlet.jsp.JspWriter ) %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.gf new file mode 100644 index 0000000000..67f189b159 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.gf @@ -0,0 +1,9 @@ + +checkPage + + + +true
          +true
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.jsp new file mode 100644 index 0000000000..beb0dc8d77 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPage.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkPage + +<% /** Name: checkPage + Description: Validate that the implicit page + object is of type java.lang.Object. + Also verify that this is the same + reference as page. + Result: writes true twice. +**/ %> + +<%= (page instanceof java.lang.Object ) %>
          +<%= ( page == this ) %>
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.gf new file mode 100644 index 0000000000..374393ffed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.gf @@ -0,0 +1,10 @@ + +checkPageContext + + + +true
          +true
          + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.jsp new file mode 100644 index 0000000000..1cfddc1fcb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkPageContext.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkPageContext + +<% /** Name:checkPageContext + Description: Verify that implicit object pageContext + is an instance of jakarta.servlet.jsp.PageContext. + Then use PageContext.setAttribute() and + PageContext.getAttribute() to set and retrieve + an attribute from the page. + Result: true should be returned twice. +**/ %> + +<%= (pageContext instanceof jakarta.servlet.jsp.PageContext) %>
          +<% + pageContext.setAttribute( "available", new String( "true" ), PageContext.PAGE_SCOPE ); + String temp = (String) pageContext.findAttribute( "available" ); + out.print( temp ); +%>
          + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.gf new file mode 100644 index 0000000000..fb15c6e248 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.gf @@ -0,0 +1,19 @@ + +checkRequest + + + +true + +
          + +HTTP/1.0 + +
          + + + +2 +
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.jsp new file mode 100644 index 0000000000..dd2fc56fa1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkRequest.jsp @@ -0,0 +1,41 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkRequest + +<% /** Name:checkRequest + Description: Checks whether 'request' is an instance + of jakarta.servlet.ServletRequest and uses the request + object for getting the protocol and getting parameter + value passing Years. + Result:returns true,HTTP/1.0,2 +**/ %> + +<%= (request instanceof jakarta.servlet.ServletRequest) %> + +
          + +<% out.println(request.getProtocol()); %> +
          + + + +<% out.println(request.getParameter("Years")); %>
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.gf new file mode 100644 index 0000000000..034b39ef48 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.gf @@ -0,0 +1,9 @@ + +checkResponse + + + +true
          + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.jsp new file mode 100644 index 0000000000..22782b0c3b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkResponse.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkResponse + +<% /** Name:checkResponse + Description: Checks whether response is an object + of type jakarta.servlet.ServletResponse. Then verify + that a method can be called against the response object. +**/ %> + +<%= (response instanceof jakarta.servlet.ServletResponse) %>
          +<% + response.addHeader("TestHeader", "Method call OK"); +%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.gf new file mode 100644 index 0000000000..783042bb06 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.gf @@ -0,0 +1,12 @@ + +checkSession Test + + + +true +
          +
          + true +
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.jsp new file mode 100644 index 0000000000..f82bb66557 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/checkSession.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +checkSession Test + +<% /** Name:checkSession + Description: Checking 'session' is of type jakarta.servlet.HttpSession + and also whether an identifier is assigned to this session + or not. + Result: returns true +**/ %> + +<%= (session instanceof jakarta.servlet.http.HttpSession) %> +
          +
          +<% + if(session.getId()!=null) { +%> true <% } + else { +%> false <% } %> +
          + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/jsp_coresyntx_implicitobjects_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/jsp_coresyntx_implicitobjects_web.xml new file mode 100644 index 0000000000..e97d82a5f4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/jsp_coresyntx_implicitobjects_web.xml @@ -0,0 +1,46 @@ + + + + + JspCorSynImplicitObj + + contextParam1 + bilbo + + + checkConfigLogicalName + /checkConfig.jsp + + configParam1 + hobbit + + + configParam2 + gollum + + 0 + + + checkConfigLogicalName + /checkConfig + + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/jsp_coresyntx_script_declaration_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/jsp_coresyntx_script_declaration_web.xml new file mode 100644 index 0000000000..92f8d59a6b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/jsp_coresyntx_script_declaration_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynScrptDeclar + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.gf new file mode 100644 index 0000000000..6733f7504a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.gf @@ -0,0 +1,10 @@ + +positiveDeclaration + + + + +627 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jsp new file mode 100644 index 0000000000..0fa1eee8fb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jsp @@ -0,0 +1,71 @@ +<%-- + + The Apache Software License, Version 1.1 + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1999-2001 The Apache Software Foundation. All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Apache Software Foundation (http://www.apache.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The Jakarta Project", "Tomcat", and "Apache Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact apache@apache.org. + + 5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + ==================================================================== + + This software consists of voluntary contributions made by many + individuals on behalf of the Apache Software Foundation. For more + information on the Apache Software Foundation, please see + . + +--%> + + +positiveDeclaration + +<% /** Name : positiveDeclaration + Description: Create a JSP page with a valid Java + declaration element. Use the declared variable + in the page in a scriptlet. + Result: No error + **/ %> + +<%! int i=627; %> +<% out.println(i); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jspx new file mode 100644 index 0000000000..77dd11bb48 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/positiveDeclaration.jspx @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ELTernaryOperatorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ELTernaryOperatorTest.jsp new file mode 100644 index 0000000000..6f3658b9eb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ELTernaryOperatorTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Conditional Operator - A ? B : C + Evaluate B or C, depending on the result of the evaulation of A +--%> + +${'true' ? 'Test PASSED' : 'Test FAILED'} +${'false' ? 'Test FAILED' : 'Test PASSED'} +${1 > 0 ? 'Test PASSED' : 'Test FAILED'} +${2 <= 2 ? 'Test PASSED' : 'Test FAILED'} +${1 > 2 ? 'Test FAILED' : 'Test PASSED'} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElAttributeSearchTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElAttributeSearchTest.jsp new file mode 100644 index 0000000000..286d3a50de --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElAttributeSearchTest.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + pageContext.setAttribute("pageScoped", "page"); + pageContext.setAttribute("requestScoped", "request", PageContext.REQUEST_SCOPE); + pageContext.setAttribute("sessionScoped", "session", PageContext.SESSION_SCOPE); + pageContext.setAttribute("applicationScoped", "application", PageContext.APPLICATION_SCOPE); +%> + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators1Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators1Test.jsp new file mode 100644 index 0000000000..6f4e9c25a3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators1Test.jsp @@ -0,0 +1,188 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page + import="java.math.BigDecimal,java.math.BigInteger"%> +<%@ page contentType="text/plain"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el"%> +<% + pageContext.setAttribute("asdf", "asdf"); + + Float f1 = new Float(1.5f); + Float f2 = new Float(1.5e-4f); + Float f3 = new Float(1.5E+4); + BigDecimal bd1 = new BigDecimal(1.6d); + BigInteger bi1 = new BigInteger("5"); + pageContext.setAttribute("float1", f1); + pageContext.setAttribute("float2", f2); + pageContext.setAttribute("float3", f3); + pageContext.setAttribute("double1", new Double(1.5d)); + pageContext.setAttribute("double2", new Double(1.5e-4d)); + pageContext.setAttribute("double3", new Double(1.5E+4d)); + pageContext.setAttribute("long1", new Long(4)); + pageContext.setAttribute("integer1", new Integer(5)); + pageContext.setAttribute("short1", new Short((short) 6)); + pageContext.setAttribute("string1", "1.5"); + pageContext.setAttribute("string2", "1.5e-4"); + pageContext.setAttribute("string3", "1.5E+4"); + pageContext.setAttribute("bigdecimal1", bd1); + pageContext.setAttribute("biginteger1", bi1); + Double fPlus = new Double(f1.doubleValue() + f2.doubleValue() + + f3.doubleValue()); + Double fMinus = new Double(f1.doubleValue() - f2.doubleValue() + - f3.doubleValue()); + Double fMult = new Double(f1.doubleValue() * f2.doubleValue() + * f3.doubleValue()); + Double dPlus = new Double(1.5d + 1.5e-4d + 1.5E+4d); + Double dMinus = new Double(1.5d - 1.5e-4d - 1.5E+4d); + Double dMult = new Double(1.5d * 1.5e-4d * 1.5E+4d); + Double dMixPlus = new Double(1.5d + 4d); + Double dMixMinus = new Double(1.5d - 5d); + Double dMixMult = new Double(1.5d * 6d); + + BigDecimal bigDecPlus = bd1.add(new BigDecimal(f1.doubleValue())); + BigDecimal bigDecMinus = bd1.subtract(new BigDecimal(bi1)); + BigDecimal bigDecMult = bd1.multiply(new BigDecimal("1.5e-4")); + BigDecimal bigDecPlus1 = bd1.add(new BigDecimal( + new Short((short) 6).doubleValue())); + BigDecimal bigDecMinus1 = bd1.subtract(new BigDecimal( + new Integer(5).doubleValue())); + BigDecimal bigDecMult1 = bd1.multiply(new BigDecimal(new Long(4) + .doubleValue())); + + BigDecimal bigIntPlusFloat = new BigDecimal(bi1) + .add(new BigDecimal(f1.doubleValue())); + BigDecimal bigIntMinusDouble = new BigDecimal(bi1) + .subtract(new BigDecimal("1.5")); + BigDecimal bigIntMultString = new BigDecimal(bi1) + .multiply(new BigDecimal("1.5")); + + BigInteger bigIntPlus = bi1.add(new BigInteger(new Integer(5) + .toString())); + BigInteger bigIntMinus = bi1.subtract(new BigInteger(new Long(4) + .toString())); + BigInteger bigIntMult = bi1.multiply(new BigInteger(new Short( + (short) 6).toString())); + + Long lPlus = new Long(4 + 5); + Long lMinus = new Long(4 - 5); + Long lMult = new Long(4 * 5); + Integer iZero = new Integer(0); +%> +<%-- Validates binary operators +, -, * --%> + +<% + try { +%> +${asdf - 6} Test FAILED. Exception did not occur when trying to evaluate +"'asdf' - 6" using binary operator -. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> +${asdf * 6} Test FAILED. Exception did not occur when trying to evaluate +"'asdf' * 6" using binary operator *. +<% + } catch (Throwable t) { + } +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators2Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators2Test.jsp new file mode 100644 index 0000000000..b4ce1beea0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators2Test.jsp @@ -0,0 +1,101 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.math.BigDecimal, + java.math.BigInteger"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +<% + pageContext.setAttribute("asdf", "asdf"); + + Float f1 = new Float(1.5f); + Float f2 = new Float(1.5e-4f); + Float f3 = new Float(1.5E+4); + BigDecimal bd1 = new BigDecimal(1.6d); + BigInteger bi1 = new BigInteger("5"); + Long l1 = new Long(4); + Integer i1 = new Integer(5); + Short s1 = new Short((short) 6); + pageContext.setAttribute("long1", l1); + pageContext.setAttribute("integer1", i1); + pageContext.setAttribute("short1", s1); + pageContext.setAttribute("float1", f1); + pageContext.setAttribute("float2", f2); + pageContext.setAttribute("float3", f3); + pageContext.setAttribute("double1", new Double(1.5d)); + pageContext.setAttribute("double2", new Double(1.5e-4d)); + pageContext.setAttribute("double3", new Double(1.5E+4d)); + pageContext.setAttribute("string1", "1.5"); + pageContext.setAttribute("string2", "1.5e-4"); + pageContext.setAttribute("string3", "1.5E+4"); + pageContext.setAttribute("bigdecimal1", bd1); + pageContext.setAttribute("biginteger1", bi1); + Double fDiv = new Double(f1.doubleValue() / f2.doubleValue() / f3.doubleValue()); + Double dDiv = new Double(1.5d / 1.5e-4 / 1.5E+4); + Integer iZero = new Integer(0); + Double lDiv = new Double(l1.doubleValue() / s1.doubleValue()); + Double iDiv = new Double(i1.doubleValue() / s1.doubleValue()); + BigDecimal bdDiv1 = bd1.divide(new BigDecimal(bi1), BigDecimal.ROUND_HALF_UP); + BigDecimal bdDiv2 = bd1.divide(new BigDecimal(new Double(1.5d).doubleValue()), BigDecimal.ROUND_HALF_UP); + BigDecimal bdDiv3 = new BigDecimal(bi1).divide(new BigDecimal(new Double(1.5d).doubleValue()), BigDecimal.ROUND_HALF_UP); + BigDecimal bdDiv4 = new BigDecimal(bi1).divide(bd1, BigDecimal.ROUND_HALF_UP); + +%> +<%-- Validates binary operators / and div --%> + +<% try { %> + ${asdf / 6} + Test FAILED. Exception did not occur when trying to evaluate + "'asdf' / 6" using binary operator +. +<% } catch (Throwable t) { } %> + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators3Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators3Test.jsp new file mode 100644 index 0000000000..5c595f8a28 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators3Test.jsp @@ -0,0 +1,105 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.math.BigDecimal, + java.math.BigInteger"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +<% + pageContext.setAttribute("asdf", "asdf"); + + Float f1 = new Float(1.5f); + Float f2 = new Float(1.5e-4); + Float f3 = new Float(1.5E+4); + BigDecimal bd1 = new BigDecimal(1.6d); + BigInteger bi1 = new BigInteger("5"); + pageContext.setAttribute("bigdecimal1", bd1); + pageContext.setAttribute("biginteger1", bi1); + pageContext.setAttribute("float1", f1); + pageContext.setAttribute("float2", f2); + pageContext.setAttribute("float3", f3); + pageContext.setAttribute("double1", new Double(1.5d)); + pageContext.setAttribute("double2", new Double(1.5e-4d)); + pageContext.setAttribute("double3", new Double(1.5E+4d)); + pageContext.setAttribute("long1", new Long(4)); + pageContext.setAttribute("integer1", new Integer(5)); + pageContext.setAttribute("short1", new Short((short) 6)); + pageContext.setAttribute("string1", "1.5"); + pageContext.setAttribute("string2", "1.5e-4"); + pageContext.setAttribute("string3", "1.5E+4"); + Double fMod = new Double(f1.doubleValue() % f2.doubleValue() % f3.doubleValue()); + Double dMod = new Double(1.5d % 1.5e-4d % 1.5E+4d); + Double dMixMod = new Double(1.5d % 4d); + Double bigDecimal1 = new Double(bd1.doubleValue() % f1.doubleValue()); + Double bigDecimal2 = new Double(bd1.doubleValue() % new Double("1.5").doubleValue()); + Double bigDecimal3 = new Double(bd1.doubleValue() % bi1.doubleValue()); + Double bigDecimal4 = new Double(bd1.doubleValue() % bd1.doubleValue()); + Double bigInteger1 = new Double(1.5d % bi1.doubleValue()); + BigInteger bigInteger2 = bi1.remainder(new BigInteger(new Integer(5).toString())); + + Long lMod = new Long(4 % 5); + Integer iZero = new Integer(0); +%> +<%-- Validates binary operators % and mod --%> + +<% try { %> + ${asdf % 6} + Test FAILED. Exception did not occur when trying to evaluate + "'asdf' % 6" using binary operator +. +<% } catch (Throwable t) { } %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators4Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators4Test.jsp new file mode 100644 index 0000000000..16f2718639 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBinaryOperators4Test.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + Boolean True = new Boolean(true); + Boolean False = new Boolean(false); + pageContext.setAttribute("True", True); + pageContext.setAttribute("False", False); +%> + +<%-- validate binary operators &&, and, ||, and or --%> + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanCoercionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanCoercionTest.jsp new file mode 100644 index 0000000000..55f8398834 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanCoercionTest.jsp @@ -0,0 +1,45 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el"%> + + + +<% + try { +%> + +Test FAILED. Failure didn't occur when attempting to coerce 'TypeBean' +to a Boolean. +<% + } catch (Throwable t) { + } +%> + +<%-- Validate coercions to Boolean --%> + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanLiteralTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanLiteralTest.jsp new file mode 100644 index 0000000000..fa1ddd4f60 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElBooleanLiteralTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElCharacterCoercionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElCharacterCoercionTest.jsp new file mode 100644 index 0000000000..d5b1c8b0a6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElCharacterCoercionTest.jsp @@ -0,0 +1,69 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + +<%-- Validate that if a Boolean or boolean is provided to + an action that accepts a Character, an error occurs --%> +<% try { %> + +Test FAILED. Coercion from boolean to Char didn't result in an error. +<% } catch (Throwable t) { } %> + +<% try { %> + +Test FAILED. Coercion from Boolean to Char didn't result in an error. +<% } catch (Throwable t) { } %> + +<%-- Validate that if any uncoercable type is provided, an error is raised --%> +<% try { %> + +<% } catch (Throwable t) { } %> + +<%-- Validate coercion to Character --%> + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaBeanAccessTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaBeanAccessTest.jsp new file mode 100644 index 0000000000..bc70e4e93f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaBeanAccessTest.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + + +<% try { %> + ${ecma.exception} + Test FAILED. Accessed a bean whose getter method throws an exception, + but the exception wasn't propagated by the EL machinery. +<% } catch (Throwable t) { + out.clearBuffer(); +} %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaListArrayTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaListArrayTest.jsp new file mode 100644 index 0000000000..da7a770395 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaListArrayTest.jsp @@ -0,0 +1,54 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page import="java.util.ArrayList, + java.util.List"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + List list = new ArrayList(); + list.add("element1"); + list.add("element2"); + String[] sArray = new String[] { "value1", "value2" }; + pageContext.setAttribute("tckArray", sArray); + pageContext.setAttribute("tckList", list); +%> + +<%-- validate failure of expr-b coersion to int --%> + +<% try { %> + ${tckList['asdf']} + Test FAILED. Expression 'tckList['asdf']' should not have been evaluated. +<% } catch (Throwable t) { } %> + +<% try { %> + ${tckArray['asdf']} + Test FAILED. Expression 'tckArray['asdf']' should not have been evaluated. +<% } catch (Throwable t) { } %> + + +<%-- Validate return values --%> + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaMapTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaMapTest.jsp new file mode 100644 index 0000000000..ad9594678a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaMapTest.jsp @@ -0,0 +1,37 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ page import="java.util.HashMap, + java.util.Map"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + Map map = new HashMap(); + map.put("key1", "value1"); + pageContext.setAttribute("tckMap", map); +%> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaNullValuesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaNullValuesTest.jsp new file mode 100644 index 0000000000..01fb5f0a48 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEcmaNullValuesTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEmptyOperatorTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEmptyOperatorTest.jsp new file mode 100644 index 0000000000..0989d884fc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElEmptyOperatorTest.jsp @@ -0,0 +1,76 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.util.List, + java.util.ArrayList, + java.util.Map, + java.util.HashMap, + java.util.Collection"%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + List eList = new ArrayList(); + List neList = new ArrayList(); + neList.add("string"); + Collection eCollection = eList; + Collection neCollection = neList; + Map eMap = new HashMap(); + Map neMap = new HashMap(); + neMap.put("key", "value"); + String[] eArray = new String[] { }; + String[] neArray = new String[] { "string" }; + pageContext.setAttribute("emptyList", eList); + pageContext.setAttribute("nonEmptyList", neList); + pageContext.setAttribute("emptyCollection", eCollection); + pageContext.setAttribute("nonEmptyCollection", neCollection); + pageContext.setAttribute("emptyMap", eMap); + pageContext.setAttribute("nonEmptyMap", neMap); + pageContext.setAttribute("emptyArray", eArray); + pageContext.setAttribute("nonEmptyArray", neArray); + pageContext.setAttribute("emptyString", ""); + pageContext.setAttribute("nonEmptyString", "string"); + Boolean False = new Boolean(false); + Boolean True = new Boolean(true); +%> + +<%-- Validate the EL 'empty' operator --%> + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFloatingPointLiteralTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFloatingPointLiteralTest.jsp new file mode 100644 index 0000000000..c57c13fea9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFloatingPointLiteralTest.jsp @@ -0,0 +1,68 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionInvocationTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionInvocationTest.jsp new file mode 100644 index 0000000000..64721427b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionInvocationTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +${el:substring(1,12,'TTest PASSEDD')} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionNamespaceTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionNamespaceTest.jsp new file mode 100644 index 0000000000..1977023e6a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElFunctionNamespaceTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitApplicationScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitApplicationScopeTest.jsp new file mode 100644 index 0000000000..eedf436159 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitApplicationScopeTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% pageContext.setAttribute("application", "applicationScope", PageContext.APPLICATION_SCOPE); %> + +<% pageContext.removeAttribute("application", PageContext.APPLICATION_SCOPE); %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitCookieTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitCookieTest.jsp new file mode 100644 index 0000000000..2ea5f0db9c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitCookieTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderTest.jsp new file mode 100644 index 0000000000..6f59b3bd7b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderValuesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderValuesTest.jsp new file mode 100644 index 0000000000..85d168e8df --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitHeaderValuesTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitInitParamTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitInitParamTest.jsp new file mode 100644 index 0000000000..f5c4213547 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitInitParamTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageContextTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageContextTest.jsp new file mode 100644 index 0000000000..fd116994e9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageContextTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageScopeTest.jsp new file mode 100644 index 0000000000..5280026523 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitPageScopeTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% pageContext.setAttribute("page", "pageScope"); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamTest.jsp new file mode 100644 index 0000000000..a5a707221a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamValuesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamValuesTest.jsp new file mode 100644 index 0000000000..0a6d7775fb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitParamValuesTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitRequestScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitRequestScopeTest.jsp new file mode 100644 index 0000000000..f9cfbdfbb6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitRequestScopeTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% pageContext.setAttribute("request", "requestScope", PageContext.REQUEST_SCOPE); %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitSessionScopeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitSessionScopeTest.jsp new file mode 100644 index 0000000000..0ce9b1ddb9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElImplicitSessionScopeTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% pageContext.setAttribute("session", "sessionScope", PageContext.SESSION_SCOPE); %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElIntegerLiteralTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElIntegerLiteralTest.jsp new file mode 100644 index 0000000000..7fa1d7e934 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElIntegerLiteralTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElInvocationAndUsageTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElInvocationAndUsageTest.jsp new file mode 100644 index 0000000000..4b2511cca7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElInvocationAndUsageTest.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +<% + pageContext.setAttribute("eval", "Evaluated"); +%> +<%-- + EL is invoked via the construct ${expr} + and must be interpreted by the container + when provided as body content of a custom + action, an attribute of a custom attribute + that accepts rtexpr values or in template + text outside of any action. Expressions will + not be evaluated when provided as body content + to custom actions have a body type of 'tagdependent'. + --%> + +Expression in template text: ${pageScope.eval} +These should not be evaluated: {pageScope.eval}, pageScope.eval}, {pageScope.eval + + + + Expression in body of action: ${pageScope.eval} + + + + Expression in body of tagdependent body content tag: ${pageScope.eval} + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonExistingFunctionNameTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonExistingFunctionNameTest.jsp new file mode 100644 index 0000000000..2da337bc37 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonExistingFunctionNameTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +${el:noPossibleWayThisFunctionCouldExist()} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonMatchingFunctionSignatureTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonMatchingFunctionSignatureTest.jsp new file mode 100644 index 0000000000..f5c4883b46 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonMatchingFunctionSignatureTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> +${el:substring(1,'TTestPASSED')} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonStaticPublicFunctionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonStaticPublicFunctionTest.jsp new file mode 100644 index 0000000000..f6e8c85003 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNonStaticPublicFunctionTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el/nonstatic" prefix="el" %> +${el:toString()} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNullLiteralTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNullLiteralTest.jsp new file mode 100644 index 0000000000..84cbaff4ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNullLiteralTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNumberCoercionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNumberCoercionTest.jsp new file mode 100644 index 0000000000..dc9a309fed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElNumberCoercionTest.jsp @@ -0,0 +1,485 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page + import="java.math.BigInteger,java.math.BigDecimal"%> +<%@ page contentType="text/plain"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el"%> + + + +<%-- Validate EL Number coercions --%> + +<%-- Validate boolean's cause an error condition --%> +<% + try { +%> + +Test FAILED. Expected an error condition when a number (Byte) type is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Short) is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Integer) is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Long) is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Float) is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Double) is +required and the EL expression yields a Boolean. +<% + } catch (Throwable t) { + } +%> + +<%-- Validate failure in the case where strings can't be converted --%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Byte) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Short) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Integer) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Long) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Float) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when a number type (Double) is +required and the EL expression is unable to conver the provided String +expression into a Number type. +<% + } catch (Throwable t) { + } +%> + +<%-- Validate error condition for any other type --%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (byte). +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (Short). +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (Integer). +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (Long). +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (Float). +<% + } catch (Throwable t) { + } +%> + +<% + try { +%> + +Test FAILED. Expected an error condition when an Object that can't be +converted to a Number type is provided as a value for an attribute that +only accepts Number types (Double). +<% + } catch (Throwable t) { + } +%> + +<%-- Validate Number coercions --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElOtherTypeCoercionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElOtherTypeCoercionTest.jsp new file mode 100644 index 0000000000..aeeba67340 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElOtherTypeCoercionTest.jsp @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + +<%-- If the target type has no PropertyEditor, fail --%> +<% try { %> + +<% } catch (Throwable t) { } %> + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElPrimitiveBoxedTypeConversionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElPrimitiveBoxedTypeConversionTest.jsp new file mode 100644 index 0000000000..8724da2970 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElPrimitiveBoxedTypeConversionTest.jsp @@ -0,0 +1,47 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + +<%-- Validate Boxed types can be properly converted to primitive types + and primitives types can be converted to boxed types. If the + test passes, no visible output will be displayed. If the test + fails, it will be manifest itself as a translation error. --%> + +<%-- boxed to primitive --%> + + + + + + + + + +<%-- primitive to boxed --%> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators1Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators1Test.jsp new file mode 100644 index 0000000000..00433fa6a6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators1Test.jsp @@ -0,0 +1,143 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.math.BigDecimal, + java.math.BigInteger"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + Boolean False = new Boolean(false); + Boolean True = new Boolean(true); + pageContext.setAttribute("float1", new Float(1.5f)); + pageContext.setAttribute("double1", new Double(1.6d)); + pageContext.setAttribute("byte1", new Byte((byte) 1)); + pageContext.setAttribute("short1", new Short((short) 2)); + pageContext.setAttribute("integer1", new Integer(3)); + pageContext.setAttribute("character1", new Character('9')); + pageContext.setAttribute("long1", new Long(4L)); + pageContext.setAttribute("string1", "3"); + pageContext.setAttribute("bigdecimal1", new BigDecimal("5.1")); + pageContext.setAttribute("biginteger1", new BigInteger("6")); + pageContext.setAttribute("double2", new Double(5.1)); + pageContext.setAttribute("integer2", new Integer(6)); +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators2Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators2Test.jsp new file mode 100644 index 0000000000..7a3b759e67 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElRelationalOperators2Test.jsp @@ -0,0 +1,109 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.math.BigDecimal, + java.math.BigInteger"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<% + Boolean False = new Boolean(false); + Boolean True = new Boolean(true); + pageContext.setAttribute("True", True); + pageContext.setAttribute("False", False); + pageContext.setAttribute("float1", new Float(1.6f)); + pageContext.setAttribute("double1", new Double(1.6d)); + pageContext.setAttribute("byte1", new Byte((byte) 1)); + pageContext.setAttribute("short1", new Short((short) 2)); + pageContext.setAttribute("integer1", new Integer(3)); + pageContext.setAttribute("character1", new Character('9')); + pageContext.setAttribute("long1", new Long(4L)); + pageContext.setAttribute("string1", "3"); + pageContext.setAttribute("bigdecimal1", new BigDecimal(1.6)); + pageContext.setAttribute("biginteger1", new BigInteger("3")); +%> + +<%-- Validate relation operators '==', '!=', 'eq', 'ne' --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStaticAttributeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStaticAttributeTest.jsp new file mode 100644 index 0000000000..44b3dc2f65 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStaticAttributeTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringCoercionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringCoercionTest.jsp new file mode 100644 index 0000000000..2a726c6da9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringCoercionTest.jsp @@ -0,0 +1,59 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain"%> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el"%> + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringLiteralTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringLiteralTest.jsp new file mode 100644 index 0000000000..3a40601f70 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElStringLiteralTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + + + + + " + object="${\'\\\'string\\\'\'}" display="true" /> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators1Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators1Test.jsp new file mode 100644 index 0000000000..00bcdb7b7e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators1Test.jsp @@ -0,0 +1,79 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="java.math.BigDecimal, + java.math.BigInteger"%> +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<%-- Validate the unary minus ('-') operator --%> + +<% + pageContext.setAttribute("float1", new Float(1.5f)); + pageContext.setAttribute("double1", new Double(1.5d)); + pageContext.setAttribute("long1", new Long(4L)); + pageContext.setAttribute("integer1", new Integer(-5)); + pageContext.setAttribute("short1", new Short((short) 6)); + pageContext.setAttribute("byte1", new Byte((byte) 1)); + pageContext.setAttribute("string1", "1.5"); + pageContext.setAttribute("string2", "1.5e-4"); + pageContext.setAttribute("string3", "1.5E+4"); + pageContext.setAttribute("string4", "-15"); + pageContext.setAttribute("bigdecimal1", new BigDecimal("100.5")); + pageContext.setAttribute("biginteger1", new BigInteger("125")); +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators2Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators2Test.jsp new file mode 100644 index 0000000000..1c268d132c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/ElUnaryOperators2Test.jsp @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/el" prefix="el" %> + +<%-- validate unary operator '!' and 'not' --%> + +<% + Boolean True = new Boolean(true); + Boolean False = new Boolean(false); + pageContext.setAttribute("True", True); + pageContext.setAttribute("False", False); +%> + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/el.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/el.tld new file mode 100644 index 0000000000..23654244f3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/el.tld @@ -0,0 +1,234 @@ + + + + + 1.0 + el + + checkObject + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.CheckObjectTag + JSP + + name + false + + + object + true + true + java.lang.Object + + + control + true + true + java.lang.Object + + + + checkLiteral + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.CheckLiteralTag + JSP + + name + false + + + object + true + true + java.lang.Object + + + control + true + true + java.lang.Object + + + display + false + + + + checkEcma + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.CheckECMATag + JSP + + name + false + + + object + true + true + java.lang.Object + + + control + true + true + java.lang.Object + + + display + false + + + + checkOperator + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.CheckOperatorTag + JSP + + name + false + + + object + true + true + java.lang.Object + + + control + true + true + java.lang.Object + + + display + false + + + + checkCoercion + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.CheckCoercionTag + JSP + + name + false + + + object + true + java.lang.Object + + + control + true + true + java.lang.Object + + + byte + true + java.lang.Byte + + + char + true + java.lang.Character + + + short + true + java.lang.Short + + + int + true + java.lang.Integer + + + long + true + java.lang.Long + + + float + true + java.lang.Float + + + double + true + java.lang.Double + + + bigInteger + true + java.math.BigInteger + + + bigDecimal + true + java.math.BigDecimal + + + string + true + + + boolean + true + java.lang.Boolean + + + typeBean + true + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.TypeBean + + + display + false + + + + echo + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.EchoTag + JSP + + echo + false + true + + + + dependent + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.EchoTag + tagdependent + + + static + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.EchoTag + JSP + + static + false + + + + substring + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.ElFunctions + java.lang.String substring(int, int, java.lang.String) + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/nonstatic.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/nonstatic.tld new file mode 100644 index 0000000000..8af2935464 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/WEB-INF/nonstatic.tld @@ -0,0 +1,31 @@ + + + + + 1.0 + nonstatic + + toString + com.sun.ts.tests.jsp.spec.core_syntax.scripting.el.ElFunctions + java.lang.String toString() + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/elBinaryOperatorParenthesesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/elBinaryOperatorParenthesesTest.jsp new file mode 100644 index 0000000000..4c233fa9f7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/elBinaryOperatorParenthesesTest.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +${true and (true && true)} +${true or (true && false)} +${7 ne (3 + 2)} +${7 eq (3 + 4)} +${7 mod (3 + 2)} +${7 div (3 + 2)} + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/jsp_coresyntx_script_el_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/jsp_coresyntx_script_el_web.xml new file mode 100644 index 0000000000..22536921f4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/jsp_coresyntx_script_el_web.xml @@ -0,0 +1,35 @@ + + + + + JspCorSynScrptEl + + 5 + + + + http://java.sun.com/tck/jsp/el + /WEB-INF/el.tld + + + http://java.sun.com/tck/jsp/el/nonstatic + /WEB-INF/nonstatic.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/jsp_coresyntx_script_escape_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/jsp_coresyntx_script_escape_web.xml new file mode 100644 index 0000000000..fd81ca1e54 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/jsp_coresyntx_script_escape_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynScrptEscape + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.gf new file mode 100644 index 0000000000..6b2f14fbe0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.gf @@ -0,0 +1,23 @@ + + + + + +positiveEscapingTest + + + +Joe said %> + + + +Joe said "hi!" + + +Joe said <% + + +"Joe said \"hello\"" + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.jsp new file mode 100644 index 0000000000..287c297f24 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/positiveEscapingTest.jsp @@ -0,0 +1,39 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- Validate recoginition and handling of JSP escape sequences --%> + + +positiveEscapingTest + + + +<%= "Joe said %\>" %> + + +<% String joes_statement = "hi!"; %> +<%= "Joe said \"" + joes_statement + "\"" %> + + +Joe said <\% + + +<%= "\"Joe said \\\"hello\\\"\"" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/jsp_coresyntx_script_expressions_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/jsp_coresyntx_script_expressions_web.xml new file mode 100644 index 0000000000..ed7eeedd76 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/jsp_coresyntx_script_expressions_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynScrptExpress + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.gf new file mode 100644 index 0000000000..6217d14126 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.gf @@ -0,0 +1,10 @@ + +positiveExpr + + + + + +50 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.jsp new file mode 100644 index 0000000000..a01d66baa6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExpr.jsp @@ -0,0 +1,72 @@ +<%-- + + The Apache Software License, Version 1.1 + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1999-2001 The Apache Software Foundation. All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Apache Software Foundation (http://www.apache.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The Jakarta Project", "Tomcat", and "Apache Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact apache@apache.org. + + 5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + ==================================================================== + + This software consists of voluntary contributions made by many + individuals on behalf of the Apache Software Foundation. For more + information on the Apache Software Foundation, please see + . + +--%> + + +positiveExpr + +<% /** Name: positiveExpr + Description:Create a valid JSP expression. + Result: The JSP page output with the evaluated + value of expression duly inserted in the + page. +**/ %> + +<%! int i=10,j=5; %> + +<%= i*j %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.gf new file mode 100644 index 0000000000..9c61289670 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.gf @@ -0,0 +1,9 @@ + +positiveExprComment + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.jsp new file mode 100644 index 0000000000..22dc5af7d8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprComment.jsp @@ -0,0 +1,71 @@ +<%-- + + The Apache Software License, Version 1.1 + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1999-2001 The Apache Software Foundation. All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Apache Software Foundation (http://www.apache.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The Jakarta Project", "Tomcat", and "Apache Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact apache@apache.org. + + 5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + ==================================================================== + + This software consists of voluntary contributions made by many + individuals on behalf of the Apache Software Foundation. For more + information on the Apache Software Foundation, please see + . + +--%> + + +positiveExprComment + +<% /** Name:positiveExprComment + Description: Create a JSP page with a JSP + expression inserted into a HTML comment + Result: The HTML should contain the value of the + expression inserted into the comment +**/ %> +<%! int i=10,j=5; %> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.gf new file mode 100644 index 0000000000..73fcc34ec9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.gf @@ -0,0 +1,11 @@ + +positiveExprWhiteSpace + + + +100 +100 +100 +100 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.jsp new file mode 100644 index 0000000000..a14cf98d31 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/positiveExprWhiteSpace.jsp @@ -0,0 +1,72 @@ +<%-- + + The Apache Software License, Version 1.1 + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1999-2001 The Apache Software Foundation. All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Apache Software Foundation (http://www.apache.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The Jakarta Project", "Tomcat", and "Apache Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact apache@apache.org. + + 5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + ==================================================================== + + This software consists of voluntary contributions made by many + individuals on behalf of the Apache Software Foundation. For more + information on the Apache Software Foundation, please see + . + +--%> + + +positiveExprWhiteSpace + +<% /** Name:positiveExprWhiteSpace + Description: Create different expressions, varying the whitespace. + Result: Should return the HTML of the page with the evaluated + value of the expression +**/ %> +<%! int i=10; %> +<%=i*i%> +<%= i*i%> +<%=i*i %> +<%= i*i %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/jsp_coresyntx_script_scriptlet_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/jsp_coresyntx_script_scriptlet_web.xml new file mode 100644 index 0000000000..47cdaa3296 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/jsp_coresyntx_script_scriptlet_web.xml @@ -0,0 +1,25 @@ + + + + + JspCorSynScrptScrptlet + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.gf new file mode 100644 index 0000000000..d25815682c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.gf @@ -0,0 +1,27 @@ + +positiveScriptlet + + + + + + + + 10 + + + + +10 + + + +10 + + + +ArithmeticException caught! + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.jsp new file mode 100644 index 0000000000..b244fd9ddd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/positiveScriptlet.jsp @@ -0,0 +1,108 @@ +<%-- + + The Apache Software License, Version 1.1 + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1999-2001 The Apache Software Foundation. All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by the + Apache Software Foundation (http://www.apache.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The Jakarta Project", "Tomcat", and "Apache Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact apache@apache.org. + + 5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + ==================================================================== + + This software consists of voluntary contributions made by many + individuals on behalf of the Apache Software Foundation. For more + information on the Apache Software Foundation, please see + . + +--%> + + +positiveScriptlet + +<% /** Name:positiveScriptlet + Description: Test a series of scriplets. + Result: Output of all the scriplets in the order + they appear. +**/ %> + + +<% +// simple java comments +/* multiline java comments +*/ +%> + + +<% int i=5; + int j=10; + if(j>i){ + %> 10 <% } + else { + %> 5 <% } %> + + +<%! int k=5; %> +<%! int l=10; %> +<% if(l>k){ %>10 <%} else { %> +5 <% } %> + + + +<% + counter.setCounter(10); + out.println(counter.getCounterValue()); +%> + + +<% + int q = 0; + try { + q = ( 9 / 0 ); + } catch ( ArithmeticException ae ) { + out.println( "ArithmeticException caught!" ); + } finally { + q = 0; + } +%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/AllowedDynamicAttributeValueTypes.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/AllowedDynamicAttributeValueTypes.jsp new file mode 100644 index 0000000000..7ded267f9f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/AllowedDynamicAttributeValueTypes.jsp @@ -0,0 +1,35 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          +<% + pageContext.setAttribute("dexp", "dollar", PageContext.PAGE_SCOPE); + pageContext.setAttribute("vexp", "value", PageContext.PAGE_SCOPE); + %> + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/DynamicAttributeSetterMethod.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/DynamicAttributeSetterMethod.jsp new file mode 100644 index 0000000000..83a45372ad --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/DynamicAttributeSetterMethod.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteral.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteral.jsp new file mode 100644 index 0000000000..0118a0eeea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteral.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError1.jsp new file mode 100644 index 0000000000..57d8f3e391 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError1.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError2.jsp new file mode 100644 index 0000000000..aa5540c67d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredMethodStringLiteralError2.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredValueCoercion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredValueCoercion.jsp new file mode 100644 index 0000000000..0007100c59 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ELDeferredValueCoercion.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> +<%@ page language="java" import="com.sun.ts.tests.common.el.spec.Book" %> + +begin
          +<% + Book novel = new Book("Moby Dick", "Herman Melville", "Random House", 1849); + pageContext.setAttribute("book", novel, PageContext.PAGE_SCOPE); + %> + + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ImplicitELImport.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ImplicitELImport.jsp new file mode 100644 index 0000000000..00a387d73e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/ImplicitELImport.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- jakarta.servlet.* --%> +${AsyncContext.ASYNC_CONTEXT_PATH} + +<%-- jakarta.servlet.jsp.* --%> +${PageContext.PAGE} + +<%-- jakarta.servlet.http.* --%> +${HttpServletRequest.BASIC_AUTH} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TagLibraryPoundTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TagLibraryPoundTranslationError.jsp new file mode 100644 index 0000000000..3a133bd679 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TagLibraryPoundTranslationError.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TemplateTextPoundTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TemplateTextPoundTranslationError.jsp new file mode 100644 index 0000000000..27b9d461fc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/TemplateTextPoundTranslationError.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + foo is #{foo} +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/WEB-INF/el_jsp.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/WEB-INF/el_jsp.tld new file mode 100644 index 0000000000..af2d18eeed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/WEB-INF/el_jsp.tld @@ -0,0 +1,227 @@ + + + + + + 1.0 + el + + ELDeferredValueValue test + ELDeferredValueValueTag + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredValueValueTag + empty + + litExpr + true + + java.lang.String + + + + poundExpr + true + + java.lang.String + + + + + ELDeferredValueCoercion test + ELDeferredValueCoercionTag + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredValueCoercionTag + empty + + intExpr + true + + int + + + + bookExpr + true + + java.lang.String + + + + + ELDeferredMethodValue test + ELDeferredMethodValueTag + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredMethodValueTag + empty + + litExpr + true + + java.lang.String name() + + + + poundExpr + true + + boolean add(Object) + + + + + ELDeferredMethodStringLiteral test + ELDeferredMethodStringLiteralTag + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredMethodStringLiteralTag + empty + + strExpr + true + + java.lang.String name() + + + + dblExpr + true + + double name() + + + + + ELDeferredMethodStringLiteralError test - void return value + ELDeferredMethodStringLiteralError1 + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredMethodStringLiteralTag + empty + + strExpr + true + + void name() + + + + dblExpr + true + + double name() + + + + + ELDeferredMethodStringLiteralError test - non-coerceable return value + ELDeferredMethodStringLiteralError2 + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredMethodStringLiteralTag + empty + + strExpr + true + + int name() + + + + dblExpr + true + + double name() + + + + + TagLibraryPoundTranslationError test + TagLibraryPoundTranslationError + com.sun.ts.tests.jsp.spec.el.jsp.ELDeferredValueValueTag + empty + + litExpr + true + + java.lang.String + + + + poundExpr + true + + + + AllowedDynamicAttributeValueTypes + AllowedDynamicAttributeValueTypes + com.sun.ts.tests.jsp.spec.el.jsp.AllowedDynamicAttributeValueTypesTag + JSP + + litExpr + true + true + + + scriptExpr + true + true + + + dollarExpr + true + true + + + valueExpr + true + true + + java.lang.Object + + + + methodExpr + true + true + + boolean add(Object) + + + + + DynamicAttributeSetterMethod + DynamicAttributeSetterMethod + com.sun.ts.tests.jsp.spec.el.jsp.DynamicAttributeSetterMethodTag + empty + + num + true + true + + + + Substitute tag for jstl c:set + set + com.sun.ts.tests.jsp.common.tags.tck.SetTag + empty + + var + true + + + value + true + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/jsp_el_jsp_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/jsp_el_jsp_web.xml new file mode 100644 index 0000000000..62ffd0d28f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/jsp_el_jsp_web.xml @@ -0,0 +1,25 @@ + + + + + JspElJsp + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredMethodValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredMethodValue.jsp new file mode 100644 index 0000000000..550f4c6277 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredMethodValue.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredValueValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredValueValue.jsp new file mode 100644 index 0000000000..23405440c1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/negativeELDeferredValueValue.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredMethodValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredMethodValue.jsp new file mode 100644 index 0000000000..47016713bb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredMethodValue.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredValueValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredValueValue.jsp new file mode 100644 index 0000000000..edc43151d2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/jsp/positiveELDeferredValueValue.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_jsp.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval1.jsp new file mode 100644 index 0000000000..1d7015d969 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval1.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> + +begin + + + + + + result is ${result} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval2.jsp new file mode 100644 index 0000000000..17441d931c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/CompositeExprEval2.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> +begin + + + num is ${num} + + ${result} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/DotAndIndexOperatorsSame.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/DotAndIndexOperatorsSame.jsp new file mode 100644 index 0000000000..c8bdf87bf4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/DotAndIndexOperatorsSame.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> + +begin + + + indexExpr is ${indexExpr} + dotExpr is ${dotExpr} + + + ${result} +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ELSyntaxEscape.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ELSyntaxEscape.jsp new file mode 100644 index 0000000000..0090e248f3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ELSyntaxEscape.jsp @@ -0,0 +1,94 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String ESCAPE_DOLLAR_EXPR = "\\${exprA}"; +private static final String ESCAPE_POUND_EXPR = "\\#{exprB}"; +private static final String EXPECTED_DOLLAR_VALUE = "${exprA}"; +private static final String EXPECTED_POUND_VALUE = "#{exprB}"; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expressions + ValueExpression vexpDollar = + jaContext.getExpressionFactory().createValueExpression( + elContext, ESCAPE_DOLLAR_EXPR, ESCAPE_DOLLAR_EXPR.getClass()); + ValueExpression vexpPound = + jaContext.getExpressionFactory().createValueExpression( + elContext, ESCAPE_POUND_EXPR, ESCAPE_POUND_EXPR.getClass()); + + if (vexpDollar != null && vexpPound != null) { + + Class expectedDollarClass = vexpDollar.getExpectedType(); + Class expectedPoundClass = vexpPound.getExpectedType(); + + if (expectedDollarClass != String.class) { + out.print("Test FAILED. Got type = " + expectedDollarClass.getName() + " "); + out.println("for " + ESCAPE_DOLLAR_EXPR); + return; + } + if (expectedPoundClass != String.class) { + out.print("Test FAILED. Got type = " + expectedPoundClass.getName() + " "); + out.println("for " + ESCAPE_POUND_EXPR); + return; + } + + String literalDollarVal = (String) vexpDollar.getValue(elContext); + if (!literalDollarVal.equals(EXPECTED_DOLLAR_VALUE)) { + out.println("Test FAILED. Got literalDollarValue = " + literalDollarVal); + return; + } + + String literalPoundVal = (String) vexpPound.getValue(elContext); + if (!literalPoundVal.equals(EXPECTED_POUND_VALUE)) { + out.println("Test FAILED. Got literalPoundValue = " + literalPoundVal); + return; + } + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr1.jsp new file mode 100644 index 0000000000..51e090ef41 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr1.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr2.jsp new file mode 100644 index 0000000000..94253bb81a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprAsMethodExpr2.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> + +begin + +end diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval1.jsp new file mode 100644 index 0000000000..c4e287d890 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval1.jsp @@ -0,0 +1,74 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String LITERAL_EXPR = "foo"; +private static final String EXPECTED_VALUE = LITERAL_EXPR; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expression + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, LITERAL_EXPR, LITERAL_EXPR.getClass()); + + if (vexp != null) { + + Class expectedClass = vexp.getExpectedType(); + if (expectedClass != String.class) { + out.println("Test FAILED. Got type = " + expectedClass.getName()); + return; + } + String literalVal = (String) vexp.getValue(elContext); + if (!literalVal.equals(EXPECTED_VALUE)) { + out.println("Test FAILED. Got literalValue = " + literalVal); + return; + } + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval2.jsp new file mode 100644 index 0000000000..4f30702715 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/LiteralExprEval2.jsp @@ -0,0 +1,74 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String LITERAL_EXPR = "true"; +private static final Boolean EXPECTED_VALUE = Boolean.TRUE; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expression + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, LITERAL_EXPR, EXPECTED_VALUE.getClass()); + + if (vexp != null) { + + Class expectedClass = vexp.getExpectedType(); + if (expectedClass != Boolean.class) { + out.println("Test FAILED. Got type = " + expectedClass.getName()); + return; + } + Boolean literalVal = (Boolean) vexp.getValue(elContext); + if (!literalVal.equals(EXPECTED_VALUE)) { + out.println("Test FAILED. Got literalValue = " + literalVal); + return; + } + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ParseOnceEvalMany.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ParseOnceEvalMany.jsp new file mode 100644 index 0000000000..cb1f98dedb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/ParseOnceEvalMany.jsp @@ -0,0 +1,79 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String VARIABLE_EXPR = "${foo}"; +private static final String EXPECTED_VALUE = "bar"; +private static final int ITERATIONS = 5; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expression + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, VARIABLE_EXPR, VARIABLE_EXPR.getClass()); + + if (vexp != null) { + + // set a value for it and do a sanity check + out.println("Setting value for value expression"); + vexp.setValue(elContext, EXPECTED_VALUE); + for (int i = 1; i <= ITERATIONS; ++i) { + String name = (String) vexp.getValue(elContext); + if (!name.equals(EXPECTED_VALUE)) { + out.println("Test FAILED on iteration " + i); + out.println("Set value = " + EXPECTED_VALUE); + out.println("Got value = " + name); + return; + } + } + + out.println("Test PASSED"); + + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/PoundDollarSameMeaning.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/PoundDollarSameMeaning.jsp new file mode 100644 index 0000000000..61242bfa60 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/PoundDollarSameMeaning.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/el_language.tld" %> + + + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion1.jsp new file mode 100644 index 0000000000..ae787e2406 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion1.jsp @@ -0,0 +1,76 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String VARIABLE_EXPR = "${foo}"; +private static final String EXPECTED_VALUE = "bar"; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expression + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, VARIABLE_EXPR, VARIABLE_EXPR.getClass()); + + if (vexp != null) { + + // set a value for it + out.println("Setting value for value expression"); + vexp.setValue(elContext, EXPECTED_VALUE); + + Class expectedClass = vexp.getExpectedType(); + Object obj = vexp.getValue(elContext); + + if (!(expectedClass.isInstance(obj))) { + out.println("Test FAILED. Expected type = " + expectedClass.getName()); + out.println("Got type = " + obj.getClass().getName()); + } + + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion2.jsp new file mode 100644 index 0000000000..e82d22b737 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/RValueCoercion2.jsp @@ -0,0 +1,79 @@ +<%-- + + Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page import="com.sun.ts.tests.jsp.common.util.JspTestUtil, + com.sun.ts.tests.common.el.spec.Book, + jakarta.el.ValueExpression, + jakarta.el.ELContext"%> +<%@ page contentType="text/plain" %> + +<%! +private static final String VARIABLE_EXPR = "${javabook}"; +private static final String EXPECTED_VALUE = "The Java Programming Language"; +%> + +<% + if (pageContext != null) { + ELContext elContext = pageContext.getELContext(); + + if (elContext != null) { + JspApplicationContext jaContext = + JspFactory.getDefaultFactory().getJspApplicationContext( + pageContext.getServletContext()); + if (jaContext != null) { + + try { + + // parse the value expression + ValueExpression vexp = + jaContext.getExpressionFactory().createValueExpression( + elContext, VARIABLE_EXPR, VARIABLE_EXPR.getClass()); + + if (vexp != null) { + + // set a value for it + out.println("Setting value for value expression"); + vexp.setValue(elContext, + new Book(EXPECTED_VALUE, "Arnold and Gosling", + "Addison Wesley", 1996)); + + Class expectedClass = vexp.getExpectedType(); + Object obj = vexp.getValue(elContext); + + if (!(expectedClass.isInstance(obj))) { + out.println("Test FAILED. Expected type = " + expectedClass.getName()); + out.println("Got type = " + obj.getClass().getName()); + } + + out.println("Test PASSED"); + } + else + out.println("Test FAILED. Null value returned for expression."); + } catch (Throwable t) { + JspTestUtil.handleThrowable(t, out, "CreateValueExpressionTest"); + } + } + else + out.println("Test FAILED. Unable to obtain JspApplicationContext"); + } + else + out.println("Test FAILED. Unable to obtain ELContext"); + } + else + out.println("Test FAILED. Unable to obtain PageContext."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/WEB-INF/el_language.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/WEB-INF/el_language.tld new file mode 100644 index 0000000000..ba4ef8600a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/WEB-INF/el_language.tld @@ -0,0 +1,92 @@ + + + + + + 1.0 + Language + + PoundDollarSameMeaning test + PoundDollarSameMeaningTag + com.sun.ts.tests.jsp.spec.el.language.PoundDollarSameMeaningTag + empty + + dollarExpr + true + true + java.lang.String + + + poundExpr + true + + java.lang.String + + + + + LiteralExprAsMethodExpr1 test + MethodStringLiteralTag + com.sun.ts.tests.jsp.spec.el.language.MethodStringLiteralTag + empty + + literalMethExpr + true + + java.lang.String name() + + + + + LiteralExprAsMethodExpr2 test + MethodIntegerLiteralTag + com.sun.ts.tests.jsp.spec.el.language.MethodIntegerLiteralTag + empty + + literalMethExpr + true + + java.lang.Integer name() + + + + + Substitute tag for jstl c:set + set + com.sun.ts.tests.jsp.common.tags.tck.SetTag + empty + + var + true + + + value + true + true + + + + count + com.sun.ts.tests.jsp.spec.el.language.Count + int count() + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/jsp_el_language_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/jsp_el_language_web.xml new file mode 100644 index 0000000000..b8bdf93401 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/el/language/jsp_el_language_web.xml @@ -0,0 +1,25 @@ + + + + + JspElLanguage + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NBadTagPageEncoding.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NBadTagPageEncoding.jsp new file mode 100644 index 0000000000..3fa628b199 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NBadTagPageEncoding.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NContTypeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NContTypeTest.jsp new file mode 100644 index 0000000000..c565e20dde --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NContTypeTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain; charset=ISO-8859-15" %> + +${'Test PASSED'} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jsp new file mode 100644 index 0000000000..9d81588493 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page pageEncoding="ISO-8859-1" %> +<% pageContext.setAttribute("testPassed", "Test PASSED"); %> +<%@ page contentType="text/plain" %> +<%@ include file="inclusion_iso.txt" %> +${testPassed} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jspx new file mode 100644 index 0000000000..29cee83bd1 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NIncludedContentTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NNoPageEncNoContTypeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NNoPageEncNoContTypeTest.jsp new file mode 100644 index 0000000000..12f5228b73 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NNoPageEncNoContTypeTest.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +${'Test PASSED'} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncContTypeTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncContTypeTest.jsp new file mode 100644 index 0000000000..0382bfd11b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncContTypeTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page pageEncoding="ISO-8859-15" contentType="text/plain; charset=ISO-8859-1" %> + +${'Test PASSED'} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncTest.jsp new file mode 100644 index 0000000000..1c9270aa22 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NPageEncTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page pageEncoding="ISO-8859-15" %> + +${'Test PASSED'} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jsp new file mode 100644 index 0000000000..83ff6d4192 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jsp @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" pageEncoding="UTF-3.14"%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jspx new file mode 100644 index 0000000000..d08e201866 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NUnsupportedEncodingTest.jspx @@ -0,0 +1,21 @@ + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingDirectiveTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingDirectiveTest.jspx new file mode 100644 index 0000000000..eedc9bca0c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingDirectiveTest.jspx @@ -0,0 +1,23 @@ + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingPropertyGroupTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingPropertyGroupTest.jspx new file mode 100644 index 0000000000..d77ba2a2a5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/I18NXmlPrologNonMatchingPropertyGroupTest.jspx @@ -0,0 +1,21 @@ + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/WEB-INF/tags/BadTagPageEncoding.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/WEB-INF/tags/BadTagPageEncoding.tag new file mode 100644 index 0000000000..ef8f438c4b Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/WEB-INF/tags/BadTagPageEncoding.tag differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BE.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BE.jsp new file mode 100644 index 0000000000..63c1e1ea20 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BE.jsp differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BadPageEncodingAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BadPageEncodingAttribute.jsp new file mode 100644 index 0000000000..b44cb54036 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16BadPageEncodingAttribute.jsp differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16ConfigElement.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16ConfigElement.jsp new file mode 100644 index 0000000000..63c1e1ea20 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16ConfigElement.jsp differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16LE.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16LE.jsp new file mode 100644 index 0000000000..044f443ec8 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16LE.jsp differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16PageEncodingAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16PageEncodingAttribute.jsp new file mode 100644 index 0000000000..f4fa2e2457 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF16PageEncodingAttribute.jsp differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8.jsp new file mode 100644 index 0000000000..27a9669d23 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8.jsp @@ -0,0 +1,18 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> +this is a test diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8ConfigElement.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8ConfigElement.jsp new file mode 100644 index 0000000000..27a9669d23 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/bom/UTF8ConfigElement.jsp @@ -0,0 +1,18 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> +this is a test diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_iso.txt b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_iso.txt new file mode 100644 index 0000000000..81f0945bac --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_iso.txt @@ -0,0 +1 @@ +Included Content diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_utf-16LE.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_utf-16LE.jspx new file mode 100644 index 0000000000..dbf1f2a0d8 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/inclusion_utf-16LE.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/jsp_i18n_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/jsp_i18n_web.xml new file mode 100644 index 0000000000..9804b5ab46 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/jsp_i18n_web.xml @@ -0,0 +1,40 @@ + + + + + JspInternationalization + + 5 + + + + /I18NXmlPrologNonMatchingPropertyGroupTest.jspx + UTF-16 + true + + + /bom/UTF16ConfigElement.jsp + UTF-16 + + + /bom/UTF8ConfigElement.jsp + UTF-16 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NContTypeTest.jspx new file mode 100644 index 0000000000..07fb89e893 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NContTypeTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NNoPageEncNoContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NNoPageEncNoContTypeTest.jspx new file mode 100644 index 0000000000..ed80b1c7eb Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NNoPageEncNoContTypeTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncContTypeTest.jspx new file mode 100644 index 0000000000..0c7e0a09da Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncContTypeTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncTest.jspx new file mode 100644 index 0000000000..53841902d8 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/noprolog/I18NPageEncTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NContTypeTest.jspx new file mode 100644 index 0000000000..70ac128882 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NContTypeTest.jspx @@ -0,0 +1 @@ +Lo§”“@¥…™¢‰–•~ñKð@…•ƒ–„‰•‡~ÉÂÔø÷ñonLO``@@@Ö—¨™‰‡ˆ£@òððò@⤕@Ô‰ƒ™–¢¨¢£…”¢k@É•ƒK@@Á““@™‰‡ˆ£¢@™…¢…™¥…„K@@@âäÕ@×ÙÖ×ÙÉÅãÁÙèaÃÖÕÆÉÄÅÕãÉÁÓK@@䢅@‰¢@¢¤‚‘…ƒ£@“‰ƒ…•¢…@£…™”¢K``nL™––£@§”“•¢z‘¢—~ˆ££—zaa‘¥K¢¤•Kƒ–”aÑâ×aׇ…n@@@@L‘¢—z„‰™…ƒ£‰¥…K—‡…@ƒ–•£…•£ã¨—…~£…§£a—“‰•^@ƒˆ™¢…£~ÉâÖ`øøõù`ñ@an@@@@L‘¢—z¢ƒ™‰—£“…£n@@@@@@@@LO®ÃÄÁãÁ®—‡…Ö•£…§£K¢…£Á££™‰‚¤£…M£…¢£×¢¢…„k@ã…¢£@×ÁââÅÄ]^žžn@@@@La‘¢—z¢ƒ™‰—£“…£n@@@@L™…¢¤“£n[Ž£…¢£×¢¢…„œLa™…¢¤“£nLa™––£n \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NNoPageEncNoContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NNoPageEncNoContTypeTest.jspx new file mode 100644 index 0000000000..7eb3f38e8c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NNoPageEncNoContTypeTest.jspx @@ -0,0 +1 @@ +Lo§”“@¥…™¢‰–•~ñKð@…•ƒ–„‰•‡~ÉÂÔõððonLO``@@@Ö—¨™‰‡ˆ£@òððò@⤕@Ô‰ƒ™–¢¨¢£…”¢k@É•ƒK@@Á““@™‰‡ˆ£¢@™…¢…™¥…„K@@@âäÕ@×ÙÖ×ÙÉÅãÁÙèaÃÖÕÆÉÄÅÕãÉÁÓK@@䢅@‰¢@¢¤‚‘…ƒ£@“‰ƒ…•¢…@£…™”¢K``nL™––£n@@@@L‘¢—z¢ƒ™‰—£“…£@§”“•¢z‘¢—~ˆ££—zaa‘¥K¢¤•Kƒ–”aÑâ×aׇ…n@@@@@@@@LOJÃÄÁãÁJ—‡…Ö•£…§£K¢…£Á££™‰‚¤£…M£…¢£×¢¢…„k@ã…¢£@×ÁââÅÄ]^ZZn@@@@La‘¢—z¢ƒ™‰—£“…£n@@@@L™…¢¤“£n[À£…¢£×¢¢…„ÐLa™…¢¤“£nLa™––£n \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncContTypeTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncContTypeTest.jspx new file mode 100644 index 0000000000..b540106cf5 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncContTypeTest.jspx differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncTest.jspx new file mode 100644 index 0000000000..d01eae3d7e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/i18n/prolog/I18NPageEncTest.jspx @@ -0,0 +1 @@ +Lo§”“@¥…™¢‰–•~ñKð@…•ƒ–„‰•‡~ÉÂÔø÷ñonLO``@@@Ö—¨™‰‡ˆ£@òððò@⤕@Ô‰ƒ™–¢¨¢£…”¢k@É•ƒK@@Á““@™‰‡ˆ£¢@™…¢…™¥…„K@@@âäÕ@×ÙÖ×ÙÉÅãÁÙèaÃÖÕÆÉÄÅÕãÉÁÓK@@䢅@‰¢@¢¤‚‘…ƒ£@“‰ƒ…•¢…@£…™”¢K``nL™––£@§”“•¢z‘¢—~ˆ££—zaa‘¥K¢¤•Kƒ–”aÑâ×aׇ…n@@@@L‘¢—z„‰™…ƒ£‰¥…K—‡…@—‡…Å•ƒ–„‰•‡~ÉÂÔø÷ñ@an@@@@L‘¢—z¢ƒ™‰—£“…£n@@@@@@@@LO®ÃÄÁãÁ®—‡…Ö•£…§£K¢…£Á££™‰‚¤£…M£…¢£×¢¢…„k@ã…¢£@×ÁââÅÄ]^žžn@@@@La‘¢—z¢ƒ™‰—£“…£n@@@@L™…¢¤“£n[Ž£…¢£×¢¢…„œLa™…¢¤“£nLa™––£n \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeInJspPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeInJspPage.jsp new file mode 100644 index 0000000000..8bd66c8750 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeInJspPage.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- use jsp:directive.include within a jsp page. +--%> + + + ONE + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeLocation.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeLocation.jspx new file mode 100644 index 0000000000..b18c6729a6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directiveIncludeLocation.jspx @@ -0,0 +1,33 @@ + + + + + + + +

          + + ONE + + TWO + +

          + +
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directivePageInJspPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directivePageInJspPage.jsp new file mode 100644 index 0000000000..12d857ec64 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/directivePageInJspPage.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- use jsp:directive.page within a jsp page. +--%> + + + + <% + List list = new ArrayList(); + list.add("a"); + list.add("b"); + out.println("listSize" + list.size()); + %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jsp new file mode 100644 index 0000000000..2b9060cb8d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- included by directiveIncludeInJspPage.jsp +--%> +HELLO diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jspx new file mode 100644 index 0000000000..886fc3b526 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/included.jspx @@ -0,0 +1,21 @@ + + + +HELLO diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jspRootPrefix.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jspRootPrefix.jspx new file mode 100644 index 0000000000..d8311fce7e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jspRootPrefix.jspx @@ -0,0 +1,27 @@ + + + + + + + + Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jsp_jspdocument_elements_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jsp_jspdocument_elements_web.xml new file mode 100644 index 0000000000..ccbb8ea147 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/jsp_jspdocument_elements_web.xml @@ -0,0 +1,32 @@ + + + + + jsp_jspdocument_elements + + 5 + + + + identify a jsp as not a jsp document + /notJspDocument.jspx + false + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/negativeJspRoot.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/negativeJspRoot.jspx new file mode 100644 index 0000000000..7e92e522aa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/negativeJspRoot.jspx @@ -0,0 +1,28 @@ + + + + + + + + this is body content + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/notJspDocument.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/notJspDocument.jspx new file mode 100644 index 0000000000..04ae124fc6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/notJspDocument.jspx @@ -0,0 +1,27 @@ + + + + + + + this is body content + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scripting.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scripting.jspx new file mode 100644 index 0000000000..09ec2dbe49 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scripting.jspx @@ -0,0 +1,36 @@ + + + + + + + + + + + sectionNumber is + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scriptingInJspPage.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scriptingInJspPage.jsp new file mode 100644 index 0000000000..5ffbe5ccb0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/elements/scriptingInJspPage.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%-- use jsp:declaration, jsp:scriptlet, and jsp:expression in a jsp page +--%> + + + public String getSectionTitle() { return "JSP637"; } + + + out.println(getSectionTitle()); + + sectionNumber is 100 - 1 + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/WEB-INF/tagdep.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/WEB-INF/tagdep.tld new file mode 100644 index 0000000000..465d97ce52 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/WEB-INF/tagdep.tld @@ -0,0 +1,41 @@ + + + + + 1.0 + tagdep + + echo + com.sun.ts.tests.jsp.spec.jspdocument.general.EchoTag + tagdependent + + echo + false + true + + + static + false + false + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByConfig.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByConfig.jsp new file mode 100644 index 0000000000..c9c4f4ab79 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByConfig.jsp @@ -0,0 +1,26 @@ + + + + + + + Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByExtension.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByExtension.jspx new file mode 100644 index 0000000000..6515bb5f5d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByExtension.jspx @@ -0,0 +1,27 @@ + + + + + + + + Test PASSED. + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByJspRoot.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByJspRoot.jsp new file mode 100644 index 0000000000..9a7a399208 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/identifyByJspRoot.jsp @@ -0,0 +1,31 @@ + + + + + + + + Test PASSED. + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/invalidPlainURI.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/invalidPlainURI.jsp new file mode 100644 index 0000000000..4bf7c5abb8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/invalidPlainURI.jsp @@ -0,0 +1,30 @@ + + + + + + + + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/jsp_jspdocument_general_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/jsp_jspdocument_general_web.xml new file mode 100644 index 0000000000..8435301540 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/jsp_jspdocument_general_web.xml @@ -0,0 +1,45 @@ + + + + + jsp_jspdocument_general + + identifyByJspRoot + /identifyByJspRoot.jsp + + + 5 + + + + http://java.sun.com/tck/jsp/tagdep + /WEB-INF/tagdep.tld + + + identify a jsp as jsp document + /identifyByConfig.jsp + true + + + group for identifyByExtension.jspx + /identifyByExtension.jspx + UTF-8 + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeDTDValidation.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeDTDValidation.jspx new file mode 100644 index 0000000000..9b6dfe856c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeDTDValidation.jspx @@ -0,0 +1,31 @@ + + + + + + + +] > + + + This document is invalid because c is missing + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeWellFormedness.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeWellFormedness.jspx new file mode 100644 index 0000000000..a33c213937 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/negativeWellFormedness.jspx @@ -0,0 +1,28 @@ + + + + + + + negativeWellFormedness + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/tagDependentTest.jspx b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/tagDependentTest.jspx new file mode 100644 index 0000000000..e968b6f3e4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/jspdocument/general/tagDependentTest.jspx @@ -0,0 +1,47 @@ + + + + + + + + pageContext.setAttribute("eval", "evaluated", PageContext.PAGE_SCOPE); + + + + START ${pageScope.eval} + out.println("scriptlet"); + + + + use jsp:body + + ${3 * 6} + ATT2 + + START ${pageScope.eval} + out.println("scriptlet"); + + + + + END ${9 * 8} + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/jsp_misc_precompilation_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/jsp_misc_precompilation_web.xml new file mode 100644 index 0000000000..dbc493daa0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/jsp_misc_precompilation_web.xml @@ -0,0 +1,25 @@ + + + + + JspMiscPrecompile + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/precompile.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/precompile.jsp new file mode 100644 index 0000000000..2adac08181 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/misc/precompilation/precompile.jsp @@ -0,0 +1,44 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +Precompilation Test + +<% /** Name:Precompilation + Description: Checks if the request is actually delivered + to this page or not if the request + parameter jsp_precompile is either not set + or set to "true". + + Result: Will send the message "Got The request" + if the jsp_precompile="false" + + +**/ %> + +Got the request....The test parameter is +<%! String test; %> + +<% + test=request.getParameter("test"); + if(test==null) //just to remove the dependency on Java + test="null" ; +%> +<%=test %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/httplistener/WEB-INF/tagext_resource_httplistener.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/httplistener/WEB-INF/tagext_resource_httplistener.tld new file mode 100644 index 0000000000..a069cbbbb3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/httplistener/WEB-INF/tagext_resource_httplistener.tld @@ -0,0 +1,37 @@ + + + + + + 1.0 + SessionListener + + SessionListener + SessionListener + com.sun.ts.tests.jsp.spec.tagext.resource.httplistener.SessionListener + + + SessionAttributeListener + SessionAttributeListener + com.sun.ts.tests.jsp.spec.tagext.resource.httplistener.SessionAttributeListener + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/listener/WEB-INF/tagext_resource_listener.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/listener/WEB-INF/tagext_resource_listener.tld new file mode 100644 index 0000000000..f8ffe491bf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/listener/WEB-INF/tagext_resource_listener.tld @@ -0,0 +1,47 @@ + + + + + + 1.0 + Listener + + ContextListener + ContextListener + com.sun.ts.tests.jsp.spec.tagext.resource.listener.ContextListener + + + ContextAttributeListener + ContextAttributeListener + com.sun.ts.tests.jsp.spec.tagext.resource.listener.ContextAttributeListener + + + RequestListener + RequestListener + com.sun.ts.tests.jsp.spec.tagext.resource.listener.RequestListener + + + RequestAttributeListener + RequestAttributeListener + com.sun.ts.tests.jsp.spec.tagext.resource.listener.RequestAttributeListener + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTest.jsp new file mode 100644 index 0000000000..f7f86f05e4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/tagext_resource_taghandler.tld" %> + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTimingTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTimingTest.jsp new file mode 100644 index 0000000000..44ea5f04cf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceSimpleTagHandlerTimingTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/tagext_resource_taghandler.tld" %> + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTest.jsp new file mode 100644 index 0000000000..a3bc7aa2a8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/tagext_resource_taghandler.tld" %> + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTimingTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTimingTest.jsp new file mode 100644 index 0000000000..5c4e7afb8a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/ResourceTagHandlerTimingTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="test" uri="/WEB-INF/tagext_resource_taghandler.tld" %> + +begin
          + +end
          diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/WEB-INF/tagext_resource_taghandler.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/WEB-INF/tagext_resource_taghandler.tld new file mode 100644 index 0000000000..80d3b7084d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagext/resource/taghandler/WEB-INF/tagext_resource_taghandler.tld @@ -0,0 +1,59 @@ + + + + + + 1.0 + ResourceTagHandler + + ResourceTag test + ResourceTag + com.sun.ts.tests.jsp.spec.tagext.resource.taghandler.ResourceTag + empty + + + ResourceSimpleTag test + ResourceSimpleTag + com.sun.ts.tests.jsp.spec.tagext.resource.taghandler.ResourceSimpleTag + empty + + + ResourceTimingTag test + ResourceTimingTag + com.sun.ts.tests.jsp.spec.tagext.resource.taghandler.ResourceTimingTag + empty + + queueName + true + + + + ResourceTimingSimpleTag test + ResourceTimingSimpleTag + com.sun.ts.tests.jsp.spec.tagext.resource.taghandler.ResourceTimingSimpleTag + empty + + queueName + true + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultFragment.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultFragment.tag new file mode 100644 index 0000000000..8340110dec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultFragment.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" required="true" %> +<% + Object o = jspContext.getAttribute("x", PageContext.PAGE_SCOPE); + if(o instanceof jakarta.servlet.jsp.tagext.JspFragment) { + out.println("Test FAILED. attr x is a fragment type."); + } else if(o instanceof java.lang.String) { + out.println("Test PASSED. attr x is of type java.lang.String."); + } else { + out.println("Test FAILED. attr x is " + o); + } +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRequired.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRequired.tag new file mode 100644 index 0000000000..f2e332373e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRequired.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +Test PASSED. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRtexprvalue.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRtexprvalue.tag new file mode 100644 index 0000000000..15c119402e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultRtexprvalue.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +${x} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultType.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultType.tag new file mode 100644 index 0000000000..e665058731 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/defaultType.tag @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +<%@ attribute name="y" type="java.lang.Float" %> +<% + Object ox = jspContext.getAttribute("x"); + Object oy = jspContext.getAttribute("y"); + if(ox instanceof java.lang.String) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. x is not of type java.lang.String"); + } + if(oy instanceof java.lang.Float) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. y is not of type java.lang.Float"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodMinimumJspVersion.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodMinimumJspVersion.tag new file mode 100644 index 0000000000..4cc85df482 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodMinimumJspVersion.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredMethod="true" %> +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodSignatureMinimumJspVersion.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodSignatureMinimumJspVersion.tag new file mode 100644 index 0000000000..8a268d7cd9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredMethodSignatureMinimumJspVersion.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredMethodSignature="void noop()" %> +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueMinimumJspVersion.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueMinimumJspVersion.tag new file mode 100644 index 0000000000..89a1628603 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueMinimumJspVersion.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredValue="true" %> +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueTypeMinimumJspVersion.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueTypeMinimumJspVersion.tag new file mode 100644 index 0000000000..7589691dfc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/deferredValueTypeMinimumJspVersion.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredValueType="java.lang.String" %> +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentRtexprvalue.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentRtexprvalue.tag new file mode 100644 index 0000000000..2d868b1735 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentRtexprvalue.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" + rtexprvalue="false" + fragment="true" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentType.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentType.tag new file mode 100644 index 0000000000..7324c7da8a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeFragmentType.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" + type="java.lang.Integer" + fragment="true" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1.tag new file mode 100644 index 0000000000..de4173eb74 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +<%@ attribute name="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tag new file mode 100644 index 0000000000..d5ddc8da32 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeName1Include.tagf" %> +<%@ attribute name="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tagf new file mode 100644 index 0000000000..42da2e547e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName1Include.tagf @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2.tag new file mode 100644 index 0000000000..2bae34e279 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +<%@ variable name-given="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tag new file mode 100644 index 0000000000..0a2f159ebf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeName2Include.tagf" %> +<%@ attribute name="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tagf new file mode 100644 index 0000000000..ba1dec99fd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName2Include.tagf @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3.tag new file mode 100644 index 0000000000..e7dd57a178 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" %> +<%@ tag dynamic-attributes="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tag new file mode 100644 index 0000000000..075816420d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeName3Include.tagf" %> +<%@ attribute name="x" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tagf new file mode 100644 index 0000000000..65d8734b43 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeName3Include.tagf @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag dynamic-attributes="x" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeType.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeType.tag new file mode 100644 index 0000000000..a1a530b956 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/WEB-INF/tags/negativeType.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" type="double" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultFragment.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultFragment.jsp new file mode 100644 index 0000000000..c5a486612f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultFragment.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +fragment defaults to fasle. +--%> + + + xvalue + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRequired.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRequired.jsp new file mode 100644 index 0000000000..e47a4ad607 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRequired.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +whether this attribute is required or not. Defaults to false +x attribute is not specified. +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRtexprvalue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRtexprvalue.jsp new file mode 100644 index 0000000000..a6ac304c21 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultRtexprvalue.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%! String msg = "Test PASSED."; %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultType.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultType.jsp new file mode 100644 index 0000000000..4850051baf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/defaultType.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +type defaults to java.lang.String. y is declared to be java.lang.Float +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodMinimumJspVersion.jsp new file mode 100644 index 0000000000..4755687908 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodMinimumJspVersion.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodSignatureMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodSignatureMinimumJspVersion.jsp new file mode 100644 index 0000000000..59c573f2cf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredMethodSignatureMinimumJspVersion.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueMinimumJspVersion.jsp new file mode 100644 index 0000000000..a2523e4a84 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueMinimumJspVersion.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueTypeMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueTypeMinimumJspVersion.jsp new file mode 100644 index 0000000000..de52b7c3f2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/deferredValueTypeMinimumJspVersion.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/jsp_tagfile_directives_attribute20_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/jsp_tagfile_directives_attribute20_web.xml new file mode 100644 index 0000000000..6ad0aa4c98 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/jsp_tagfile_directives_attribute20_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesAttribute20 + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentRtexprvalue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentRtexprvalue.jsp new file mode 100644 index 0000000000..76a3e9ce9d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentRtexprvalue.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + translation error must result if fragment is true and + rtexprvalue is specified. +--%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentType.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentType.jsp new file mode 100644 index 0000000000..fd417b6e00 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeFragmentType.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +A translation error must result if fragment is true and type is +specified. +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1.jsp new file mode 100644 index 0000000000..3486595686 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + A translation error must result if more than one attribute +directive appears in the same translation unit with the same +name +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1Include.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1Include.jsp new file mode 100644 index 0000000000..1160c1b621 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName1Include.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + A translation error must result if more than one attribute +directive appears in the same translation unit with the same +name +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2.jsp new file mode 100644 index 0000000000..4cbbf2fa0f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + A translation error must result if more than one attribute +directive appears in the same translation unit with the same +name +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2Include.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2Include.jsp new file mode 100644 index 0000000000..bd1c54c450 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName2Include.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3.jsp new file mode 100644 index 0000000000..3faf895166 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3Include.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3Include.jsp new file mode 100644 index 0000000000..24f501d572 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeName3Include.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeType.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeType.jsp new file mode 100644 index 0000000000..97fb98cea8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/negativeType.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +It is a translation error to specify a primitive type. +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredMethodAndSignature.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredMethodAndSignature.tag new file mode 100644 index 0000000000..7978371b87 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredMethodAndSignature.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredMethod="false" deferredMethodSignature="boolean add(Object)" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredValueTypeAndDeferredValue.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredValueTypeAndDeferredValue.tag new file mode 100644 index 0000000000..a19a7bd204 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/bothDeferredValueTypeAndDeferredValue.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredValue="false" deferredValueType="java.lang.String" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod1.tag new file mode 100644 index 0000000000..ac9d616f18 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod1.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.MethodExpression" %> +<%@ attribute name="x" deferredMethodSignature="boolean add(Object)" %> +<% + Object o = jspContext.getAttribute("x"); + if (o instanceof MethodExpression) + out.println("Test PASSED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod2.tag new file mode 100644 index 0000000000..0c261e3073 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethod2.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.MethodExpression" %> +<%@ attribute name="x" %> +<% + Object o = jspContext.getAttribute("x"); + if (o instanceof MethodExpression) + out.println("Test FAILED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethodSignature.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethodSignature.tag new file mode 100644 index 0000000000..1f94e5235d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredMethodSignature.tag @@ -0,0 +1,54 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.ELContext" %> +<%@ tag import="jakarta.el.MethodExpression" %> +<%@ tag import="jakarta.el.MethodInfo" %> + +<%@ attribute name="x" deferredMethod="true" %> +<% + Object o = jspContext.getAttribute("x"); + if (!(o instanceof MethodExpression)) + out.println("Test FAILED. MethodExpression not found."); + else { + ELContext elContext = jspContext.getELContext(); + MethodInfo minfo = ((MethodExpression) o).getMethodInfo(elContext); + + String methodName = minfo.getName(); + if (!"clear".equals(methodName)) { + out.println("Test FAILED. Method name should be clear, "); + out.println("instead found " + methodName); + } else { + String returnType = minfo.getReturnType().getName(); + if (!"void".equals(returnType)) { + out.println("Test FAILED. Return type should be void, "); + out.println("instead found " + returnType); + + } else { + Class[] paramTypes = minfo.getParamTypes(); + int numParams = paramTypes.length; + if (numParams != 0) { + out.println("Test FAILED. Number of parameters should be 0, "); + out.println("instead found " + returnType); + } else { + out.println("Test PASSED."); + } + } + } + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue1.tag new file mode 100644 index 0000000000..093d07f546 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue1.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.ValueExpression" %> +<%@ attribute name="x" deferredValueType="java.lang.String" %> +<% + Object o = jspContext.getAttribute("x"); + if (o instanceof ValueExpression) + out.println("Test PASSED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue2.tag new file mode 100644 index 0000000000..a6c2e2c148 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/defaultDeferredValue2.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.ValueExpression" %> +<%@ attribute name="x" %> +<% + Object o = jspContext.getAttribute("x"); + if (o instanceof ValueExpression) + out.println("Test FAILED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/deferredValueTypeNotSpecified.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/deferredValueTypeNotSpecified.tag new file mode 100644 index 0000000000..24b1e799f8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/deferredValueTypeNotSpecified.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="jakarta.el.ELContext" %> +<%@ tag import="jakarta.el.ValueExpression" %> + +<%@ attribute name="x" deferredValue="true" %> +<% + ELContext elContext = jspContext.getELContext(); + ValueExpression vexp = + elContext.getVariableMapper().resolveVariable("x"); + Object o = vexp.getValue(elContext); + out.println("Test PASSED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/implicit.tld new file mode 100644 index 0000000000..22981b008e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/onlyOneOfDeferredValueOrDeferredMethod.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/onlyOneOfDeferredValueOrDeferredMethod.tag new file mode 100644 index 0000000000..b7d9dbd0ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/WEB-INF/tags/onlyOneOfDeferredValueOrDeferredMethod.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" deferredValue="true" deferredMethod="true" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredMethodAndSignature.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredMethodAndSignature.jsp new file mode 100644 index 0000000000..056fcfeaf6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredMethodAndSignature.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +If the deferredMethodSignature and the deferredMethod attributes +are both present in the same tag, deferredMethod must be true. +--%> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredValueTypeAndDeferredValue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredValueTypeAndDeferredValue.jsp new file mode 100644 index 0000000000..a25cd18316 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/bothDeferredValueTypeAndDeferredValue.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +If the deferredValueType and the deferredValue attributes +are both present in the same tag, deferredValue must be true. +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod1.jsp new file mode 100644 index 0000000000..57ee8d4cb4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod1.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod2.jsp new file mode 100644 index 0000000000..dd489fa531 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethod2.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethodSignature.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethodSignature.jsp new file mode 100644 index 0000000000..e8bbe54247 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredMethodSignature.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<% + java.util.Vector vect = new java.util.Vector(); + pageContext.setAttribute("vect", vect, pageContext.APPLICATION_SCOPE); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue1.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue1.jsp new file mode 100644 index 0000000000..0f722705a0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue1.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue2.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue2.jsp new file mode 100644 index 0000000000..ee9879e9ec --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/defaultDeferredValue2.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/deferredValueTypeNotSpecified.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/deferredValueTypeNotSpecified.jsp new file mode 100644 index 0000000000..5af3a9ac52 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/deferredValueTypeNotSpecified.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<% pageContext.setAttribute("foo", "bar", PageContext.APPLICATION_SCOPE); %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/jsp_tagfile_directives_attribute21_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/jsp_tagfile_directives_attribute21_web.xml new file mode 100644 index 0000000000..b33abc842d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/jsp_tagfile_directives_attribute21_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesAttribute + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/onlyOneOfDeferredValueOrDeferredMethod.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/onlyOneOfDeferredValueOrDeferredMethod.jsp new file mode 100644 index 0000000000..621462e36a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/onlyOneOfDeferredValueOrDeferredMethod.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- +Only one of the deferredValue or the deferredMethod attributes +may be true. +--%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundFalse.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundFalse.jsp new file mode 100644 index 0000000000..816f5fc3a1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundFalse.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the ErrorOnELNotFound tag directive attribute to false. Verify that +referencing an unknown identifier does not trigger a +PropertyNotFoundException +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundTrue.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundTrue.jsp new file mode 100644 index 0000000000..905fc6f99a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/ErrorOnELNotFoundTrue.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the ErrorOnELNotFound tag directive attribute to true. Verify that +referencing an unknown identifier triggers a PropertyNotFoundException +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundFalse.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundFalse.tag new file mode 100644 index 0000000000..d939d5a4a2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundFalse.tag @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ErrorOnELNotFOundFalse + Description : Verify that when the ErrorOnELNotFound tag directive + attribute is set to false, referencing an unknown + identifier does not trigger a + ProeprtyNotFoundException +**/ %> + +<%@ tag errorOnELNotFound="false" %> + +${notfound} \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundTrue.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundTrue.tag new file mode 100644 index 0000000000..7197bffc02 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/ErrorOnELNotFoundTrue.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2021 Contributors to the Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ErrorOnELNotFOundFalse + Description : Verify that when the ErrorOnELNotFound tag directive + attribute is set to true, referencing an unknown + identifier triggers a ProeprtyNotFoundException +**/ %> + +<%@ tag errorOnELNotFound="true" %> + +${notfound} \ No newline at end of file diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/negativeInclude.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/negativeInclude.tagf new file mode 100644 index 0000000000..d2e9ffd3ba --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/negativeInclude.tagf @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" required="false" %> +<%@ variable name-given="y" %> +<%@ page language="java" %> +This tag fragment file contains a invalid page directive. + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/positiveIncludePageRelative.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/positiveIncludePageRelative.tagf new file mode 100644 index 0000000000..32918a65c3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/include/positiveIncludePageRelative.tagf @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" required="false" %> +<%@ variable name-given="y" %> +Test PASSED. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/invoke/positiveTaglibInvokee.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/invoke/positiveTaglibInvokee.tag new file mode 100644 index 0000000000..a8538c4ff4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/invoke/positiveTaglibInvokee.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" required="true" %> +<%@ variable name-given="y" %> +${x} from invokee diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativeInclude.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativeInclude.tag new file mode 100644 index 0000000000..32a9902b8c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativeInclude.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="include/negativeInclude.tagf" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativePageDirective.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativePageDirective.tag new file mode 100644 index 0000000000..675c4b1742 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/negativePageDirective.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page language="java" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludeContextRelative.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludeContextRelative.tag new file mode 100644 index 0000000000..1e5eaead90 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludeContextRelative.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="/include/positiveIncludeContextRelative.tagf" %> +included a tagf file using context relative path. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludePageRelative.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludePageRelative.tag new file mode 100644 index 0000000000..bbca5ee8ee --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveIncludePageRelative.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="include/positiveIncludePageRelative.tagf" %> +included a tagf file using page relative path. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveTaglib.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveTaglib.tag new file mode 100644 index 0000000000..72b1d2aa80 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/WEB-INF/tags/positiveTaglib.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="my" tagdir="/WEB-INF/tags/invoke" %> +<%@ attribute name="x" required="true" %> +<%@ variable name-given="y" %> + + +invoked another tag file from this tag file + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/include/positiveIncludeContextRelative.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/include/positiveIncludeContextRelative.tagf new file mode 100644 index 0000000000..6e80d2cb5c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/include/positiveIncludeContextRelative.tagf @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="x" required="false" %> +<%@ variable name-given="y" %> +Test PASSED. + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/jsp_tagfile_directives_general_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/jsp_tagfile_directives_general_web.xml new file mode 100644 index 0000000000..84142c3db3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/jsp_tagfile_directives_general_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesGeneral + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeAttributeDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeAttributeDirective.jsp new file mode 100644 index 0000000000..6ac986f289 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeAttributeDirective.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="op1" + type="java.lang.Integer" %> +<%-- +If a attribute directive is used in a jsp page, a translation error +will result. +--%> +page executed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeInclude.jsp new file mode 100644 index 0000000000..7c114dbf0c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeInclude.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativePageDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativePageDirective.jsp new file mode 100644 index 0000000000..263a136c8c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativePageDirective.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +If a page directive is used in a tag file, a translation error +will result. +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeTagDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeTagDirective.jsp new file mode 100644 index 0000000000..15f09bef58 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeTagDirective.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<%-- +If a tag directive is used in a jsp page, a translation error +will result. +--%> +page executed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeVariableDirective.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeVariableDirective.jsp new file mode 100644 index 0000000000..f01d4abc1b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/negativeVariableDirective.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="op1" + variable-class="java.lang.Integer" + description="op1" %> +<%-- +If a variable directive is used in a jsp page, a translation error +will result. +--%> +page executed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludeContextRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludeContextRelative.jsp new file mode 100644 index 0000000000..241e3463ce --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludeContextRelative.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludePageRelative.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludePageRelative.jsp new file mode 100644 index 0000000000..73b86f4fff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveIncludePageRelative.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveTaglib.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveTaglib.jsp new file mode 100644 index 0000000000..dc506a0e09 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/general/positiveTaglib.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/deferredValueMinimumJspVersion.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/deferredValueMinimumJspVersion.tag new file mode 100644 index 0000000000..159fe8903b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/deferredValueMinimumJspVersion.tag @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : deferredValueMinimumJspVersion + Description : Verify that when the deferredValue attribute is + used in a 2.0 tag, a translation error results. +**/ %> + +<%@ tag deferredValue="true" %> + +template text diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/dynamicAttributesNoUri.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/dynamicAttributesNoUri.tag new file mode 100644 index 0000000000..272005543f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/dynamicAttributesNoUri.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="java.util.Map" %> +<%@ tag dynamic-attributes="ds" %> +<% + Map map = (Map) jspContext.getAttribute("ds"); + out.println(map.get("d1")); + if(map.containsKey("d2") || map.containsKey("my:d2")) { + out.println("Test FAILED. dynamic attributes with uri should not be placed into map."); + } else { + out.println("Dynamic attributes with uri are not placed into map."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportHttp.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportHttp.tag new file mode 100644 index 0000000000..df403f5c4e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportHttp.tag @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2021 Oracle and/or its affiliates and others. + All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<% + Cookie ex = new Cookie("name","value"); + if(ex instanceof jakarta.servlet.http.Cookie) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Cookie instance is not instance of jakarta.servlet.http.Cookie"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportJsp.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportJsp.tag new file mode 100644 index 0000000000..9480ed4376 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportJsp.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<% + JspFactory jfac=JspFactory.getDefaultFactory(); + if(jfac instanceof jakarta.servlet.jsp.JspFactory) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportLang.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportLang.tag new file mode 100644 index 0000000000..92700df1b8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportLang.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<% + Integer num = new Integer(1); + if(num instanceof java.lang.Integer) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. Integer instance is not of type java.lang.Integer"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportServlet.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportServlet.tag new file mode 100644 index 0000000000..4ddf758f70 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/implicitImportServlet.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<% + ServletException ex = new ServletException(); + if(ex instanceof jakarta.servlet.ServletException) { + out.println("Test PASSED."); + } else { + out.println("Test FAILED. ServletException instance is not of type jakarta.servlet.ServletException"); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeBodyContent.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeBodyContent.tag new file mode 100644 index 0000000000..b7910f9aaf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeBodyContent.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="JSP" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateBodyContent.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateBodyContent.tag new file mode 100644 index 0000000000..5f555e7ef9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateBodyContent.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="tagdependent" %> +<%@ tag body-content="empty" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDescription.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDescription.tag new file mode 100644 index 0000000000..e9495befa7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDescription.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag description="a test, too" %> +<%@ tag description="a test" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDisplayName.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDisplayName.tag new file mode 100644 index 0000000000..cf4323db9d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDisplayName.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag display-name="a test" %> +<%@ tag display-name="test" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDynamicAttributes.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDynamicAttributes.tag new file mode 100644 index 0000000000..239d641ce7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateDynamicAttributes.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag dynamic-attributes="dmap2" %> +<%@ tag dynamic-attributes="dmap" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateExample.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateExample.tag new file mode 100644 index 0000000000..7f450e9f6f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateExample.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag example="a test, too" %> +<%@ tag example="a test" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateIsELIgnoredFatalTranslationError.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateIsELIgnoredFatalTranslationError.tag new file mode 100644 index 0000000000..0ed999afa1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateIsELIgnoredFatalTranslationError.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag isELIgnored="false" isELIgnored="true" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLanguageFatalTranslationError.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLanguageFatalTranslationError.tag new file mode 100644 index 0000000000..fe2e6ff88a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLanguageFatalTranslationError.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="perl" language="c" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLargeIcon.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLargeIcon.tag new file mode 100644 index 0000000000..90a6abbd0a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateLargeIcon.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag large-icon="/images/32/icon.jpg" %> +<%@ tag large-icon="/images/16/icon.jpg" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateSmallIcon.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateSmallIcon.tag new file mode 100644 index 0000000000..f016041f88 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeDuplicateSmallIcon.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag small-icon="/images/32/icon.jpg" %> +<%@ tag small-icon="/images/16/icon.jpg" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeMultiplePageEncoding.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeMultiplePageEncoding.tag new file mode 100644 index 0000000000..86c58dfaea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeMultiplePageEncoding.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag pageEncoding="UTF-8" pageEncoding="ISO-8859-15" %> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeUnrecognizedAttribute.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeUnrecognizedAttribute.tag new file mode 100644 index 0000000000..9144f3ac4f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/negativeUnrecognizedAttribute.tag @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag id = "test" + short-name="short-name" + lang="java" + body="empty" +%> +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tag new file mode 100644 index 0000000000..9771e374ea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tag @@ -0,0 +1,65 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="positiveDuplicateAttributes.tagf" %> +<%@ tag + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" +%> +<%@ tag + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" +%> + +tag invoked diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tagf new file mode 100644 index 0000000000..1f5b6bb394 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveDuplicateAttributes.tagf @@ -0,0 +1,64 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" +%> + +<%@ tag + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" + display-name="positiveDuplicateAttributes" + body-content="empty" + dynamic-attributes="extra" + small-icon="/images/16/icon.jpg" + large-icon="/images/32/icon.jpg" + description="description" + example="example" + language="java" + import="java.util.Date" + isELIgnored="false" +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveImport.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveImport.tag new file mode 100644 index 0000000000..3778fa45ac --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveImport.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<%@ tag import="java.util.ArrayList"%> +<% + ArrayList list = new ArrayList(); + list.add("Test PASSED."); + out.println((String) list.get(0)); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveLang.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveLang.tag new file mode 100644 index 0000000000..569f05d8fe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveLang.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<% + out.println("Test PASSED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveMultipleImport.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveMultipleImport.tag new file mode 100644 index 0000000000..9a516d9f57 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/WEB-INF/tags/positiveMultipleImport.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag language="java" %> +<%@ tag import="java.util.ArrayList" import="java.util.Date" %> +<% + ArrayList list = new ArrayList(); + Date date = new Date(); + out.println("Test PASSED."); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/deferredValueMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/deferredValueMinimumJspVersion.jsp new file mode 100644 index 0000000000..340f529cda --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/deferredValueMinimumJspVersion.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/dynamicAttributesNoUri.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/dynamicAttributesNoUri.jsp new file mode 100644 index 0000000000..0e10798b5f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/dynamicAttributesNoUri.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/16/icon.jpg b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/16/icon.jpg new file mode 100644 index 0000000000..02d864db47 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/16/icon.jpg differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/32/icon.jpg b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/32/icon.jpg new file mode 100644 index 0000000000..02d864db47 Binary files /dev/null and b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/images/32/icon.jpg differ diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportHttp.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportHttp.jsp new file mode 100644 index 0000000000..830de36c94 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportHttp.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Validate that classes from the jakarta.servlet.http package are +implicitly imported by creating and using an instance of HttpUtils. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportJsp.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportJsp.jsp new file mode 100644 index 0000000000..681535b582 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportJsp.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Validate that classes from the jakarta.servlet.jsp package are implicitly +imported +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportLang.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportLang.jsp new file mode 100644 index 0000000000..2adac10943 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportLang.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Validated that java.lang package is implicitly imported +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportServlet.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportServlet.jsp new file mode 100644 index 0000000000..410c255b91 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/implicitImportServlet.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Validate that classes from the jakarta.servlet package are implicitly +imported +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/jsp_tagfile_directives_tag20_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/jsp_tagfile_directives_tag20_web.xml new file mode 100644 index 0000000000..4d65be787d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/jsp_tagfile_directives_tag20_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesTag20 + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeBodyContent.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeBodyContent.jsp new file mode 100644 index 0000000000..8eb59c9f7a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeBodyContent.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +A translation error will result if JSP is used as tag directive +body-content +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateBodyContent.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateBodyContent.jsp new file mode 100644 index 0000000000..351f45a64a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateBodyContent.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDescription.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDescription.jsp new file mode 100644 index 0000000000..b01e620138 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDescription.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDisplayName.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDisplayName.jsp new file mode 100644 index 0000000000..a28ddd70fe --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDisplayName.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDynamicAttributes.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDynamicAttributes.jsp new file mode 100644 index 0000000000..2cc6a566cd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateDynamicAttributes.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateExample.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateExample.jsp new file mode 100644 index 0000000000..cf7a7373bf --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateExample.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateIsELIgnoredFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateIsELIgnoredFatalTranslationError.jsp new file mode 100644 index 0000000000..43ad55491e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateIsELIgnoredFatalTranslationError.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +invokes a tag file that contains two isELIgnored directives of +different values, resulting a translation error +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLanguageFatalTranslationError.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLanguageFatalTranslationError.jsp new file mode 100644 index 0000000000..118868a9f3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLanguageFatalTranslationError.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +invokes a tag file that declares two language directive attributes, +resulting a translation error. +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLargeIcon.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLargeIcon.jsp new file mode 100644 index 0000000000..be215b0133 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateLargeIcon.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateSmallIcon.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateSmallIcon.jsp new file mode 100644 index 0000000000..d398402d6f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeDuplicateSmallIcon.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeMultiplePageEncoding.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeMultiplePageEncoding.jsp new file mode 100644 index 0000000000..79a8284813 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeMultiplePageEncoding.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Declare a tag directive with two pageEncoding attributes, resulting +in a translation error. +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeUnrecognizedAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeUnrecognizedAttribute.jsp new file mode 100644 index 0000000000..0b520e34a0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/negativeUnrecognizedAttribute.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +unexpected output. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveDuplicateAttributes.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveDuplicateAttributes.jsp new file mode 100644 index 0000000000..f150179f02 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveDuplicateAttributes.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +Test PASSED. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveImport.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveImport.jsp new file mode 100644 index 0000000000..59a52b1877 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveImport.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Use the import attribute to import 'java.util.ArrayList'. +Validated that a ArrayList object can be created and used. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveLang.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveLang.jsp new file mode 100644 index 0000000000..f068d8aeb7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveLang.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +validates that the language attribute can be set to java without +an error. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveMultipleImport.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveMultipleImport.jsp new file mode 100644 index 0000000000..bd0abddc63 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/positiveMultipleImport.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Declare a tag directive with two import attributes. +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseAction.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseAction.jsp new file mode 100644 index 0000000000..2bcfd455d6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseAction.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the deferredSyntaxAllowedAsLiteral attribute to false. +Verify that a translation error occurs when '{#' is used +in an action when the jsp version is set to 2.1 or greater +in the implicit.tld file. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseTemplateText.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseTemplateText.jsp new file mode 100644 index 0000000000..6d8f9b9833 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralFalseTemplateText.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the deferredSyntaxAllowedAsLiteral attribute to false. +Verify that a translation error occurs when '{#' is used +in template text when the jsp version is set to 2.1 or greater +in the implicit.tld file. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.gf new file mode 100644 index 0000000000..bc50afbede --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.gf @@ -0,0 +1 @@ +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.jsp new file mode 100644 index 0000000000..18973afcc7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueAction.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the deferredSyntaxAllowedAsLiteral attribute to true. +Verify that the character sequence '{#' is allowed +in an action when the jsp version is set to 2.1 or greater +in the implicit.tld file. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.gf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.gf new file mode 100644 index 0000000000..bc50afbede --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.gf @@ -0,0 +1 @@ +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.jsp new file mode 100644 index 0000000000..e3a76321ce --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/DeferredSyntaxAllowedAsLiteralTrueTemplateText.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- +Set the deferredSyntaxAllowedAsLiteral attribute to true. +Verify that the '{#' sequence is allowed as a string literal +when used in template text when the jsp version is set to 2.1 or +greater in the implicit.tld file. +--%> + +<%-- invoke the tag --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseAction.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseAction.tag new file mode 100644 index 0000000000..e0bee8ad90 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseAction.tag @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralFalseAction + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + tag directive attribute is set to false, a + translation error occurs when the '{#' character + sequence is used in an action and the jsp version + is 2.1 or greater. +**/ %> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%@ tag deferredSyntaxAllowedAsLiteral="false" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseTemplateText.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseTemplateText.tag new file mode 100644 index 0000000000..0fec4e81c5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralFalseTemplateText.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralFalseTemplateText + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + tag directive attribute is set to false, a + translation error occurs when the '{#' character + sequence is used in template text and the jsp + version is 2.1 or greater. +**/ %> + +<%@ tag deferredSyntaxAllowedAsLiteral="false" %> + +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueAction.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueAction.tag new file mode 100644 index 0000000000..65cba26b4d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueAction.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralTrueAction + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + tag directive attribute is set to true, + the '{#' character sequence is allowed in an + action when the jsp version is 2.1 or greater. +**/ %> + +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%@ tag deferredSyntaxAllowedAsLiteral="true" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueTemplateText.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueTemplateText.tag new file mode 100644 index 0000000000..e3e03f7dac --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAllowedAsLiteralTrueTemplateText.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : DeferredSyntaxAllowedAsLiteralTrueTemplateTextTest + Description : Verify that when the DeferredSyntaxAllowedAsLiteral + tag directive attribute is set to true, the '{#' + sequence is allowed as a string literal when used + in template text and the jsp version is 2.1 or + greater. +**/ %> + +<%@ tag deferredSyntaxAllowedAsLiteral="true" %> + +#{expr} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAsLiteral.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAsLiteral.tag new file mode 100644 index 0000000000..77b543a701 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/DeferredSyntaxAsLiteral.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="literal" %> +<% + Object o = jspContext.getAttribute("literal"); + out.println(o); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/implicit.tld new file mode 100644 index 0000000000..22981b008e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/WEB-INF/tags/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/jsp_tagfile_directives_tag21_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/jsp_tagfile_directives_tag21_web.xml new file mode 100644 index 0000000000..7ee1369435 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/jsp_tagfile_directives_tag21_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesTag21 + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare.tag new file mode 100644 index 0000000000..14b27171b5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> +<%@ variable name-given="declared" declare="false" scope="AT_END" %> +<%! String declared2; %> + +<% + jspContext.setAttribute("declared", "was declared"); +%> + +<% + out.println(declared2); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare2.tag new file mode 100644 index 0000000000..ce5bdb6e67 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/falseDeclare2.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="declared2" declare="false" scope="AT_END" %> +<% + jspContext.setAttribute("declared2", "was declared2"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSame.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSame.tag new file mode 100644 index 0000000000..a75733a06d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSame.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="result" required="false" rtexprvalue="false"%> +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tag new file mode 100644 index 0000000000..28e5f81f44 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeAliasAttributeSameInclude.tagf" %> +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tagf new file mode 100644 index 0000000000..eec57928be --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasAttributeSameInclude.tagf @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="result" required="false" rtexprvalue="false"%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasNameGiven.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasNameGiven.tag new file mode 100644 index 0000000000..bf0691830e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeAliasNameGiven.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-given="y" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNoAttribute.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNoAttribute.tag new file mode 100644 index 0000000000..403ee5759e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNoAttribute.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="abc" required="true" rtexprvalue="false"%> +<%@ tag dynamic-attributes="x" %> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotRequired.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotRequired.tag new file mode 100644 index 0000000000..f0945c3a07 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotRequired.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="false" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotString.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotString.tag new file mode 100644 index 0000000000..29d13c9313 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeNotString.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" type="java.lang.Integer" + required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeRtexpr.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeRtexpr.tag new file mode 100644 index 0000000000..d8d5240dad --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeRtexpr.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="true"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSame.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSame.tag new file mode 100644 index 0000000000..dceb906450 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSame.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +<%@ variable alias="abcdef" name-from-attribute="var" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tag new file mode 100644 index 0000000000..60393a8619 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> +<%@ include file="negativeNameFromAttributeSameInclude.tagf" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tagf new file mode 100644 index 0000000000..486400b436 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameFromAttributeSameInclude.tagf @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable alias="abcdef" name-from-attribute="var" scope="AT_BEGIN" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenBoth.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenBoth.tag new file mode 100644 index 0000000000..5b511ec6b3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenBoth.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" + name-given="y" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamic.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamic.tag new file mode 100644 index 0000000000..b723616337 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamic.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag dynamic-attributes="x" %> +<%@ variable name-given="x" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tag new file mode 100644 index 0000000000..0252f276e5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeNameGivenDynamicInclude.tagf" %> +<%@ variable name-given="x" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tagf new file mode 100644 index 0000000000..65d8734b43 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenDynamicInclude.tagf @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag dynamic-attributes="x" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenNeither.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenNeither.tag new file mode 100644 index 0000000000..427c7a10b2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenNeither.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false"%> +<%@ variable alias="result" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSame.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSame.tag new file mode 100644 index 0000000000..d651f36526 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSame.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_BEGIN" %> +<%@ variable name-given="x" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tag new file mode 100644 index 0000000000..4e826a46a6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ include file="negativeNameGivenSameInclude.tagf" %> +<%@ variable name-given="x" scope="AT_BEGIN" %> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tagf b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tagf new file mode 100644 index 0000000000..96f7bdec89 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/negativeNameGivenSameInclude.tagf @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_BEGIN" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare.tag new file mode 100644 index 0000000000..4c1bcf38ac --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare.tag @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> +<%@ variable name-given="declared" scope="AT_BEGIN" %> +<% + jspContext.setAttribute("declared", "Test PASSED"); +%> + +<% + out.println("declared2:" + declared2); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare2.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare2.tag new file mode 100644 index 0000000000..c0366974ce --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveDeclare2.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="declared2" scope="AT_END" %> +<% + jspContext.setAttribute("declared2", "declared2"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveVariableClass.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveVariableClass.tag new file mode 100644 index 0000000000..83f61c26ca --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/positiveVariableClass.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="y" variable-class="java.lang.Integer" + scope="AT_BEGIN" %> +<% + jspContext.setAttribute("y", new Integer(2)); +%> +tag invoked + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBegin.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBegin.tag new file mode 100644 index 0000000000..128e6f7b6c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBegin.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_BEGIN" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "2"); +%> + +${x} <%-- (x == 2) --%> +<% + jspContext.setAttribute("x", "4"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBeginNameFromAttribute.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBeginNameFromAttribute.tag new file mode 100644 index 0000000000..84bc2af3ae --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtBeginNameFromAttribute.tag @@ -0,0 +1,38 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="var" required="true" rtexprvalue="false" %> +<%@ variable alias="result" name-from-attribute="var" scope="AT_BEGIN" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + if(jspContext.getAttribute("result", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. result is not null in tag file"); + } + jspContext.setAttribute("x", "ignoredInCallingPage"); + jspContext.setAttribute("result", "tagFileResult"); +%> + +${x} <%-- (x == 'ignoredInCallingPage') --%> +${result} <%-- (result == 'tagFileResult') --%> +<% + jspContext.setAttribute("x", "stillIgnoredInCallingPage"); + jspContext.setAttribute("result", "4"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtEnd.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtEnd.tag new file mode 100644 index 0000000000..d0ab0f1edd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncAtEnd.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_END" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "2"); +%> + +${x} <%-- (x == 2) --%> +<% + jspContext.setAttribute("x", "4"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncNested.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncNested.tag new file mode 100644 index 0000000000..41918bf809 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncNested.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="NESTED" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "2"); +%> + +${x} <%-- (x == 2) --%> +<% + jspContext.setAttribute("x", "4"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtBegin.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtBegin.tag new file mode 100644 index 0000000000..feff6b75dc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtBegin.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_BEGIN" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "1"); +%> + +<% + jspContext.removeAttribute("x", PageContext.PAGE_SCOPE); +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtEnd.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtEnd.tag new file mode 100644 index 0000000000..313c0174d4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveAtEnd.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="AT_END" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "1"); +%> + +<% + jspContext.removeAttribute("x", PageContext.PAGE_SCOPE); +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveNested.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveNested.tag new file mode 100644 index 0000000000..0fc8cc8d11 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/WEB-INF/tags/syncRemoveNested.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ variable name-given="x" scope="NESTED" %> + +<% + if(jspContext.getAttribute("x", PageContext.PAGE_SCOPE) != null) { + out.println("Test FAILED. x is not null in tag file"); + } + jspContext.setAttribute("x", "1"); +%> + +<% + jspContext.removeAttribute("x", PageContext.PAGE_SCOPE); +%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/falseDeclareTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/falseDeclareTest.jsp new file mode 100644 index 0000000000..72c7132182 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/falseDeclareTest.jsp @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> +<%! String declared; %> + + + + +<% + out.println(declared); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/jsp_tagfiles_directives_variable_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/jsp_tagfiles_directives_variable_web.xml new file mode 100644 index 0000000000..c84d0bf091 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/jsp_tagfiles_directives_variable_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileDirectivesVariable + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSame.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSame.jsp new file mode 100644 index 0000000000..6f80acd2ed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSame.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSameInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSameInclude.jsp new file mode 100644 index 0000000000..b3c100db97 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasAttributeSameInclude.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasNameGiven.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasNameGiven.jsp new file mode 100644 index 0000000000..ffd82bdb02 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeAliasNameGiven.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNoAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNoAttribute.jsp new file mode 100644 index 0000000000..10258feb80 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNoAttribute.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotRequired.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotRequired.jsp new file mode 100644 index 0000000000..c3d9bebbb2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotRequired.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotString.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotString.jsp new file mode 100644 index 0000000000..e5ffe6d888 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeNotString.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeRtexpr.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeRtexpr.jsp new file mode 100644 index 0000000000..d0a3757175 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeRtexpr.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<%! String s = "y"; %> +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSame.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSame.jsp new file mode 100644 index 0000000000..8af16603fc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSame.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSameInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSameInclude.jsp new file mode 100644 index 0000000000..8e332e30b6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameFromAttributeSameInclude.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenBoth.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenBoth.jsp new file mode 100644 index 0000000000..788eaa2b37 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenBoth.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamic.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamic.jsp new file mode 100644 index 0000000000..88f016f984 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamic.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "this is x"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamicInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamicInclude.jsp new file mode 100644 index 0000000000..6b895d05ff --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenDynamicInclude.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "this is x"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenNeither.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenNeither.jsp new file mode 100644 index 0000000000..6f705ec681 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenNeither.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("y", "this is y"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSame.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSame.jsp new file mode 100644 index 0000000000..0ea8b4e88a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSame.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "this is x"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSameInclude.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSameInclude.jsp new file mode 100644 index 0000000000..cbfc03edf9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/negativeNameGivenSameInclude.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "this is x"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveDeclare.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveDeclare.jsp new file mode 100644 index 0000000000..23edb131c0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveDeclare.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + + + +<% + out.println("declared variable value:" + declared); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveVariableClass.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveVariableClass.jsp new file mode 100644 index 0000000000..45009cb073 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/positiveVariableClass.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + + +<% + Object obj = pageContext.getAttribute("y", PageContext.PAGE_SCOPE); + if(obj instanceof Integer) { + out.println("Test PASSED."); + } else { + out.println("y in calling page is not Integer:" + obj); + } + +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBegin.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBegin.jsp new file mode 100644 index 0000000000..b142024dfc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBegin.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "1"); +%> + +${x} <%-- (x == 1) --%> + + ${x} <%-- (x == 2) --%> + +${x} <%-- (x == 4) --%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBeginNameFromAttribute.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBeginNameFromAttribute.jsp new file mode 100644 index 0000000000..8e79e8cd69 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtBeginNameFromAttribute.jsp @@ -0,0 +1,33 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "1"); + pageContext.setAttribute("result", "callingPageResult"); +%> + + + ${x} <%-- (x == tagFileResult) --%> + ${result} <%-- (result == callingPageResult) --%> + +${x} <%-- (x == 4) --%> +${result} <%-- (result == callingPageResult) --%> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtEnd.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtEnd.jsp new file mode 100644 index 0000000000..ee8eb8cda5 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncAtEnd.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "1"); +%> +${x} <%-- (x == 1) --%> + + + ${x} <%-- (x == 1) --%> + +${x} <%-- (x == 4) --%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncNested.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncNested.jsp new file mode 100644 index 0000000000..e7e82a92e4 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncNested.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "1"); +%> +${x} <%-- (x == 1) --%> + + + ${x} <%-- (x == 2) --%> + +${x} <%-- (x == 1) --%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtBegin.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtBegin.jsp new file mode 100644 index 0000000000..2e837d10c0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtBegin.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "2"); +%> +${x} + + + '${x}' + +'${x}' diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtEnd.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtEnd.jsp new file mode 100644 index 0000000000..0085545729 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveAtEnd.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "2"); +%> +${x} + + + '${x}' + +'${x}' diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveNested.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveNested.jsp new file mode 100644 index 0000000000..e1125d8cdd --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/syncRemoveNested.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +<% + pageContext.setAttribute("x", "2"); +%> +${x} + + + '${x}' + +${x} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkApplication.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkApplication.tag new file mode 100644 index 0000000000..b6ee521c04 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkApplication.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (application instanceof jakarta.servlet.ServletContext) %> +Value of Context Init parameter param1: <%= application.getInitParameter( "contextParam1" ) %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkConfig.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkConfig.tag new file mode 100644 index 0000000000..bb7b5eefde --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkConfig.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (config instanceof jakarta.servlet.ServletConfig) %> +Value of param1 is: <%= config.getInitParameter( "configParam1" ) %> +Value of param2 is: <%= config.getInitParameter( "configParam2" ) %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkJspContext.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkJspContext.tag new file mode 100644 index 0000000000..dcdb636b6c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkJspContext.tag @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (jspContext instanceof jakarta.servlet.jsp.JspContext) %> +<% + jspContext.setAttribute( "available", new String( "true" )); + String temp = (String) jspContext.findAttribute( "available" ); + out.print( temp ); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkOut.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkOut.tag new file mode 100644 index 0000000000..be3c84feed --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkOut.tag @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (out instanceof jakarta.servlet.jsp.JspWriter ) %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkRequest.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkRequest.tag new file mode 100644 index 0000000000..30da37be01 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkRequest.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (request instanceof jakarta.servlet.ServletRequest) %> + +<% out.println(request.getProtocol()); %> +<% out.println(request.getParameter("Years")); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkResponse.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkResponse.tag new file mode 100644 index 0000000000..4cf813d458 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkResponse.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (response instanceof jakarta.servlet.ServletResponse) %> +<% + response.addHeader("TestHeader", "Method call OK"); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkSession.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkSession.tag new file mode 100644 index 0000000000..50210ca237 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/WEB-INF/tags/checkSession.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag body-content="empty" %> +<%= (session instanceof jakarta.servlet.http.HttpSession) %> +<%= session.getAttribute("name.of.this.test") %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkApplication.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkApplication.jsp new file mode 100644 index 0000000000..45b2cce8d0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkApplication.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkConfig.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkConfig.jsp new file mode 100644 index 0000000000..433247bbcb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkConfig.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkJspContext.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkJspContext.jsp new file mode 100644 index 0000000000..3b468ce219 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkJspContext.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkOut.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkOut.jsp new file mode 100644 index 0000000000..49fac7ac4e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkOut.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkRequest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkRequest.jsp new file mode 100644 index 0000000000..0bb1b0cbc8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkRequest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkResponse.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkResponse.jsp new file mode 100644 index 0000000000..ccbe717e92 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkResponse.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkSession.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkSession.jsp new file mode 100644 index 0000000000..39cd38b698 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/checkSession.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> +<% + session.setAttribute("name.of.this.test", "checkSession"); +%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/jsp_tagfiles_implicitobjects_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/jsp_tagfiles_implicitobjects_web.xml new file mode 100644 index 0000000000..90ec139c95 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/jsp_tagfiles_implicitobjects_web.xml @@ -0,0 +1,46 @@ + + + + + JspTagFileImplicitObj + + contextParam1 + bilbo + + + checkConfigLogicalName + /checkConfig.jsp + + configParam1 + hobbit + + + configParam2 + gollum + + 0 + + + checkConfigLogicalName + /checkConfig + + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/IgnoreTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/IgnoreTag.tag new file mode 100644 index 0000000000..2a6bbbe5b7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/IgnoreTag.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test FAILED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldAdditionalElements.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldAdditionalElements.jsp new file mode 100644 index 0000000000..37cc9c9813 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldAdditionalElements.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/toomanytldelements" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldDefaultJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldDefaultJspVersion.jsp new file mode 100644 index 0000000000..b22999c86e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldDefaultJspVersion.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/defaultjspversion" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldMinimumJspVersion.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldMinimumJspVersion.jsp new file mode 100644 index 0000000000..cd92ff92a7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldMinimumJspVersion.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/badtldversion" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName20.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName20.jsp new file mode 100644 index 0000000000..cb575768cc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName20.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/reservedname20" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName21.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName21.jsp new file mode 100644 index 0000000000..62a55f7017 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/ImplicitTldReservedName21.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags/reservedname21" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarIgnoredTagTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarIgnoredTagTest.jsp new file mode 100644 index 0000000000..702f8026c8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarIgnoredTagTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/jartag" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarTest.jsp new file mode 100644 index 0000000000..5ac22ea105 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedJarTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/jartag" prefix="tags" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTest.jsp new file mode 100644 index 0000000000..ef174d1d51 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags1" %> +<%@ taglib tagdir="/WEB-INF/tags/dir" prefix="tags2" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTldTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTldTest.jsp new file mode 100644 index 0000000000..f9d33a0caa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/JspTagFilePackagedWarTldTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/webtld" prefix="tags1" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/Tag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/Tag1.tag new file mode 100644 index 0000000000..d130344c77 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/Tag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test PASSED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/TldImplicitTldJspVersionNotMatch.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/TldImplicitTldJspVersionNotMatch.jsp new file mode 100644 index 0000000000..71075e3c5c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/TldImplicitTldJspVersionNotMatch.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="tags1" uri="WEB-INF/tag.tld" %> +<%@ taglib tagdir="/WEB-INF/tags/versionnotmatch" prefix="tags2" %> + +<% out.println("Invoking tag through tld, v 2.0"); %> + + +<% out.println("Invoking tag through implicit tld, v.2.1"); %> + + +<% out.println("Test PASSED."); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tag.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tag.tld new file mode 100644 index 0000000000..ff5e3bd70c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tag.tld @@ -0,0 +1,36 @@ + + + + + webtagtld + 1.0 + webtagtld + http://java.sun.com/tck/jsp/webtld + + webtag + /WEB-INF/tags/WebTag1.tag + + + webtag2 + /WEB-INF/tags/versionnotmatch/WebTag1.tag + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/WebTag1.tag new file mode 100644 index 0000000000..80741f1820 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/WebTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test PASSED1"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/WebTag1.tag new file mode 100644 index 0000000000..103f276754 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/WebTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/implicit.tld new file mode 100644 index 0000000000..3faf3e2360 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/badtldversion/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/defaultjspversion/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/defaultjspversion/WebTag1.tag new file mode 100644 index 0000000000..da2ae5d28d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/defaultjspversion/WebTag1.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +The use of the expression #{expr} here should not +cause a translation error because the default implicit tld jsp +version is 2.0. +<% out.println("Test PASSED"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/dir/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/dir/WebTag1.tag new file mode 100644 index 0000000000..ce1b39eabb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/dir/WebTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test PASSED2"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/DeferredSyntaxAsLiteral.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/DeferredSyntaxAsLiteral.tag new file mode 100644 index 0000000000..77b543a701 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/DeferredSyntaxAsLiteral.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="literal" %> +<% + Object o = jspContext.getAttribute("literal"); + out.println(o); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/ImplicitTld20.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/ImplicitTld20.tag new file mode 100644 index 0000000000..73fdafe17e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/ImplicitTld20.tag @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ImplicitTld20.tag + Description : Verify that the jsp version of an implicit + tag library is configured by the implicit.tld + file. Use of '#{' in an action should be + allowed when the jsp version is 2.0. +**/ %> + +<%@ taglib tagdir="/WEB-INF/tags/reservedname20" prefix="tags" %> + + +<% out.println("Test PASSED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/implicit.tld new file mode 100644 index 0000000000..3ecad8b770 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname20/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/DeferredSyntaxAsLiteral.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/DeferredSyntaxAsLiteral.tag new file mode 100644 index 0000000000..77b543a701 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/DeferredSyntaxAsLiteral.tag @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="literal" %> +<% + Object o = jspContext.getAttribute("literal"); + out.println(o); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/ImplicitTld21.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/ImplicitTld21.tag new file mode 100644 index 0000000000..3c226834a9 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/ImplicitTld21.tag @@ -0,0 +1,31 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% /** Name : ImplicitTld21.tag + Description : Verify that the jsp version of an implicit + tag library is configured by the implicit.tld + file. Use of '#{' in an action should result + in a translation error when the jsp version + is 2.1 or greater. +**/ %> + +<%@ taglib tagdir="/WEB-INF/tags/reservedname21" prefix="tags" %> +<%@ tag deferredSyntaxAllowedAsLiteral="false" %> + + +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/implicit.tld new file mode 100644 index 0000000000..22981b008e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/reservedname21/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/WebTag1.tag new file mode 100644 index 0000000000..adbfe01b4c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/WebTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("Test FAILED:"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/implicit.tld new file mode 100644 index 0000000000..782610f6c6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/toomanytldelements/implicit.tld @@ -0,0 +1,32 @@ + + + + + + 1.0 + implicit + + foo + com.sun.ts.tests.jsp.common.tags.tck.SetTag + empty + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/WebTag1.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/WebTag1.tag new file mode 100644 index 0000000000..fd51ea8e67 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/WebTag1.tag @@ -0,0 +1,19 @@ +<%-- + + Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% out.println("tag invoked"); %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/implicit.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/implicit.tld new file mode 100644 index 0000000000..22981b008e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/WEB-INF/tags/versionnotmatch/implicit.tld @@ -0,0 +1,27 @@ + + + + + + 1.0 + implicit + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jartagfile.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jartagfile.tld new file mode 100644 index 0000000000..04614a556c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jartagfile.tld @@ -0,0 +1,32 @@ + + + + + jartagfile + 1.0 + jartag + http://java.sun.com/tck/jsp/jartag + + tag1 + /META-INF/tags/Tag1.tag + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jsp_tagfile_pkg_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jsp_tagfile_pkg_web.xml new file mode 100644 index 0000000000..20044dbb65 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/packaging/jsp_tagfile_pkg_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfilepackaging + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsAttributeNotSpecifiedTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsAttributeNotSpecifiedTest.jsp new file mode 100644 index 0000000000..9965d0db5d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsAttributeNotSpecifiedTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + Validate that if an attribute is declared, but not specified, + that no page scoped variable is created in the JSP Context Wrapper. +--%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDeclaredAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDeclaredAttributesTest.jsp new file mode 100644 index 0000000000..fe91098c76 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDeclaredAttributesTest.jsp @@ -0,0 +1,32 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%-- + For each attribute declared and specified, a page-scoped variable + must be created in the page scope of the JSP Context Wrapper. + The name of the variable must be the same as the declared attribute name. + The value of the variable must be the value of the attribute passed in + during invocation. +--%> + + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDynamicAttributesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDynamicAttributesTest.jsp new file mode 100644 index 0000000000..cf8d97d566 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsDynamicAttributesTest.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsJspContextWrapperTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsJspContextWrapperTest.jsp new file mode 100644 index 0000000000..5f16590e68 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsJspContextWrapperTest.jsp @@ -0,0 +1,34 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> +<%-- + The tag file implementation must create and maintain a second + instance of JspContext called a JSP ontext Wrapper. If the + invoking JSP Context is an instance of PageContext, the JSP Context Wrapper + must also be an instance of PageContext. This wrapper must be returned + when getJspContext() is called. +--%> + +<%-- Store the invoking JSP context in the current request --%> +<% request.setAttribute("INVOKING_CONTEXT", pageContext); %> + +<%-- invoke the tag --%> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsScopesTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsScopesTest.jsp new file mode 100644 index 0000000000..ad9861bdfa --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/JspTagSemanticsScopesTest.jsp @@ -0,0 +1,167 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" import="java.io.IOException" %> +<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %> + +<%! + private void cleanup(PageContext pageContext) { + pageContext.removeAttribute("applicationScopeAttr"); + pageContext.removeAttribute("applAddAttr"); + pageContext.removeAttribute("pageScopeAttr"); + pageContext.removeAttribute("requestScopeAttr"); + pageContext.removeAttribute("sessionScopeAttr"); + pageContext.removeAttribute("applicationScopeAttr"); + pageContext.removeAttribute("pageAddAttr"); + pageContext.removeAttribute("reqAddAttr"); + pageContext.removeAttribute("sessAddAttr"); + pageContext.removeAttribute("applAddAttr"); + } +%> + +<%! + private void initTest(PageContext pageContext) { + pageContext.setAttribute("pageScopeAttr", "pageScope"); + pageContext.setAttribute("pageScopeRem", "pageScopeRem"); + pageContext.setAttribute("requestScopeAttr", "requestScope", PageContext.REQUEST_SCOPE); + pageContext.setAttribute("requestScopeRem", "requestScopeRem", PageContext.REQUEST_SCOPE); + pageContext.setAttribute("sessionScopeAttr", "sessionScope", PageContext.SESSION_SCOPE); + pageContext.setAttribute("sessionScopeRem", "sessionScopeRem", PageContext.SESSION_SCOPE); + pageContext.setAttribute("applicationScopeAttr", "applicationScope", PageContext.APPLICATION_SCOPE); + pageContext.setAttribute("applicationScopeRem", "applicationScopeRem", PageContext.APPLICATION_SCOPE); + } +%> + +<%! + private void validate(PageContext pageContext) throws IOException { + JspWriter out = pageContext.getOut(); + String pageScope = (String) pageContext.getAttribute("pageScopeAttr"); + String reqScope = (String) pageContext.getAttribute("requestScopeAttr", PageContext.REQUEST_SCOPE); + String sessScope = (String) pageContext.getAttribute("sessionScopeAttr", PageContext.SESSION_SCOPE); + String applScope = (String) pageContext.getAttribute("applicationScopeAttr", PageContext.APPLICATION_SCOPE); + String pageAdd = (String) pageContext.getAttribute("pageAddAttr"); + String reqAdd = (String) pageContext.getAttribute("reqAddAttr", PageContext.REQUEST_SCOPE); + String sessAdd = (String) pageContext.getAttribute("sessAddAttr", PageContext.SESSION_SCOPE); + String applAdd = (String) pageContext.getAttribute("applAddAttr", PageContext.APPLICATION_SCOPE); + String pageRem = (String) pageContext.getAttribute("pageScopeRem"); + + if ("pageScope".equals(pageScope)) { + if ("requestScopeMod".equals(reqScope)) { + if ("sessionScopeMod".equals(sessScope)) { + if ("applicationScopeMod".equals(applScope)) { + if (pageContext.getAttribute("requestScopeRem") == null) { + if (pageContext.getAttribute("sessionScoperem") == null) { + if (pageContext.getAttribute("applicationScopeRem") == null) { + if ("pageScopeRem".equals(pageRem)) { + if (pageAdd == null) { + if ("reqAdd".equals(reqAdd)) { + if ("sessAdd".equals(sessAdd)) { + if ("applAdd".equals(applAdd)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Application scoped " + + "variable added to wrapper not reflected in invoking context."); + } + } else { + out.println("Test FAILED. Session scoped " + + "variable added to wrapper not reflected in invoking context."); + } + } else { + out.println("Test FAILED. Request scoped " + + "variable added to wrapper not reflected in invoking context."); + } + } else { + out.println("Test FAILED. Page scoped variable added to wrapper should not" + + " have been synchronized with the invoking context"); + } + } else { + out.println("Test FAILED. The page scoped variable removed from the wrapper " + + "should not have been removed from the invoking context."); + } + } else { + out.println("Test FAILED. The application scoped variable that was removed from the " + + "wrapper was not removed from the invoking context."); + } + } else { + out.println("Test FAILED. The session scoped variable that was removed from the " + + "wrapper was not removed from the invoking context."); + } + } else { + out.println("Test FAILED. The request scoped variable that was removed from the " + + "wrapper was not removed from the invoking context."); + } + } else { + out.println("Test FAILED. The application scoped variable that was overwritten in the wrapper " + + "was not synchronized with the invoking context. Expected 'applicationScopeMod', received: " + applScope); + } + } else { + out.println("Test FAILED. The session scoped variable that was overwritten in the wrapper " + + "was not synchronized with the invoking context. Expected 'sessionScopeMod', received: " + sessScope); + } + } else { + out.println("Test FAILED. The request scoped variable that was overwritten in the wrapper " + + "was not synchronized with the invoking context. Expected 'requestScopeMod', received: " + reqScope); + } + } else { + out.println("Test FAILED. The page scoped variable originally defined in the invoking context " + + "was modified by a change in the wrapper context."); + } + } +%> + +<%-- + For each invocation to the tag, the JSP Context Wrapper must + present a clean page scope containing no initial elements. + All scopes other than the page scope must be identical to those + in the Invoking JSP Context and must be modified accordingly when updates + are made to those scopes in the JSP Context Wrapper. Any modifications + to the page scope, however, must not affect the Invoking JSP Context. +--%> + +<%-- Init the PageContext scopes --%> +<% + initTest(pageContext); +%> + +<%-- invoke the Tag --%> + + +<%-- post-invocation checks --%> +<% + validate(pageContext); +%> + +<%-- post test cleanup --%> +<% + cleanup(pageContext); +%> + +<%-- Invoke the tag again...no change in behavior should occur --%> +<% + initTest(pageContext); +%> + + + +<% + validate(pageContext); +%> + +<% + cleanup(pageContext); +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/mytags.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/mytags.tld new file mode 100644 index 0000000000..4854612d7f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/mytags.tld @@ -0,0 +1,41 @@ + + + + + mysimpletag + 1.0 + mysimpletag + http://java.sun.com/tck/jsp/tagfiles/semantics + + mysimpletag + com.sun.ts.tests.jsp.spec.tagfiles.semantics.MySimpleTag + empty + false + + + myclassictag + com.sun.ts.tests.jsp.spec.tagfiles.semantics.MyClassicTag + empty + false + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/AttributeNotSpecifiedTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/AttributeNotSpecifiedTag.tag new file mode 100644 index 0000000000..4f73addd2c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/AttributeNotSpecifiedTag.tag @@ -0,0 +1,28 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="false" %> + +<% + if (jspContext.getAttribute("attr1") == null) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. A page scoped variable was incorrectly created" + + " for an attribute that was not specified at invocation time."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DeclaredAttributesTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DeclaredAttributesTag.tag new file mode 100644 index 0000000000..4d699f7680 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DeclaredAttributesTag.tag @@ -0,0 +1,36 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ attribute name="attr1" required="true" %> +<%@ attribute name="attr2" required="false" %> + +<% + String attr1Value = (String) jspContext.getAttribute("attr1"); + String attr2Value = (String) jspContext.getAttribute("attr2"); + if ("attrValue".equals(attr1Value)) { + if ("attr2Value".equals(attr2Value)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. Expected the value of attr2 to be 'attrValue'." + + " Received: " + attr2Value); + } + } else { + out.println("Test FAILED. Expected the value of attr1 to be 'attrValue'." + + " Received: " + attr1Value); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DynamicAttributesTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DynamicAttributesTag.tag new file mode 100644 index 0000000000..633edcbf8f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/DynamicAttributesTag.tag @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag dynamic-attributes="dynMap" import="java.util.Map" %> + +<% + String attr1Value = (String) ((Map) jspContext.getAttribute("dynMap")).get("attr1"); + if ("attr1Value".equals(attr1Value)) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. A page scoped variable was not created" + + " or was the incorrect value for the dynamic attribute passed" + + " in at invocation time. Expected: attr1Value, received: " + attr1Value); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperScopesTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperScopesTag.tag new file mode 100644 index 0000000000..e49098f990 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperScopesTag.tag @@ -0,0 +1,69 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ tag import="java.util.Enumeration"%> + +<% + // check to make sure the page scope of wrapper context is emtpy. + Enumeration e = jspContext.getAttributeNamesInScope(PageContext.PAGE_SCOPE); + if (e.hasMoreElements()) { + out.println("Test FAILED. The JSP Context Wrapper did not have a clean " + + "page scope."); + out.println("Attribute names found:"); + for (String name = (String) e.nextElement(); + e.hasMoreElements(); + name = (String) e.nextElement()) { + out.println(name); + } + } else { + String reqScope = (String) jspContext.getAttribute("requestScopeAttr", PageContext.REQUEST_SCOPE); + String sessScope = (String) jspContext.getAttribute("sessionScopeAttr", PageContext.SESSION_SCOPE); + String applScope = (String) jspContext.getAttribute("applicationScopeAttr", PageContext.APPLICATION_SCOPE); + if ("requestScope".equals(reqScope)) { + if ("sessionScope".equals(sessScope)) { + if ("applicationScope".equals(applScope)) { + out.println("Wrapper Test PASSED"); + } else { + out.println("Test FAILED. Invoking context application scope not " + + "totally available to the wrapping context. Expected 'applicationScope'," + + " received: " + applScope); + } + } else { + out.println("Test FAILED. Invoking context session scope not " + + "totally available to the wrapping context. Expected 'sessionScope'," + + " received: " + sessScope); + } + } else { + out.println("Test FAILED. Invoking context request scope not " + + "totally available to the wrapping context. Expected 'requestScope'," + + " received: " + reqScope); + } + jspContext.setAttribute("requestScopeAttr", "requestScopeMod", PageContext.REQUEST_SCOPE); + jspContext.setAttribute("sessionScopeAttr", "sessionScopeMod", PageContext.SESSION_SCOPE); + jspContext.setAttribute("applicationScopeAttr", "applicationScopeMod", PageContext.APPLICATION_SCOPE); + jspContext.removeAttribute("requestScopeRem"); + jspContext.removeAttribute("sessionScopeRem"); + jspContext.removeAttribute("applicationScopeRem"); + jspContext.setAttribute("pageScopeRem", "pageScopeRem"); + jspContext.removeAttribute("pageScopeRem"); + jspContext.setAttribute("pageAddAttr", "pageAdd"); + jspContext.setAttribute("reqAddAttr", "reqAdd", PageContext.REQUEST_SCOPE); + jspContext.setAttribute("sessAddAttr", "sessAdd", PageContext.SESSION_SCOPE); + jspContext.setAttribute("applAddAttr", "applAdd", PageContext.APPLICATION_SCOPE); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperTag.tag new file mode 100644 index 0000000000..b1345236e2 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/JspContextWrapperTag.tag @@ -0,0 +1,53 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<% + JspContext invokingContext = + (JspContext) request.getAttribute("INVOKING_CONTEXT"); + + JspContext tagContext = this.getJspContext(); + + if (invokingContext != null) { + if (tagContext != null) { + if (tagContext instanceof PageContext) { + if (tagContext != invokingContext) { + if (jspContext == tagContext) { + out.println("Test PASSED"); + } else { + out.println("Test FAILED. The jspContext scripting" + + " variable is not the same context as that returned " + + "by getJspContext()"); + } + } else { + out.println("Test FAILED. The JSP Context Wrapper is the " + + "same object as the invoking JSP Context."); + } + } else { + out.println("Test FAILED. The JSP Context Wrapper returned by" + + " getJspContext() should have been an instance of PageContext\n" + + " as the invoking JSP Context is Servlet-based."); + } + } else { + out.println("Test FAILED. The invocation of getJspContext() " + + "returned null."); + } + } else { + out.println("Test FAILED. Unable to find the invoking PageContext in the" + + " request object."); + } +%> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeClassicTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeClassicTag.tag new file mode 100644 index 0000000000..895c96cefb --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeClassicTag.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="my" uri="http://java.sun.com/tck/jsp/tagfiles/semantics" %> + +endOfTagFile + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeSimpleTag.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeSimpleTag.tag new file mode 100644 index 0000000000..d7d8f88e39 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsInvokeSimpleTag.tag @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ taglib prefix="my" uri="http://java.sun.com/tck/jsp/tagfiles/semantics" %> + +Test FAILED. This part of the tag file should not be processed. + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsJspForward.tag b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsJspForward.tag new file mode 100644 index 0000000000..9d2fb51995 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/WEB-INF/tags/semanticsJspForward.tag @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + + +Test FAILED. This part of the tag file should not be processed. + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/jsp_tagfile_semantics_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/jsp_tagfile_semantics_web.xml new file mode 100644 index 0000000000..7069498001 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/jsp_tagfile_semantics_web.xml @@ -0,0 +1,25 @@ + + + + + JspTagfileSemantics + + 5 + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeClassicTag.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeClassicTag.jsp new file mode 100644 index 0000000000..261fd2c44d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeClassicTag.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +endOfCallingPage diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeSimpleTag.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeSimpleTag.jsp new file mode 100644 index 0000000000..75cd743ce0 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsInvokeSimpleTag.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +Test FAILED. this part of the page should not be processed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForward.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForward.jsp new file mode 100644 index 0000000000..b258d81b8a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForward.jsp @@ -0,0 +1,22 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> + +Test FAILED. this part should not be processed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForwardTarget.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForwardTarget.jsp new file mode 100644 index 0000000000..41f2e7ec52 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tagfiles/semantics/semanticsJspForwardTarget.jsp @@ -0,0 +1,20 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +Test PASSED. The forwarded jsp processed. diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldExplicitWebXmlPrecedenceTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldExplicitWebXmlPrecedenceTest.jsp new file mode 100644 index 0000000000..d23241a56e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldExplicitWebXmlPrecedenceTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + Taglibs defined in the web.xml takes precedence over taglibraries + defined in JAR files or in the WEB-INF directory. +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/webxmlpres" prefix="webxml" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPath11Test.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPath11Test.jsp new file mode 100644 index 0000000000..705207dbb1 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPath11Test.jsp @@ -0,0 +1,29 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- + Validate a taglibrary can be detected when packaged + as specified in the JSP 1.1 specification. No + translation error should occur if properly found + by the container and the tag should work as expected. +--%> + +<%@ taglib uri="/WEB-INF/lib/jsp11taglib.jar" prefix="taglib" %> + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathAbsUriNotFoundTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathAbsUriNotFoundTest.jsp new file mode 100644 index 0000000000..45a2e8fe0e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathAbsUriNotFoundTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + If the URI provided to the uri attribute is an absolute URI + and the URI is not found in the taglib map, a translation + error must be raised. +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/nosuchuriexists" prefix="pre" %> diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathDirectTldReferenceTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathDirectTldReferenceTest.jsp new file mode 100644 index 0000000000..1cbf7e6e79 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathDirectTldReferenceTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- + TLDs can be directly referenced in the uri attribute of the + taglib directive. +--%> + +<%@ taglib uri="/WEB-INF/webxml.tld" prefix="webxml" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathExplicitWebXmlTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathExplicitWebXmlTest.jsp new file mode 100644 index 0000000000..71c40341e7 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathExplicitWebXmlTest.jsp @@ -0,0 +1,25 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- + Validate a taglibrary can be used when explicitly + defined within the web.xml descriptor. +--%> +<%@ taglib uri="http://java.sun.com/tck/jsp/webxml" prefix="webxml" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathMultiTldTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathMultiTldTest.jsp new file mode 100644 index 0000000000..936958e8f6 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathMultiTldTest.jsp @@ -0,0 +1,30 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- + As of JSP 1.2 multiple TLD's can be packaged within a JAR file. + Validate the container registers the taglibrary based on the URI + specified in the element of the package TLDs. +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/multi1" prefix="m1" %> +<%@ taglib uri="http://java.sun.com/tck/jsp/multi2" prefix="m2" %> + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathWebInfUriTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathWebInfUriTest.jsp new file mode 100644 index 0000000000..3511036e94 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/TldResPathWebInfUriTest.jsp @@ -0,0 +1,27 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%-- + As of JSP 2.0, TLDs with the element, if placed in /WEB-INF + (or some subdirectory thereof) will be processed by the container + and have the URI added to the taglib map. +--%> + +<%@ taglib uri="http://java.sun.com/tck/jsp/uri" prefix="uri" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/a12.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/a12.tld new file mode 100644 index 0000000000..5f1f510f42 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/a12.tld @@ -0,0 +1,31 @@ + + + + + + 1.0 + 1.2 + a12 + a12 + + a12 + com.sun.ts.tests.jsp.spec.tldres.WebXmlTag + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/sub/webinfsub.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/sub/webinfsub.tld new file mode 100644 index 0000000000..f2169c8494 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/sub/webinfsub.tld @@ -0,0 +1,30 @@ + + + + + webinfsub + 1.0 + webinfsub + + com.sun.ts.tests.jsp.spec.tldres.HSListenerWebInfSub + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/tlds/uri.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/tlds/uri.tld new file mode 100644 index 0000000000..3b2f79de30 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/tlds/uri.tld @@ -0,0 +1,33 @@ + + + + + uri + 1.0 + uri + http://java.sun.com/tck/jsp/uri + + uri + com.sun.ts.tests.jsp.spec.tldres.UriTag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webinfpres.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webinfpres.tld new file mode 100644 index 0000000000..4360d9acea --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webinfpres.tld @@ -0,0 +1,33 @@ + + + + + webinfpres + 1.0 + webinfpres + http://java.sun.com/tck/jsp/webxmlpres + + webxml + com.sun.ts.tests.jsp.spec.tldres.UriTag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webxml.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webxml.tld new file mode 100644 index 0000000000..53b8e98bf3 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/WEB-INF/webxml.tld @@ -0,0 +1,35 @@ + + + + + webxml + 1.0 + webxml + + com.sun.ts.tests.jsp.spec.tldres.HSListenerWebInf + + + webxml + com.sun.ts.tests.jsp.spec.tldres.WebXmlTag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jartagpres.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jartagpres.tld new file mode 100644 index 0000000000..cc6fdb0a8e --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jartagpres.tld @@ -0,0 +1,33 @@ + + + + + jartag + 1.0 + jartag + http://java.sun.com/tck/jsp/webxmlpres + + webxml + com.sun.ts.tests.jsp.spec.tldres.Multi1Tag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jsp_tldres_web.xml b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jsp_tldres_web.xml new file mode 100644 index 0000000000..f71cf445fc --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/jsp_tldres_web.xml @@ -0,0 +1,35 @@ + + + + + JspTldRes + + 5 + + + + http://java.sun.com/tck/jsp/webxml + /WEB-INF/webxml.tld + + + http://java.sun.com/tck/jsp/webxmlpres + /WEB-INF/webxml.tld + + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/listenerTldTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/listenerTldTest.jsp new file mode 100644 index 0000000000..1bbaedc509 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/listenerTldTest.jsp @@ -0,0 +1,23 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +${sessionScope["session.created.meta.inf"]} +${sessionScope["session.created.meta.inf.sub"]} +${sessionScope["session.created.web.inf"]} +${sessionScope["session.created.web.inf.sub"]} diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/metainfsub.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/metainfsub.tld new file mode 100644 index 0000000000..bc99ee2c22 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/metainfsub.tld @@ -0,0 +1,31 @@ + + + + + metainfsub + 1.0 + metainfsub + http://java.sun.com/tck/jsp/metainfsub + + com.sun.ts.tests.jsp.spec.tldres.HSListenerMetaInfSub + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi1.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi1.tld new file mode 100644 index 0000000000..d60f40418c --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi1.tld @@ -0,0 +1,36 @@ + + + + + multi1 + 1.0 + multi1 + http://java.sun.com/tck/jsp/multi1 + + com.sun.ts.tests.jsp.spec.tldres.HSListenerMetaInf + + + multi1 + com.sun.ts.tests.jsp.spec.tldres.Multi1Tag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi2.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi2.tld new file mode 100644 index 0000000000..60df5d0e2f --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/multi2.tld @@ -0,0 +1,33 @@ + + + + + multi2 + 1.0 + multi2 + http://java.sun.com/tck/jsp/multi2 + + multi2 + com.sun.ts.tests.jsp.spec.tldres.Multi2Tag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeJSPPrefix.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeJSPPrefix.jsp new file mode 100644 index 0000000000..b2829fad9d --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeJSPPrefix.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- +use jsp prefix for an element that is not a standard action +--%> + +<%@ taglib uri="/WEB-INF/webxml.tld" prefix="jsp" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeTaglibAfterActionTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeTaglibAfterActionTest.jsp new file mode 100644 index 0000000000..47cde5d23a --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/negativeTaglibAfterActionTest.jsp @@ -0,0 +1,24 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + + + +<%@ taglib uri="/WEB-INF/webxml.tld" prefix="webxml" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/path/TldResPathRelativeUriTest.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/path/TldResPathRelativeUriTest.jsp new file mode 100644 index 0000000000..a20361fb0b --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/path/TldResPathRelativeUriTest.jsp @@ -0,0 +1,21 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> +<%@ taglib uri="../WEB-INF/webxml.tld" prefix="webxml" %> + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/taglib.tld b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/taglib.tld new file mode 100644 index 0000000000..0e50b13ca8 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/taglib.tld @@ -0,0 +1,32 @@ + + + + + taglib.tld + 1.0 + tld11 + + tld11 + com.sun.ts.tests.jsp.spec.tldres.Tld11Tag + JSP + + diff --git a/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/tld12DefaultBodyContent.jsp b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/tld12DefaultBodyContent.jsp new file mode 100644 index 0000000000..8ae7bdb949 --- /dev/null +++ b/jsp/src/main/resources/com/sun/ts/tests/jsp/spec/tldres/tld12DefaultBodyContent.jsp @@ -0,0 +1,26 @@ +<%-- + + Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + +--%> + +<%@ page contentType="text/plain" %> + +<%-- +omit body-content in a 1.2 style tld and a container is required to apply default JSP. +--%> + +<%@ taglib uri="/WEB-INF/a12.tld" prefix="a12" %> +