Author: ivaynberg
Date: Wed Aug 25 08:18:14 2010
New Revision: 988870
URL: http://svn.apache.org/viewvc?rev=988870&view=rev
Log:
Issue: WICKET-2934
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java?rev=988870&r1=988869&r2=988870&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java
Wed Aug 25 08:18:14 2010
@@ -379,8 +379,9 @@ public class FormTester
@Override
public void onFormComponent(final FormComponent<?>
formComponent, IVisit<Void> visit)
{
- // do nothing for invisible component
- if (!formComponent.isVisibleInHierarchy())
+ // do nothing for invisible or disabled
component -- the browser would not send any parameter
+ // for a disabled component
+ if (!(formComponent.isVisibleInHierarchy() &&
formComponent.isEnabledInHierarchy()))
{
return;
}
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java?rev=988870&r1=988869&r2=988870&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
Wed Aug 25 08:18:14 2010
@@ -18,6 +18,7 @@ package org.apache.wicket.util.tester;
import java.util.Locale;
+import org.apache.wicket.Component;
import org.apache.wicket.Session;
import org.apache.wicket.WicketTestCase;
import org.apache.wicket.markup.html.form.upload.FileUpload;
@@ -151,8 +152,9 @@ public class FormTesterTest extends Wick
FileUpload fileUpload = page.getFileUpload();
assertNotNull(fileUpload);
- assertTrue("uploaded content does not have the right size,
expected 428, got " +
- fileUpload.getBytes().length,
fileUpload.getBytes().length == 428);
+ assertTrue(
+ "uploaded content does not have the right size,
expected 428, got " +
+ fileUpload.getBytes().length,
fileUpload.getBytes().length == 428);
assertEquals("bg.jpg", fileUpload.getClientFileName());
assertEquals("image/jpeg", fileUpload.getContentType());
}
@@ -200,4 +202,31 @@ public class FormTesterTest extends Wick
assertEquals("Mock Value", domainObject.getText());
}
+ /**
+ * @throws Exception
+ */
+ public void testNoParametersCreatedForDisabledComponents() throws
Exception
+ {
+ tester.startPage(new MockFormPage()
+ {
+ @Override
+ protected void onBeforeRender()
+ {
+ super.onBeforeRender();
+ // on first rendering there can't be any form
parameters.
+ // on second rendering there must not be any
since we disable the form.
+ // the components all get rendered as disabled,
so the browser would not send
+ // any parameters. thus FormTester must not
send any either.
+
assertTrue(getRequest().getPostParameters().getParameterNames().isEmpty());
+ }
+ });
+ final Component form =
tester.getComponentFromLastRenderedPage("form");
+ form.setEnabled(false);
+ assertFalse(form.isEnabled());
+ Component check =
tester.getComponentFromLastRenderedPage("form:checkbox");
+ assertTrue(check.isEnabled());
+ assertFalse(check.isEnabledInHierarchy());
+ FormTester formTester = tester.newFormTester("form");
+ formTester.submit();
+ }
}