| <?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. |
| --> |
| <!-- Performs some tests to simulate a StaleLink scenario when submitting a form. --> |
| |
| <mock-test> |
| <context name="mock"/> |
| <servlet name="app" class="org.apache.tapestry.ApplicationServlet"> |
| <init-parameter |
| name="org.apache.tapestry.application-specification" |
| value="/org/apache/tapestry/junit/mock/app/Mock.application"/> |
| </servlet> |
| |
| <!-- Just for sanity's sake, duplicate some of the checks from TestRegisterForm.xml --> |
| |
| <request> |
| <parameter name="service" value="page/Register"/> |
| |
| <assert-output name="Title"> |
| <![CDATA[ |
| <title>Register</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output-matches name="Hidden Fields - Names" subgroup="1"> |
| <![CDATA[ |
| <input type="hidden" name="(.*?)" value="(.*?)"/> |
| ]]> |
| <match>service</match> |
| <match>sp</match> |
| <match>Form0</match> |
| </assert-output-matches> |
| |
| <assert-output-matches name="Hidden Fields - Values" subgroup="2"> |
| <![CDATA[ |
| <input type="hidden" name="(.*?)" value="(.*?)"/> |
| ]]> |
| <match>direct/0/Register/form</match> |
| <match>S0</match> |
| <match>inputFirstName,inputLastName,inputSex,inputAgeRange</match> |
| </assert-output-matches> |
| |
| </request> |
| |
| <!-- Provoke an error by "submitting" the form but gimicking things |
| as if there was another field when the form rendered.. --> |
| |
| <request> |
| <parameter name="service" value="direct/0/Register/form"/> |
| <parameter name="sp" value="S0"/> |
| <parameter name="inputFirstName" value="Suzy"/> |
| <parameter name="inputLastName" value="Munchkin"/> |
| <parameter name="inputFavoriteColor" value="2"/> |
| <parameter name="inputSex" value="1"/> |
| <parameter name="inputAgeRange" value="1"/> |
| <parameter name="Form0" value="inputFirstName,inputLastName,inputFavoriteColor,inputSex,inputAgeRange"/> |
| |
| |
| <assert-output name="Title"> |
| <![CDATA[ |
| <title>Stale Link</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Mismatch Error Message"> |
| Rewind of form Register/form expected allocated id #3 to be 'inputFavoriteColor', but was 'inputSex' (requested by component Register/inputSex). |
| </assert-output> |
| |
| </request> |
| |
| <!-- This time, we pretend that inputAgeRange didn't render but was submitted. --> |
| |
| <request> |
| <parameter name="service" value="direct/0/Register/form"/> |
| <parameter name="sp" value="S0"/> |
| <parameter name="inputFirstName" value="Suzy"/> |
| <parameter name="inputLastName" value="Munchkin"/> |
| <parameter name="inputSex" value="1"/> |
| <parameter name="Form0" value="inputFirstName,inputLastName,inputSex"/> |
| |
| <assert-output name="Title"> |
| <![CDATA[ |
| <title>Stale Link</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Too Many Error Message"> |
| Rewind of form Register/form expected only 3 form elements, but an additional id was requested by component Register/inputAgeRange. |
| </assert-output> |
| |
| </request> |
| |
| <request> |
| <parameter name="service" value="direct/0/Register/form"/> |
| <parameter name="sp" value="S0"/> |
| <parameter name="inputFirstName" value="Suzy"/> |
| <parameter name="inputLastName" value="Munchkin"/> |
| <parameter name="inputSex" value="1"/> |
| <parameter name="inputAgeRange" value="1"/> |
| <parameter name="inputFavoriteColor" value="2"/> |
| <parameter name="Form0" value="inputFirstName,inputLastName,inputSex,inputAgeRange,inputFavoriteColor"/> |
| |
| |
| <assert-output name="Title"> |
| <![CDATA[ |
| <title>Stale Link</title> |
| ]]> |
| </assert-output> |
| |
| <assert-output name="Too Few Error Message"> |
| Rewind of form Register/form expected 1 more form elements, starting with id 'inputFavoriteColor'. |
| </assert-output> |
| |
| </request> |
| </mock-test> |