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 2010/11/30 12:25:32 UTC
svn commit: r1040464 -
/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
Author: pedro
Date: Tue Nov 30 11:25:31 2010
New Revision: 1040464
URL: http://svn.apache.org/viewvc?rev=1040464&view=rev
Log:
test for the onSubmit invoking sequence
Issue: WICKET-1894
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java?rev=1040464&r1=1040463&r2=1040464&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java Tue Nov 30 11:25:31 2010
@@ -16,9 +16,15 @@
*/
package org.apache.wicket.markup.html.form;
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.TestCase;
+import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxFallbackButton;
import org.apache.wicket.markup.IMarkupResourceStreamProvider;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.util.resource.IResourceStream;
@@ -46,10 +52,36 @@ public class FormWithMultipleButtonsTest
{
TestPage testPage = new TestPage();
tester.startPage(testPage);
- tester.getRequest().getPostParameters().addParameterValue(testPage.b2.getInputName(), "");
+ tester.getRequest()
+ .getPostParameters()
+ .addParameterValue(testPage.ajaxFallbackButton.getInputName(), "");
+ tester.submitForm(testPage.form);
+ assertFalse(testPage.submitSequence.contains(testPage.button));
+ assertTrue(testPage.submitSequence.contains(testPage.ajaxFallbackButton));
+ }
+
+ /**
+ * @see https://issues.apache.org/jira/browse/WICKET-1894
+ */
+ public void testAjaxFallbackButtonInvokedFirst()
+ {
+ TestPage testPage = new TestPage();
+ tester.startPage(testPage);
+ tester.executeAjaxEvent(testPage.ajaxFallbackButton, "onclick");
+ assertEquals(0, testPage.submitSequence.indexOf(testPage.ajaxFallbackButton));
+ assertEquals(1, testPage.submitSequence.indexOf(testPage.form));
+ }
+
+ public void testButtonInvokedFirst()
+ {
+ TestPage testPage = new TestPage();
+ tester.startPage(testPage);
+ tester.getRequest()
+ .getPostParameters()
+ .addParameterValue(testPage.button.getInputName(), "");
tester.submitForm(testPage.form);
- assertFalse(testPage.b1.submitted);
- assertTrue(testPage.b2.submitted);
+ assertEquals(0, testPage.submitSequence.indexOf(testPage.button));
+ assertEquals(1, testPage.submitSequence.indexOf(testPage.form));
}
@Override
@@ -60,15 +92,42 @@ public class FormWithMultipleButtonsTest
private static class TestPage extends WebPage implements IMarkupResourceStreamProvider
{
+ List<Component> submitSequence = new ArrayList<Component>();
Form form;
- TestButton b1;
- TestButton b2;
+ Button button;
+ AjaxFallbackButton ajaxFallbackButton;
public TestPage()
{
- add(form = new Form("form"));
- form.add(b1 = new TestButton("b1"));
- form.add(b2 = new TestButton("b2"));
+ add(form = new Form("form")
+ {
+ @Override
+ protected void onSubmit()
+ {
+ submitSequence.add(this);
+ };
+ });
+ form.add(button = new Button("b1")
+ {
+ @Override
+ public void onSubmit()
+ {
+ submitSequence.add(this);
+ };
+ });
+ form.add(ajaxFallbackButton = new AjaxFallbackButton("b2", form)
+ {
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form)
+ {
+ submitSequence.add(this);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form)
+ {
+ }
+ });
}
public IResourceStream getMarkupResourceStream(MarkupContainer container,
@@ -79,19 +138,4 @@ public class FormWithMultipleButtonsTest
}
}
- private static class TestButton extends Button
- {
- boolean submitted;
-
- public TestButton(String id)
- {
- super(id);
- }
-
- @Override
- public void onSubmit()
- {
- submitted = true;
- }
- }
}