You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2013/02/08 08:56:22 UTC
git commit: WICKET-5027 do not write button's value into the request
automatically
Updated Branches:
refs/heads/master 17d71dbb6 -> c9845b238
WICKET-5027 do not write button's value into the request automatically
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c9845b23
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c9845b23
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c9845b23
Branch: refs/heads/master
Commit: c9845b23802c461ff8ec486fbbc33a18457a5788
Parents: 17d71db
Author: svenmeier <sv...@apache.org>
Authored: Fri Feb 8 08:55:51 2013 +0100
Committer: svenmeier <sv...@apache.org>
Committed: Fri Feb 8 08:55:51 2013 +0100
----------------------------------------------------------------------
.../apache/wicket/markup/html/form/CheckGroup.java | 3 +++
.../org/apache/wicket/util/tester/FormTester.java | 8 ++++++--
.../wicket/util/tester/apps_3/ChoicePage.html | 1 +
.../wicket/util/tester/apps_3/ChoicePage.java | 13 +++++++++++++
.../wicket/util/tester/apps_3/FormTesterTest.java | 6 +++++-
5 files changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/c9845b23/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
index ef6a9a8..8c85867 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
@@ -102,6 +102,9 @@ public class CheckGroup<T> extends FormComponent<Collection<T>> implements IOnCh
setRenderBodyOnly(true);
}
+ /**
+ * @see FormComponent#getModelValue()
+ */
@Override
protected String getModelValue()
{
http://git-wip-us.apache.org/repos/asf/wicket/blob/c9845b23/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
index 904da20..ab3bf72 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
@@ -418,13 +418,17 @@ public class FormTester
// the browser sends parameters for visible and enabled components only
if (formComponent.isVisibleInHierarchy() && formComponent.isEnabledInHierarchy())
{
- // TODO are text components the only ones with an inherent single value
- if (formComponent instanceof AbstractTextComponent)
+ if (formComponent instanceof IFormSubmittingComponent)
+ {
+ // buttons have to be sumitted explicitely
+ }
+ else if (formComponent instanceof AbstractTextComponent)
{
return new String[] { getFormComponentValue(formComponent) };
}
else
{
+ // TODO is it safe to assume that all other components' values can be split?
String value = getFormComponentValue(formComponent);
if (!Strings.isEmpty(value))
{
http://git-wip-us.apache.org/repos/asf/wicket/blob/c9845b23/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.html b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.html
index dd588dd..8a4f1b7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.html
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.html
@@ -15,6 +15,7 @@
<select wicket:id="listMultipleChoice" ><option>1</option></select><br/>
<span wicket:id="checkBoxMultipleChoice"><input type="checkbox"/>1</span><br/>
<span wicket:id="checkGroup"><span wicket:id="loop"><input type="checkbox" wicket:id="check" />1</span></span><br/>
+ <input wicket:id="buttonWithModel" type="submit" />
<input wicket:id="anotherButton" type="submit" />
</form>
</body>
http://git-wip-us.apache.org/repos/asf/wicket/blob/c9845b23/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.java
index 3b194d8..fba6310 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/ChoicePage.java
@@ -82,6 +82,9 @@ public class ChoicePage extends WebPage
public List<Book> listMultipleChoice = new ArrayList<Book>();
/** test multiple button */
+ public boolean buttonPressed;
+
+ /** test multiple button */
public boolean anotherButtonPressed;
/**
@@ -128,6 +131,16 @@ public class ChoicePage extends WebPage
form.add(new CheckBoxMultipleChoice<Book>("checkBoxMultipleChoice", candidateChoices,
bookChoiceRenderer));
form.add(newCheckGroup("checkGroup", candidateChoices));
+ form.add(new Button("buttonWithModel", Model.of("ButtonWithModel"))
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onSubmit()
+ {
+ buttonPressed = true;
+ }
+ });
form.add(new Button("anotherButton")
{
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/wicket/blob/c9845b23/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java
index 721d89c..57b03ec 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_3/FormTesterTest.java
@@ -47,7 +47,7 @@ public class FormTesterTest extends WicketTestCase
books = new Book[] { new Book("1", "book1"), new Book("2", "book2"),
new Book("3", "book3"), new Book("4", "book4") };
- choicePage = (ChoicePage)tester.startPage(new ChoicePage(Arrays.asList(books)));
+ choicePage = tester.startPage(new ChoicePage(Arrays.asList(books)));
formTester = tester.newFormTester("choiceForm");
}
@@ -169,10 +169,14 @@ public class FormTesterTest extends WicketTestCase
public void multipleButtonSubmit() throws Exception
{
formTester.submit();
+
+ assertFalse(choicePage.buttonPressed);
assertFalse(choicePage.anotherButtonPressed);
formTester = tester.newFormTester("choiceForm");
formTester.submit("anotherButton");
+
+ assertFalse(choicePage.buttonPressed);
assertTrue(choicePage.anotherButtonPressed);
}