summaryrefslogtreecommitdiffstats
path: root/server/tests
diff options
context:
space:
mode:
authorSauli Tähkäpää <sauli@vaadin.com>2014-12-04 14:36:11 +0200
committerSauli Tähkäpää <sauli@vaadin.com>2014-12-04 14:37:33 +0200
commit758300e27e0110f58794e42bafac6e806ffdfb24 (patch)
tree17140d34a738a75d150190f9286c6e68543151b4 /server/tests
parente8868a225504dd90dbecaceb1d6eb9df40116355 (diff)
downloadvaadin-framework-758300e27e0110f58794e42bafac6e806ffdfb24.tar.gz
vaadin-framework-758300e27e0110f58794e42bafac6e806ffdfb24.zip
Add null check to UI.setTheme. (#15326)
Change-Id: I2ab2d24ec05bb618969f59ea15d3a971f88009ca
Diffstat (limited to 'server/tests')
-rw-r--r--server/tests/src/com/vaadin/ui/UIThemeEscaping.java64
1 files changed, 55 insertions, 9 deletions
diff --git a/server/tests/src/com/vaadin/ui/UIThemeEscaping.java b/server/tests/src/com/vaadin/ui/UIThemeEscaping.java
index ca6782952d..236f283823 100644
--- a/server/tests/src/com/vaadin/ui/UIThemeEscaping.java
+++ b/server/tests/src/com/vaadin/ui/UIThemeEscaping.java
@@ -15,29 +15,75 @@
*/
package com.vaadin.ui;
-import org.junit.Assert;
+import com.vaadin.server.VaadinRequest;
+import org.junit.Before;
import org.junit.Test;
-import com.vaadin.server.VaadinRequest;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
public class UIThemeEscaping {
- @Test
- public void testThemeEscaping() {
- UI ui = new UI() {
+ private UI ui;
+
+ private void initUiWithTheme(String theme) {
+ VaadinRequest request = getRequestWithTheme(theme);
+
+ ui.doInit(request, 1234, "foobar");
+ }
+
+ private VaadinRequest getRequestWithTheme(String theme) {
+ VaadinRequest request = mock(VaadinRequest.class);
+
+ when(request.getParameter("theme")).thenReturn(theme);
+
+ return request;
+ }
+
+ @Before
+ public void setup() {
+ ui = new UI() {
@Override
protected void init(VaadinRequest request) {
// Nothing to do
}
};
+ }
+ @Test
+ public void dangerousCharactersAreRemoved() {
ui.setTheme("a<å(_\"$");
- String theme = ui.getTheme();
+ assertThat(ui.getTheme(), is("aå_$"));
+ }
+
+ @Test
+ public void nullThemeIsSet() {
+ ui.setTheme("foobar");
+
+ ui.setTheme(null);
- Assert.assertEquals(
- "Dangerous characters should be removed from the theme name",
- "aå_$", theme);
+ assertThat(ui.getTheme(), is(nullValue()));
}
+ @Test
+ public void themeIsSetOnInit() {
+ ui.setTheme("foobar");
+
+ initUiWithTheme("bar");
+
+ assertThat(ui.getTheme(), is("bar"));
+ }
+
+ @Test
+ public void nullThemeIsSetOnInit() {
+ ui.setTheme("foobar");
+
+ initUiWithTheme(null);
+
+ assertThat(ui.getTheme(), is(nullValue()));
+ }
}