diff options
author | Sauli Tähkäpää <sauli@vaadin.com> | 2014-12-04 14:36:11 +0200 |
---|---|---|
committer | Sauli Tähkäpää <sauli@vaadin.com> | 2014-12-04 14:37:33 +0200 |
commit | 758300e27e0110f58794e42bafac6e806ffdfb24 (patch) | |
tree | 17140d34a738a75d150190f9286c6e68543151b4 /server/tests | |
parent | e8868a225504dd90dbecaceb1d6eb9df40116355 (diff) | |
download | vaadin-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.java | 64 |
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())); + } } |