You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by ml...@apache.org on 2013/08/05 19:48:34 UTC
[2/8] git commit: TAP5-2070 new test integration app for activation
context check
TAP5-2070 new test integration app for activation context check
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/7e058593
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/7e058593
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/7e058593
Branch: refs/heads/master
Commit: 7e058593bf074416bd8af97a66a1dc770021e8bd
Parents: 83fcdca
Author: Massimo Lusetti <ml...@apache.org>
Authored: Mon Aug 5 19:43:46 2013 +0200
Committer: Massimo Lusetti <ml...@apache.org>
Committed: Mon Aug 5 19:48:15 2013 +0200
----------------------------------------------------------------------
.../src/test/activationctx/WEB-INF/web.xml | 19 +++++
.../ActivationContextintegrationTests.java | 88 ++++++++++++++++++++
.../activationctx/components/Layout.java | 19 +++++
.../integration/activationctx/pages/Index.java | 30 +++++++
.../activationctx/pages/NoContext.java | 23 +++++
.../activationctx/pages/OneContext.java | 25 ++++++
.../activationctx/pages/TwoContext.java | 26 ++++++
.../activationctx/services/AppModule.java | 30 +++++++
.../activationctx/components/Layout.tml | 21 +++++
.../integration/activationctx/pages/Index.tml | 39 +++++++++
.../activationctx/pages/NoContext.tml | 7 ++
.../activationctx/pages/OneContext.tml | 7 ++
.../activationctx/pages/TwoContext.tml | 7 ++
13 files changed, 341 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/activationctx/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/activationctx/WEB-INF/web.xml b/tapestry-core/src/test/activationctx/WEB-INF/web.xml
new file mode 100644
index 0000000..d42a684
--- /dev/null
+++ b/tapestry-core/src/test/activationctx/WEB-INF/web.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app
+ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <display-name>Activation Context Test App</display-name>
+ <context-param>
+ <param-name>tapestry.app-package</param-name>
+ <param-value>org.apache.tapestry5.integration.activationctx</param-value>
+ </context-param>
+ <filter>
+ <filter-name>app</filter-name>
+ <filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>app</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+</web-app>
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/ActivationContextintegrationTests.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/ActivationContextintegrationTests.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/ActivationContextintegrationTests.java
new file mode 100644
index 0000000..da6be55
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/ActivationContextintegrationTests.java
@@ -0,0 +1,88 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx;
+
+import org.apache.tapestry5.integration.TapestryCoreTestCase;
+import org.testng.annotations.Test;
+
+/**
+ * To test TAP5-2070
+ */
+public class ActivationContextintegrationTests extends TapestryCoreTestCase
+{
+ @Test
+ public void no_context_correct()
+ {
+ openLinks("No context correct");
+
+ assertTextPresent("You are able to see me only without activation context");
+ }
+
+ @Test
+ public void no_context_error()
+ {
+ openLinks("No context error");
+
+ assertTextPresent("HTTP ERROR 404");
+ }
+
+ @Test
+ public void one_context_without()
+ {
+ openLinks("One context without");
+
+ assertTextPresent("HTTP ERROR 404");
+ }
+
+ @Test
+ public void one_context_with_one()
+ {
+ openLinks("One context correct");
+
+ assertTextPresent("You are able to see me only with one parameter in the activation context");
+ }
+
+ @Test
+ public void one_context_with_two()
+ {
+ openLinks("One context error");
+
+ assertTextPresent("HTTP ERROR 404");
+ }
+
+ @Test
+ public void two_context_without()
+ {
+ openLinks("Two context without");
+
+ assertTextPresent("HTTP ERROR 404");
+ }
+
+ @Test
+ public void two_context_with_one()
+ {
+ openLinks("Two context error");
+
+ assertTextPresent("HTTP ERROR 404");
+ }
+
+ @Test
+ public void two_context_with_two()
+ {
+ openLinks("Two context correct");
+
+ assertTextPresent("You are able to see me only with two parameters in the activation context");
+ }
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/components/Layout.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/components/Layout.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/components/Layout.java
new file mode 100644
index 0000000..1caa518
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/components/Layout.java
@@ -0,0 +1,19 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.components;
+
+public class Layout
+{
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/Index.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/Index.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/Index.java
new file mode 100644
index 0000000..39dc050
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/Index.java
@@ -0,0 +1,30 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.pages;
+
+/**
+ * TAP5-2070 Integration test index page
+ */
+public class Index
+{
+
+ public String[] getTwoValues()
+ {
+ return new String[] {
+ "One",
+ "Two"
+ };
+ }
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/NoContext.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/NoContext.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/NoContext.java
new file mode 100644
index 0000000..9492f74
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/NoContext.java
@@ -0,0 +1,23 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.pages;
+
+import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
+
+@UnknownActivationContextCheck
+public class NoContext
+{
+
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/OneContext.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/OneContext.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/OneContext.java
new file mode 100644
index 0000000..e49070a
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/OneContext.java
@@ -0,0 +1,25 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.pages;
+
+import org.apache.tapestry5.annotations.PageActivationContext;
+import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
+
+@UnknownActivationContextCheck
+public class OneContext
+{
+ @PageActivationContext
+ private String activationContext;
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/TwoContext.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/TwoContext.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/TwoContext.java
new file mode 100644
index 0000000..74f73a8
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/pages/TwoContext.java
@@ -0,0 +1,26 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.pages;
+
+import org.apache.tapestry5.annotations.UnknownActivationContextCheck;
+
+@UnknownActivationContextCheck
+public class TwoContext
+{
+ void onActivate(String one, String two)
+ {
+ // Do some nifty stuff...
+ }
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
new file mode 100644
index 0000000..4d4541a
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/activationctx/services/AppModule.java
@@ -0,0 +1,30 @@
+// Copyright 2013 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry5.integration.activationctx.services;
+
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+
+/**
+ *
+ */
+public class AppModule
+{
+ public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
+ {
+ configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
+ configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+ }
+}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/components/Layout.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/components/Layout.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/components/Layout.tml
new file mode 100644
index 0000000..0084db4
--- /dev/null
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/components/Layout.tml
@@ -0,0 +1,21 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
+ <head>
+ <title>LinkTrans: ${componentresources.pagename}</title>
+ </head>
+ <body>
+ <h1>${componentresources.pagename}</h1>
+
+ <t:body/>
+
+ <hr/>
+
+ <ul>
+ <li>
+ <t:pagelink page="index">back to index</t:pagelink>
+ </li>
+ <li>
+ <t:pagelink page="${componentResources.pageName}">refresh</t:pagelink>
+ </li>
+ </ul>
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/Index.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/Index.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/Index.tml
new file mode 100644
index 0000000..d6fc3f7
--- /dev/null
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/Index.tml
@@ -0,0 +1,39 @@
+<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
+
+ <ul>
+ <li>
+ <t:pagelink page="nocontext">No context correct</t:pagelink>
+ </li>
+
+ <li>
+ <t:pagelink page="nocontext" context="literal:one">No context error</t:pagelink>
+ </li>
+
+
+ <li>
+ <t:pagelink page="onecontext">One context without</t:pagelink>
+ </li>
+
+ <li>
+ <t:pagelink page="onecontext" context="literal:one">One context correct</t:pagelink>
+ </li>
+
+ <li>
+ <t:pagelink page="onecontext" context="twoValues">One context error</t:pagelink>
+ </li>
+
+
+ <li>
+ <t:pagelink page="twocontext">Two context without</t:pagelink>
+ </li>
+
+ <li>
+ <t:pagelink page="twocontext" context="literal:one">Two context error</t:pagelink>
+ </li>
+
+ <li>
+ <t:pagelink page="twocontext" context="twoValues">Two context correct</t:pagelink>
+ </li>
+ </ul>
+
+</t:layout>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/NoContext.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/NoContext.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/NoContext.tml
new file mode 100644
index 0000000..2a8852d
--- /dev/null
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/NoContext.tml
@@ -0,0 +1,7 @@
+<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
+
+ <p>
+ You are able to see me only without activation context
+ </p>
+
+</t:layout>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/OneContext.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/OneContext.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/OneContext.tml
new file mode 100644
index 0000000..a1ce81a
--- /dev/null
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/OneContext.tml
@@ -0,0 +1,7 @@
+<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
+
+ <p>
+ You are able to see me only with one parameter in the activation context
+ </p>
+
+</t:layout>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/7e058593/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/TwoContext.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/TwoContext.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/TwoContext.tml
new file mode 100644
index 0000000..cf24c2a
--- /dev/null
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/activationctx/pages/TwoContext.tml
@@ -0,0 +1,7 @@
+<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
+
+ <p>
+ You are able to see me only with two parameters in the activation context
+ </p>
+
+</t:layout>
\ No newline at end of file