aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test/java/com/vaadin/ui
diff options
context:
space:
mode:
authorKnoobie <Knoobie@gmx.de>2018-12-18 14:29:59 +0100
committerSun Zhe <31067185+ZheSun88@users.noreply.github.com>2018-12-18 15:29:59 +0200
commit353ba29cfdefddb032122cbeae5f02f6d9de76ba (patch)
tree05ee1da595faaab05976e9ab339472799648135b /server/src/test/java/com/vaadin/ui
parent9c9c962549eb04adac87b0cfe26d24b17843fb6a (diff)
downloadvaadin-framework-353ba29cfdefddb032122cbeae5f02f6d9de76ba.tar.gz
vaadin-framework-353ba29cfdefddb032122cbeae5f02f6d9de76ba.zip
Checkbox allow customizing of input and label classNames. (#11372)
* add client side integration for custom styles for checkbox.label and checkbox.input * add server side integration for checkbox element styling * add server side tests * add client side test
Diffstat (limited to 'server/src/test/java/com/vaadin/ui')
-rw-r--r--server/src/test/java/com/vaadin/ui/CheckBoxTest.java107
1 files changed, 107 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/ui/CheckBoxTest.java b/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
index 042bc07482..0fbd6fa694 100644
--- a/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
+++ b/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
@@ -1,10 +1,13 @@
package com.vaadin.ui;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.junit.Ignore;
import org.junit.Test;
import com.vaadin.server.ServerRpcManager;
@@ -68,4 +71,108 @@ public class CheckBoxTest {
cb.setValue(null);
}
+ @Test
+ public void getComboBoxInput() {
+ CheckBox cb = new CheckBox();
+ assertNotNull("getInputElement should always return a element", cb.getInputElement());
+ assertHasStyleNames(cb.getInputElement());
+ }
+
+ @Test
+ public void getCheckBoxLabel() {
+ CheckBox cb = new CheckBox();
+ assertNotNull("getLabelElement should always return a element", cb.getLabelElement());
+ assertHasStyleNames(cb.getLabelElement());
+ }
+
+ @Test
+ @Ignore("Component#setStyleName(null, false) should not throw a NPE")
+ public void setStyleName_null_false_throws_NPE() {
+ // FIXME? - Currently it throws a NPE like the implementation in Component.java
+ // waiting for other ticket that fixes the behaviour in Component.java before
+ CheckBox cb = new CheckBox();
+ cb.getLabelElement().addStyleName("first");
+ cb.getLabelElement().setStyleName(null, false);
+ assertEquals("Removing a null style should be ignored",
+ "first", cb.getLabelElement().getStyleName());
+ }
+
+ private void assertHasStyleNames(HasStyleNames hasStyleNames) {
+ assertEquals("Given element should not have a default style name",
+ "", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName("first");
+ assertEquals("first", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName("first");
+ assertEquals("Adding two times the same style should be ignored",
+ "first", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName(null);
+ assertEquals("Adding null as style should be ignored",
+ "first", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName("");
+ assertEquals("Adding an empty string as style should be ignored",
+ "first", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName("second");
+ assertEquals("first second", hasStyleNames.getStyleName());
+
+ hasStyleNames.removeStyleName("second");
+ assertEquals("first", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleName("second third fourth");
+ assertEquals("first second third fourth", hasStyleNames.getStyleName());
+
+ hasStyleNames.removeStyleName("third fourth");
+ assertEquals("first second", hasStyleNames.getStyleName());
+
+ hasStyleNames.addStyleNames("third", "fourth");
+ assertEquals("first second third fourth", hasStyleNames.getStyleName());
+
+ hasStyleNames.removeStyleNames("second", "fourth");
+ assertEquals("first third", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName(null);
+ assertEquals("Setting null as style should reset them",
+ "", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("set-style");
+ assertEquals("set-style", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("");
+ assertEquals("Setting an empty string as style should reset them",
+ "", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("set-style multiple values");
+ assertEquals("set-style multiple values", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("set-style", false);
+ assertEquals("multiple values", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("", false);
+ assertEquals("Removing an empty style should be ignored",
+ "multiple values", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("", true);
+ assertEquals("Adding an empty style should be ignored",
+ "multiple values", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName(null, true);
+ assertEquals("Adding a null style should be ignored",
+ "multiple values", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("multiple values", false);
+ assertEquals("Removing all set style names should result in an empty style name",
+ "", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("set-style", true);
+ assertEquals("set-style", hasStyleNames.getStyleName());
+
+ hasStyleNames.setStyleName("multiple values", true);
+ assertEquals("set-style multiple values", hasStyleNames.getStyleName());
+
+ }
+
}