Author: frankbille
Date: Sun Mar 23 14:53:58 2008
New Revision: 640260
URL: http://svn.apache.org/viewvc?rev=640260&view=rev
Log:
WICKET-932: BaseWicketTester support for SubmitLink
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/submitlink/TestHomePage.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=640260&r1=640259&r2=640260&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
Sun Mar 23 14:53:58 2008
@@ -49,6 +49,7 @@
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.RadioGroup;
+import org.apache.wicket.markup.html.form.SubmitLink;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.IPageLink;
@@ -731,6 +732,17 @@
// process the request target
requestCycle.getRequestTarget().respond(requestCycle);
requestCycle.detach();
+ }
+ /*
+ * If the link is a submitlink then we pretend to have clicked
it
+ */
+ else if (linkComponent instanceof SubmitLink)
+ {
+ SubmitLink submitLink = (SubmitLink)linkComponent;
+
+ String pageRelativePath = submitLink.getInputName();
+ getParametersForNextRequest().put(pageRelativePath,
"x");
+ submitForm(submitLink.getForm().getPageRelativePath());
}
// if the link is a normal link (or ResourceLink)
else if (linkComponent instanceof AbstractLink)
Modified:
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/submitlink/TestHomePage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/submitlink/TestHomePage.java?rev=640260&r1=640259&r2=640260&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/submitlink/TestHomePage.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/submitlink/TestHomePage.java
Sun Mar 23 14:53:58 2008
@@ -17,20 +17,16 @@
package org.apache.wicket.markup.html.form.submitlink;
import org.apache.wicket.WicketTestCase;
-import org.apache.wicket.protocol.http.MockHttpServletResponse;
import org.apache.wicket.util.tester.FormTester;
public class TestHomePage extends WicketTestCase
{
- public void bugTestSubmitLinkByClickingLink()
+ public void testSubmitLinkByClickingLink()
{
tester.startPage(HomePage.class);
tester.assertRenderedPage(HomePage.class);
HomePage home = (HomePage)tester.getLastRenderedPage();
-
System.out.println(((MockHttpServletResponse)tester.getWicketResponse()
- .getHttpServletResponse()).getDocument());
tester.setParameterForNextRequest("form:text", "Hello");
- // FIXME clickLink should submit the form
tester.clickLink("form:link");
assertEquals("Hello", home.getText());
assertTrue("Form.onSubmit() has not been called!",
home.isSubmitted());
@@ -51,14 +47,13 @@
assertTrue("SubmitLink.onSubmit() has not been called!",
home.isSubmittedViaLink());
}
- public void bugTestSubmitLinkByUsingFormTester()
+ public void testSubmitLinkByUsingFormTester()
{
tester.startPage(HomePage.class);
tester.assertRenderedPage(HomePage.class);
HomePage home = (HomePage)tester.getLastRenderedPage();
FormTester formTester = tester.newFormTester("form");
formTester.setValue("text", "Hello");
- // FIXME submit(String) should allow for SubmitLink
formTester.submit("link");
assertEquals("Hello", home.getText());
assertTrue("Form.onSubmit() has not been called!",
home.isSubmitted());