--- /dev/null
+package com.vaadin.tests.components.label;\r
+\r
+import java.util.ArrayList;\r
+import java.util.LinkedHashMap;\r
+import java.util.List;\r
+\r
+import com.vaadin.data.Property.ValueChangeListener;\r
+import com.vaadin.tests.components.AbstractComponentTest;\r
+import com.vaadin.ui.Label;\r
+\r
+public class LabelTest extends AbstractComponentTest<Label> implements\r
+ ValueChangeListener {\r
+\r
+ private Command<Label, Object> setValueCommand = new Command<Label, Object>() {\r
+\r
+ public void execute(Label c, Object value, Object data) {\r
+ c.setValue(value);\r
+ }\r
+ };\r
+\r
+ private Command<Label, Boolean> valueChangeListenerCommand = new Command<Label, Boolean>() {\r
+ public void execute(Label c, Boolean value, Object data) {\r
+ if (value) {\r
+ c.addListener(LabelTest.this);\r
+ } else {\r
+ c.removeListener(LabelTest.this);\r
+\r
+ }\r
+ }\r
+ };\r
+\r
+ private Command<Label, Integer> contentModeCommand = new Command<Label, Integer>() {\r
+ public void execute(Label c, Integer value, Object data) {\r
+ c.setContentMode(value);\r
+ }\r
+ };\r
+\r
+ @Override\r
+ protected Class<Label> getTestClass() {\r
+ return Label.class;\r
+ }\r
+\r
+ @Override\r
+ protected void createActions() {\r
+ super.createActions();\r
+\r
+ createContentModeSelect(CATEGORY_FEATURES);\r
+ createValueSelect(CATEGORY_FEATURES);\r
+ createValueChangeListener(CATEGORY_LISTENERS);\r
+ }\r
+\r
+ private void createValueSelect(String category) {\r
+ String subCategory = "Set text value";\r
+ createCategory(subCategory, category);\r
+ List<String> values = new ArrayList<String>();\r
+ values.add("Test");\r
+ values.add("A little longer value");\r
+ values.add("A very long value with very much text. All in all it is 74 characters long");\r
+ values.add("<b>Bold</b>");\r
+ values.add("<div style=\"height: 70px; width: 15px; border: 1px dashed red\">With border</div>");\r
+\r
+ createClickAction("(empty string)", subCategory, setValueCommand, "");\r
+ createClickAction("(null)", subCategory, setValueCommand, null);\r
+ for (String value : values) {\r
+ createClickAction(value, subCategory, setValueCommand, value);\r
+ }\r
+ }\r
+\r
+ @SuppressWarnings("deprecation")\r
+ private void createContentModeSelect(String category) {\r
+ LinkedHashMap<String, Integer> options = new LinkedHashMap<String, Integer>();\r
+ options.put("Text", Label.CONTENT_TEXT);\r
+ options.put("Preformatted", Label.CONTENT_PREFORMATTED);\r
+ options.put("Raw", Label.CONTENT_RAW);\r
+ options.put("UIDL", Label.CONTENT_UIDL);\r
+ options.put("XHTML", Label.CONTENT_XHTML);\r
+ options.put("XML", Label.CONTENT_XML);\r
+\r
+ createSelectAction("Content mode", category, options, "Text",\r
+ contentModeCommand);\r
+ }\r
+\r
+ private void createValueChangeListener(String category) {\r
+ createBooleanAction("Value change listener", category, false,\r
+ valueChangeListenerCommand);\r
+ }\r
+\r
+ public void valueChange(com.vaadin.data.Property.ValueChangeEvent event) {\r
+ Object o = event.getProperty().getValue();\r
+\r
+ // Distinguish between null and 'null'\r
+ String value = "null";\r
+ if (o != null) {\r
+ value = "'" + o.toString() + "'";\r
+ }\r
+\r
+ log(event.getClass().getSimpleName() + ", new value: " + value);\r
+ };\r
+\r
+}\r