summaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2011-08-09 11:02:22 +0000
committerLeif Åstrand <leif@vaadin.com>2011-08-09 11:02:22 +0000
commit5f4b96d3781a067d0e2dab5c573674bce293e6dd (patch)
tree76d504911023600dc1e91fc06b9ead3f59ee618a /tests/src
parentd466631972402aec6425e6b0a4b7508cd37ba582 (diff)
downloadvaadin-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')
-rw-r--r--tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.html42
-rw-r--r--tests/src/com/vaadin/tests/components/optiongroup/HtmlOptionGroupItems.java105
-rw-r--r--tests/src/com/vaadin/tests/components/optiongroup/OptionGroups.java8
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) {