You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2011/03/08 09:14:54 UTC

svn commit: r1079290 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/markup/html/form/Form.java test/java/org/apache/wicket/markup/html/form/FormTest.java

Author: ivaynberg
Date: Tue Mar  8 08:14:54 2011
New Revision: 1079290

URL: http://svn.apache.org/viewvc?rev=1079290&view=rev
Log:
applying pedro's patch
Issue: WICKET-3488

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/FormTest.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=1079290&r1=1079289&r2=1079290&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Tue Mar  8 08:14:54 2011
@@ -951,6 +951,7 @@ public class Form<T> extends WebMarkupCo
 	{
 		// save the page in case the component is removed during submit
 		final Page page = getPage();
+		String hiddenFieldId = getHiddenFieldId();
 
 		// process the form for this request
 		if (process())
@@ -977,7 +978,7 @@ public class Form<T> extends WebMarkupCo
 					return Component.IVisitor.CONTINUE_TRAVERSAL;
 				}
 			});
-			parameters.remove(getHiddenFieldId());
+			parameters.remove(hiddenFieldId);
 			if (submittingComponent instanceof AbstractSubmitLink)
 			{
 				AbstractSubmitLink submitLink = (AbstractSubmitLink)submittingComponent;

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/FormTest.java?rev=1079290&r1=1079289&r2=1079290&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/FormTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/form/FormTest.java Tue Mar  8 08:14:54 2011
@@ -17,7 +17,13 @@
 package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
 
 
 /**
@@ -85,4 +91,41 @@ public class FormTest extends WicketTest
 	{
 		executeTest(FormMethodTestPage.class, "FormMethodTestPage_expected.html");
 	}
+
+	/**
+	 * WICKET-3488
+	 */
+	public void testFormReplacement()
+	{
+		tester.startPage(TestPage.class);
+		tester.newFormTester("form").submit();
+		tester.assertRenderedPage(TestPage.class);
+	}
+
+	/** */
+	public static class TestPage extends WebPage implements IMarkupResourceStreamProvider
+	{
+		/** */
+		public TestPage()
+		{
+			super(new PageParameters("test=value"));
+			add(new Form<Void>("form")
+			{
+				private static final long serialVersionUID = 1L;
+
+				@Override
+				protected void onSubmit()
+				{
+					replaceWith(new Form<Void>("form"));
+				}
+			});
+		}
+
+		public IResourceStream getMarkupResourceStream(MarkupContainer container,
+			Class<?> containerClass)
+		{
+			return new StringResourceStream(
+				"<html><body><form wicket:id=\"form\"></form></body></html>");
+		}
+	}
 }