diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/optiongroup/DisabledOptionGroupItems.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/optiongroup/DisabledOptionGroupItems.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/optiongroup/DisabledOptionGroupItems.java b/uitest/src/com/vaadin/tests/components/optiongroup/DisabledOptionGroupItems.java new file mode 100644 index 0000000000..877f9aa675 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/optiongroup/DisabledOptionGroupItems.java @@ -0,0 +1,93 @@ +package com.vaadin.tests.components.optiongroup; + +import java.util.Arrays; +import java.util.List; + +import com.vaadin.tests.components.ComponentTestCase; +import com.vaadin.ui.Component; +import com.vaadin.ui.OptionGroup; + +public class DisabledOptionGroupItems extends ComponentTestCase<OptionGroup> { + + private static final List<String> cities = Arrays.asList(new String[] { + "Berlin", "Brussels", "Helsinki", "Madrid", "Oslo", "Paris", + "Stockholm" }); + + private static final String NULL_SELECTION_ID = "Berlin"; + + @Override + protected Class<OptionGroup> getTestClass() { + return OptionGroup.class; + } + + @Override + protected void initializeComponents() { + + OptionGroup og = createOptionGroup(""); + og.setItemEnabled("Helsinki", false); + og.setItemEnabled("Paris", false); + og.setValue(Arrays.asList("Helsinki")); + og.setNullSelectionAllowed(true); + og.setNullSelectionItemId(NULL_SELECTION_ID); + addTestComponent(og); + + og = createOptionGroup(""); + og.setMultiSelect(true); + og.setValue(Arrays.asList("Helsinki")); + og.setNullSelectionAllowed(true); + og.setItemEnabled("Helsinki", false); + og.setItemEnabled("Paris", false); + addTestComponent(og); + + } + + @Override + protected void createCustomActions(List<Component> actions) { + actions.add(createInvertDisabledItemsAction()); + actions.add(createToggleSelectionModeAction()); + + } + + private Component createToggleSelectionModeAction() { + return createButtonAction("Toggle selection mode", + new Command<OptionGroup, Boolean>() { + + @Override + public void execute(OptionGroup og, Boolean value, + Object data) { + if (og.isMultiSelect()) { + og.setMultiSelect(false); + og.setNullSelectionItemId(NULL_SELECTION_ID); + } else { + og.setNullSelectionItemId(null); + og.setMultiSelect(true); + } + } + }); + } + + private Component createInvertDisabledItemsAction() { + return createButtonAction("Invert disabled items", + new Command<OptionGroup, Boolean>() { + + @Override + public void execute(OptionGroup c, Boolean value, + Object data) { + for (Object itemId : c.getItemIds()) { + c.setItemEnabled(itemId, !c.isItemEnabled(itemId)); + } + } + }); + } + + private OptionGroup createOptionGroup(String caption) { + OptionGroup og = new OptionGroup(caption, cities); + og.setImmediate(true); + return og; + } + + @Override + protected String getDescription() { + return "Test case for disabled items in an OptionGroup"; + } +} |