| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- $Id$ --> |
| <!-- |
| Copyright 2004 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. |
| --> |
| <mock-test> |
| <context name="c6" root="context6"/> |
| |
| <servlet name="app" class="org.apache.tapestry.ApplicationServlet"> |
| <init-parameter name="org.apache.tapestry.engine-class" |
| value="org.apache.tapestry.junit.mock.c6.C6Engine"/> |
| </servlet> |
| |
| <request> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Page Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Initial Message"> |
| Message: Hello |
| </assert-output> |
| |
| <assert-output name="Initial Active Page Names"> |
| Active page names: [] |
| </assert-output> |
| |
| <assert-output name="Change Message Link"> |
| <![CDATA[ |
| /c6/app?service=direct/0/Home/$DirectLink |
| ]]> |
| </assert-output> |
| |
| <assert-expression name="Check No Session" |
| expression="request.session == null"/> |
| </request> |
| |
| <!-- Now, trigger the link. --> |
| |
| <request> |
| <parameter name="service" value="direct/0/Home/$DirectLink"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Page Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Message"> |
| Message: Changed |
| </assert-output> |
| |
| <assert-output name="Active Page Names"> |
| Active page names: [Home] |
| </assert-output> |
| |
| <assert name="Session Attribute"> |
| request.session.getAttribute("app/Home/message").equals("Changed") |
| </assert> |
| |
| </request> |
| |
| <!-- Return to the page, check for the change. --> |
| |
| <request> |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Page Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Message"> |
| Message: Changed |
| </assert-output> |
| |
| <assert-output name="Active Page Names"> |
| Active page names: [Home] |
| </assert-output> |
| </request> |
| |
| <!-- Simulate a failover. --> |
| |
| <request failover="true"> |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Page Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Message"> |
| Message: Changed |
| </assert-output> |
| |
| <assert-output name="Active Page Names"> |
| Active page names: [Home] |
| </assert-output> |
| </request> |
| |
| <!-- Now try page "Two", with the Nested component. --> |
| |
| <request> |
| <parameter name="service" value="page/Two"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Component Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Initial Nested Message"> |
| Nested Message: Nested |
| </assert-output> |
| |
| <assert-output name="Initial Active Page Names"> |
| Active page names: [Home] |
| </assert-output> |
| |
| <assert-output name="Change Message Link"> |
| <![CDATA[ |
| /c6/app?service=direct/1/Two/$Nested.$DirectLink |
| ]]> |
| </assert-output> |
| |
| </request> |
| |
| <!-- Trigger the link in the nested component. --> |
| |
| <request> |
| <parameter name="service" value="direct/1/Two/$Nested.$DirectLink"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Component Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Nested Message"> |
| Nested Message: Changed |
| </assert-output> |
| |
| <!-- This is going to be a little pain because we can't count on the |
| ordering! May need to put some kind of sort filter in place in the |
| presentation. --> |
| |
| <assert-output name="Changed Active Page Names"> |
| Active page names: [Home, Two] |
| </assert-output> |
| |
| <assert name="Session Attribute"> |
| request.session.getAttribute("app/Two/$Nested/message").equals("Changed") |
| </assert> |
| |
| </request> |
| |
| <!-- Check that it works on a revisit. --> |
| |
| <request> |
| <parameter name="service" value="page/Two"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Component Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Active Page Names"> |
| Active page names: [Home, Two] |
| </assert-output> |
| |
| <assert-output name="Changed Nested Message"> |
| Nested Message: Changed |
| </assert-output> |
| </request> |
| |
| <!-- Check that it works after a failover. --> |
| |
| <request failover="true"> |
| <parameter name="service" value="page/Two"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Peristant Component Property</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Changed Active Page Names"> |
| Active page names: [Home, Two] |
| </assert-output> |
| |
| <assert-output name="Changed Nested Message"> |
| Nested Message: Changed |
| </assert-output> |
| </request> |
| |
| |
| <!-- Now, test that all sorts of variations on fireObservedChange() work with |
| different overloaded types. --> |
| |
| <request> |
| <parameter name="service" value="page/Four"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Property Types</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Boolean"> |
| Boolean value: false |
| </assert-output> |
| |
| <assert-output name="Char"> |
| Char value: [ ] |
| </assert-output> |
| |
| <assert-output name="Byte"> |
| Byte value: 0 |
| </assert-output> |
| |
| <assert-output name="Short"> |
| Short value: 0 |
| </assert-output> |
| |
| <assert-output name="Int"> |
| Int value: 0 |
| </assert-output> |
| |
| <assert-output name="Long"> |
| Long value: 0 |
| </assert-output> |
| |
| <assert-output name="Float"> |
| Float value: 0.0 |
| </assert-output> |
| |
| <assert-output name="Double"> |
| Double value: 0.0 |
| </assert-output> |
| |
| <assert-output name="StringHolder"> |
| StringHolder value: [] |
| </assert-output> |
| |
| <assert-output name="Create Link"> |
| <![CDATA[ |
| /c6/app?service=direct/1/Four/$DirectLink |
| ]]> |
| </assert-output> |
| |
| </request> |
| |
| |
| <!-- Trigger the link to create values. --> |
| |
| <request> |
| <parameter name="service" value="direct/1/Four/$DirectLink"/> |
| |
| <assert-output name="Page Title"> |
| <![CDATA[ |
| <title>Property Types</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Boolean"> |
| Boolean value: true |
| </assert-output> |
| |
| <assert-output name="Char"> |
| Char value: [H] |
| </assert-output> |
| |
| <assert-output name="Byte"> |
| Byte value: 27 |
| </assert-output> |
| |
| <assert-output name="Short"> |
| Short value: 127 |
| </assert-output> |
| |
| <assert-output name="Int"> |
| Int value: 23 |
| </assert-output> |
| |
| <assert-output name="Long"> |
| Long value: 1234567890123 |
| </assert-output> |
| |
| <assert-output name="Float"> |
| Float value: -1.5 |
| </assert-output> |
| |
| <assert-output name="Double"> |
| Double value: 3.142857142857143 |
| </assert-output> |
| |
| <assert-output name="StringHolder"> |
| StringHolder value: [StringHolder[Surprise!]] |
| </assert-output> |
| </request> |
| |
| <!-- And return to ensure that values are properly restored. --> |
| |
| <request failover="true"> |
| <parameter name="service" value="page/Four"/> |
| |
| <assert-output name="Boolean"> |
| Boolean value: true |
| </assert-output> |
| |
| <assert-output name="Char"> |
| Char value: [H] |
| </assert-output> |
| |
| <assert-output name="Byte"> |
| Byte value: 27 |
| </assert-output> |
| |
| <assert-output name="Short"> |
| Short value: 127 |
| </assert-output> |
| |
| <assert-output name="Int"> |
| Int value: 23 |
| </assert-output> |
| |
| <assert-output name="Long"> |
| Long value: 1234567890123 |
| </assert-output> |
| |
| <assert-output name="Float"> |
| Float value: -1.5 |
| </assert-output> |
| |
| <assert-output name="Double"> |
| Double value: 3.142857142857143 |
| </assert-output> |
| |
| <assert-output name="StringHolder"> |
| StringHolder value: [StringHolder[Surprise!]] |
| </assert-output> |
| </request> |
| |
| </mock-test> |
| |