You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/04/26 16:09:20 UTC

svn commit: r1096755 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/util/tester/BaseWicketTester.java test/java/org/apache/wicket/util/tester/apps_5/AjaxSubmitLinkClickTest.java

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());
 	}
 }