diff options
author | Leif Åstrand <leif@vaadin.com> | 2011-08-09 11:02:22 +0000 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2011-08-09 11:02:22 +0000 |
commit | 5f4b96d3781a067d0e2dab5c573674bce293e6dd (patch) | |
tree | 76d504911023600dc1e91fc06b9ead3f59ee618a /tests/src | |
parent | d466631972402aec6425e6b0a4b7508cd37ba582 (diff) | |
download | vaadin-framework-5f4b96d3781a067d0e2dab5c573674bce293e6dd.tar.gz vaadin-framework-5f4b96d3781a067d0e2dab5c573674bce293e6dd.zip |
#5402 Support html in OptionGroup items
svn changeset:20217/svn branch:6.7
Diffstat (limited to 'tests/src')
3 files changed, 155 insertions, 0 deletions
diff --git a/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.html b/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.html new file mode 100644 index 0000000000..af6f74b3df --- /dev/null +++ b/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.html @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="http://localhost:8888/" /> +<title>New Test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">New Test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.optiongroup.HtmlOptionGroupItems?restartApplication</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>vaadin=runcomvaadintestscomponentsoptiongroupHtmlOptionGroupItems::PID_Sbuttonaction-Toggle html mode/domChild[0]/domChild[0]</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>html-and-text</td> +</tr> +<tr> + <td>click</td> + <td>vaadin=runcomvaadintestscomponentsoptiongroupHtmlOptionGroupItems::PID_Sbuttonaction-Toggle html mode/domChild[0]/domChild[0]</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>text-and-html</td> +</tr> + +</tbody></table> +</body> +</html> diff --git a/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.java b/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.java new file mode 100644 index 0000000000..e90fe106a6 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.java @@ -0,0 +1,105 @@ +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 HtmlOptionGroupItems extends ComponentTestCase<OptionGroup> { + + private static final List<String> cities = Arrays.asList(new String[] { + "<i>Berlin</i>", "<b>Brussels</b>", "<u>H</u>elsinki", + "<span style='font-size: 20px'>Madrid</span>", + "<pre><i>Oslo</i>\nNorway</pre>", "<button>Paris</button>", + "<input type='text' value='Stockholm' />" }); + + private static final String NULL_SELECTION_ID = cities.get(0); + + @Override + protected Class<OptionGroup> getTestClass() { + return OptionGroup.class; + } + + @Override + protected void initializeComponents() { + + OptionGroup og = createOptionGroup(""); + og.setItemEnabled(cities.get(2), false); + og.setItemEnabled(cities.get(5), false); + og.setValue(Arrays.asList(cities.get(2))); + og.setNullSelectionAllowed(true); + og.setNullSelectionItemId(NULL_SELECTION_ID); + addTestComponent(og); + + og = createOptionGroup(""); + og.setMultiSelect(true); + og.setHtmlContentAllowed(true); + og.setValue(Arrays.asList(cities.get(2))); + og.setNullSelectionAllowed(true); + og.setItemEnabled(cities.get(2), false); + og.setItemEnabled(cities.get(5), false); + addTestComponent(og); + + } + + @Override + protected void createCustomActions(List<Component> actions) { + actions.add(createInvertDisabledItemsAction()); + actions.add(createToggleSelectionModeAction()); + actions.add(createInvertHtmlItemsAction()); + } + + private Component createInvertHtmlItemsAction() { + return createButtonAction("Toggle html mode", + new Command<OptionGroup, Boolean>() { + @Override + public void execute(OptionGroup og, Boolean value, + Object data) { + og.setHtmlContentAllowed(!og.isHtmlContentAllowed()); + } + }); + } + + private Component createToggleSelectionModeAction() { + return createButtonAction("Toggle selection mode", + new Command<OptionGroup, Boolean>() { + + 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>() { + + 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 html items in an OptionGroup"; + } +} diff --git a/tests/src/com/vaadin/tests/components/optiongroup/OptionGroups.java b/tests/src/com/vaadin/tests/components/optiongroup/OptionGroups.java index 8e9766f421..5696744529 100644 --- a/tests/src/com/vaadin/tests/components/optiongroup/OptionGroups.java +++ b/tests/src/com/vaadin/tests/components/optiongroup/OptionGroups.java @@ -15,6 +15,14 @@ public class OptionGroups extends AbstractSelectTestCase<OptionGroup> { super.createActions();
createDisabledItemsMultiToggle("Disabled items");
+ createBooleanAction("HTML content allowed", CATEGORY_STATE, false,
+ new Command<OptionGroup, Boolean>() {
+ @Override
+ public void execute(OptionGroup og, Boolean value,
+ Object data) {
+ og.setHtmlContentAllowed(value.booleanValue());
+ }
+ });
}
private void createDisabledItemsMultiToggle(String category) {
|