summaryrefslogtreecommitdiffstats
path: root/server/tests
diff options
context:
space:
mode:
authorJohn Ahlroos <john@vaadin.com>2016-01-04 14:42:05 +0200
committerVaadin Code Review <review@vaadin.com>2016-01-05 11:48:19 +0000
commit47b7f536b28305914d40812e2a97eb99ec836eef (patch)
treea45a6129eceb65dd9301539945ef0ddfc171f224 /server/tests
parent9e359afb598beefd18ac8ea67262ef19a290c8e0 (diff)
downloadvaadin-framework-47b7f536b28305914d40812e2a97eb99ec836eef.tar.gz
vaadin-framework-47b7f536b28305914d40812e2a97eb99ec836eef.zip
Fix NPE in Label.writeDesign with NULL values #19434
Change-Id: If3628bc655d6cd58ab51b7400af808bdbca3dc91
Diffstat (limited to 'server/tests')
-rw-r--r--server/tests/src/com/vaadin/tests/server/component/label/LabelDeclarativeTest.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/server/tests/src/com/vaadin/tests/server/component/label/LabelDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/label/LabelDeclarativeTest.java
index f911aab779..7a7f4bd844 100644
--- a/server/tests/src/com/vaadin/tests/server/component/label/LabelDeclarativeTest.java
+++ b/server/tests/src/com/vaadin/tests/server/component/label/LabelDeclarativeTest.java
@@ -18,6 +18,7 @@ package com.vaadin.tests.server.component.label;
import org.jsoup.nodes.Element;
import org.jsoup.parser.Tag;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import com.vaadin.shared.ui.label.ContentMode;
@@ -112,6 +113,38 @@ public class LabelDeclarativeTest extends DeclarativeTestBase<Label> {
Assert.assertEquals("&amp; Test", root.html());
}
+ @Test
+ public void testNullValue() {
+ Label label = new Label();
+ label.setValue(null);
+
+ label.setContentMode(ContentMode.TEXT);
+ Element root = new Element(Tag.valueOf("vaadin-label"), "");
+ label.writeDesign(root, new DesignContext());
+ Assert.assertEquals("", root.html());
+
+ label.setContentMode(ContentMode.HTML);
+ root = new Element(Tag.valueOf("vaadin-label"), "");
+ label.writeDesign(root, new DesignContext());
+ Assert.assertEquals("", root.html());
+ }
+
+ /**
+ * FIXME Using another content mode than TEXT OR HTML is currently not
+ * supported and will cause the content mode to fallback without the users
+ * knowledge to HTML. This test can be enabled when
+ * https://dev.vaadin.com/ticket/19435 is fixed.
+ */
+ @Test
+ @Ignore("Test ignored due to https://dev.vaadin.com/ticket/19435")
+ public void testContentModes() {
+ String design = "<vaadin-label caption='This\n is a label' />";
+ Label l = createLabel(null, "This\n is a label", true);
+ l.setContentMode(ContentMode.PREFORMATTED);
+ testRead(design, l);
+ testWrite(design, l);
+ }
+
private Label createLabel(String content, String caption, boolean html) {
Label label = new Label();
label.setContentMode(html ? ContentMode.HTML : ContentMode.TEXT);