aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java
diff options
context:
space:
mode:
authorAleksi Hietanen <aleksi@vaadin.com>2016-09-29 09:19:35 +0300
committerAleksi Hietanen <aleksi@vaadin.com>2016-09-29 12:46:55 +0000
commit599b61bc8598db35fa111880dd4db57f9da2adda (patch)
tree42bde1178019eab0546df58538e20890674fd839 /uitest/src/main/java
parentc4b17ca879c0bb51c7da390fcbd25c96b73486fb (diff)
downloadvaadin-framework-599b61bc8598db35fa111880dd4db57f9da2adda.tar.gz
vaadin-framework-599b61bc8598db35fa111880dd4db57f9da2adda.zip
Fix item caption generators in RadioButton/CheckBoxGroup
This patch corrects the behavior of setting caption generators that may return null. Additionally renames RadioButtonGroup's ItemIconProviders to generators, unifying it with other select components. Change-Id: I5e8491834dccce1c37ab9c2002acc475e8945f4b
Diffstat (limited to 'uitest/src/main/java')
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/abstractlisting/AbstractMultiSelectTestUI.java25
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/radiobutton/RadioButtonGroupTestUI.java27
2 files changed, 27 insertions, 25 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/abstractlisting/AbstractMultiSelectTestUI.java b/uitest/src/main/java/com/vaadin/tests/components/abstractlisting/AbstractMultiSelectTestUI.java
index fadd94a4be..71fd0fd37d 100644
--- a/uitest/src/main/java/com/vaadin/tests/components/abstractlisting/AbstractMultiSelectTestUI.java
+++ b/uitest/src/main/java/com/vaadin/tests/components/abstractlisting/AbstractMultiSelectTestUI.java
@@ -1,11 +1,13 @@
package com.vaadin.tests.components.abstractlisting;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import com.vaadin.shared.data.selection.SelectionModel.Multi;
import com.vaadin.ui.AbstractMultiSelect;
+import com.vaadin.ui.ItemCaptionGenerator;
public abstract class AbstractMultiSelectTestUI<MULTISELECT extends AbstractMultiSelect<Object>>
extends AbstractListingTestUI<MULTISELECT> {
@@ -21,19 +23,18 @@ public abstract class AbstractMultiSelectTestUI<MULTISELECT extends AbstractMult
}
protected void createItemCaptionGeneratorMenu() {
- createBooleanAction("Use Item Caption Generator", "Item Generator",
- false, this::useItemCaptionProvider);
- }
+ LinkedHashMap<String, ItemCaptionGenerator<Object>> options = new LinkedHashMap<>();
+ options.put("Null Caption Generator", item -> null);
+ options.put("Default Caption Generator", item -> item.toString());
+ options.put("Custom Caption Generator",
+ item -> item.toString() + " Caption");
- private void useItemCaptionProvider(MULTISELECT select, boolean activate,
- Object data) {
- if (activate) {
- select.setItemCaptionGenerator(
- item -> item.toString() + " Caption");
- } else {
- select.setItemCaptionGenerator(item -> item.toString());
- }
- select.getDataSource().refreshAll();
+ createSelectAction("Item Caption Generator", "Item Generator", options,
+ "None", (abstractMultiSelect, captionGenerator, data) -> {
+ abstractMultiSelect
+ .setItemCaptionGenerator(captionGenerator);
+ abstractMultiSelect.getDataSource().refreshAll();
+ }, true);
}
protected void createSelectionMenu() {
diff --git a/uitest/src/main/java/com/vaadin/tests/components/radiobutton/RadioButtonGroupTestUI.java b/uitest/src/main/java/com/vaadin/tests/components/radiobutton/RadioButtonGroupTestUI.java
index 19d9ffd3f3..041c578f1b 100644
--- a/uitest/src/main/java/com/vaadin/tests/components/radiobutton/RadioButtonGroupTestUI.java
+++ b/uitest/src/main/java/com/vaadin/tests/components/radiobutton/RadioButtonGroupTestUI.java
@@ -15,10 +15,12 @@
*/
package com.vaadin.tests.components.radiobutton;
+import java.util.LinkedHashMap;
import java.util.stream.IntStream;
import com.vaadin.shared.data.selection.SelectionModel;
import com.vaadin.tests.components.abstractlisting.AbstractListingTestUI;
+import com.vaadin.ui.ItemCaptionGenerator;
import com.vaadin.ui.RadioButtonGroup;
/**
@@ -42,7 +44,7 @@ public class RadioButtonGroupTestUI
super.createActions();
createListenerMenu();
createSelectionMenu();
- createItemProviderMenu();
+ createItemGeneratorMenu();
}
protected void createSelectionMenu() {
@@ -59,19 +61,18 @@ public class RadioButtonGroupTestUI
selectionCategory, toggleSelection, item));
}
- private void createItemProviderMenu() {
- createBooleanAction("Use Item Caption Provider", "Item Provider", false,
- this::useItemCaptionProvider);
- }
+ private void createItemGeneratorMenu() {
+ LinkedHashMap<String, ItemCaptionGenerator<Object>> options = new LinkedHashMap<>();
+ options.put("Null Caption Generator", item -> null);
+ options.put("Default Caption Generator", item -> item.toString());
+ options.put("Custom Caption Generator",
+ item -> item.toString() + " Caption");
- private void useItemCaptionProvider(RadioButtonGroup<Object> group,
- boolean activate, Object data) {
- if (activate) {
- group.setItemCaptionProvider(item -> item.toString() + " Caption");
- } else {
- group.setItemCaptionProvider(item -> item.toString());
- }
- group.getDataSource().refreshAll();
+ createSelectAction("Item Caption Generator", "Item Generator", options,
+ "None", (radioButtonGroup, captionGenerator, data) -> {
+ radioButtonGroup.setItemCaptionGenerator(captionGenerator);
+ radioButtonGroup.getDataSource().refreshAll();
+ }, true);
}
private void toggleSelection(String item) {