Author: pedro
Date: Tue Apr 26 14:09:20 2011
New Revision: 1096755

URL: http://svn.apache.org/viewvc?rev=1096755&view=rev
Log:
Fixing BaseWicketTester#setupAjaxSubmitRequestParameters to set the form 
components values in the next request parameters, not in current where they get 
discarded.
Issue: WICKET-3616

Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
    
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1096755&r1=1096754&r2=1096755&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 Tue Apr 26 14:09:20 2011
@@ -1409,6 +1409,7 @@ public class BaseWicketTester extends Mo
 
                checkUsability(form);
 
+               final Map<String, String[]> requestParams = 
getParametersForNextRequest();
                /*
                 * Means that an button or an ajax link was clicked and needs 
to be added to the request
                 * parameters to their form component correctly resolves the 
submit origin
@@ -1421,7 +1422,6 @@ public class BaseWicketTester extends Mo
                else if (component instanceof AjaxSubmitLink)
                {
                        String inputName = 
((IFormSubmittingComponent)component).getInputName();
-                       Map<String, String[]> requestParams = 
getParametersForNextRequest();
                        requestParams.put(inputName, new String[] { "x" });
                }
 
@@ -1446,9 +1446,9 @@ public class BaseWicketTester extends Mo
 
                                                // Set request parameter with 
the field value, but do not modify an existing
                                                // request parameter explicitly 
set using FormTester.setValue()
-                                               if 
(getServletRequest().getParameterMap().get(name) == null)
+                                               if (requestParams.get(name) == 
null)
                                                {
-                                                       
getServletRequest().setParameter(name, value);
+                                                       requestParams.put(name, 
new String[] { value });
                                                }
                                        }
                                }

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java?rev=1096755&r1=1096754&r2=1096755&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java
 Tue Apr 26 14:09:20 2011
@@ -84,12 +84,17 @@ public class AjaxSubmitLinkClickTest ext
                });
 
                
tester.assertRenderedPage(MockPageWithFormAndContainedLink.class);
+               // Change the name in the textfield
+               page.getNameField().setModelValue(new String[] { "new mock 
value" });
 
                // Click the submit link
                tester.clickLink("form:link");
 
                // Has it really been clicked?
                assertTrue(linkClicked);
+
+               // And has the form been "submitted"
+               assertEquals("new mock value", mockPojo.getName());
        }
 
        /**
@@ -126,10 +131,16 @@ public class AjaxSubmitLinkClickTest ext
 
                tester.assertRenderedPage(MockPageWithFormAndLink.class);
 
+               // Change the name in the textfield
+               page.getNameField().setModelValue(new String[] { "new mock 
value" });
+
                // Click the submit link
                tester.clickLink("link");
 
                // Has it really been clicked?
                assertTrue(linkClicked);
+
+               // And has the form been "submitted"
+               assertEquals("new mock value", mockPojo.getName());
        }
 }


Reply via email to