diff options
author | Markus Koivisto <markus@vaadin.com> | 2014-04-25 16:58:53 +0300 |
---|---|---|
committer | Johannes Dahlström <johannesd@vaadin.com> | 2014-05-13 13:10:45 +0000 |
commit | aa8761cc6338f48b4fa53025f0c8b02db15b9491 (patch) | |
tree | 9fa40f2f033b9fdec08368cb9247789cbc7bbdb7 /uitest | |
parent | 81871092d166e126954fdec2106f45e595380137 (diff) | |
download | vaadin-framework-aa8761cc6338f48b4fa53025f0c8b02db15b9491.tar.gz vaadin-framework-aa8761cc6338f48b4fa53025f0c8b02db15b9491.zip |
Force recalc of width when the ComboBox style has changed (#13444)
Change-Id: I7bb500c1b64502881824875e967cf43c5e49a999
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidth.java | 65 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidthTest.java | 52 |
2 files changed, 117 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidth.java b/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidth.java new file mode 100644 index 0000000000..6e5ca36f31 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidth.java @@ -0,0 +1,65 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.ui; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUIWithLog; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.ComboBox; + +/** + * Test UI for adding a stylename to a combobox with an undefined width. + * + * @author Vaadin Ltd + */ +public class ComboboxStyleChangeWidth extends AbstractTestUIWithLog { + + @Override + protected void setup(VaadinRequest request) { + final ComboBox cbFoo = new ComboBox(); + cbFoo.setImmediate(true); + cbFoo.setSizeUndefined(); + cbFoo.addItem("A really long string that causes an inline width to be set"); + + Button btn = new Button("Click to break CB", + new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + cbFoo.addStyleName("foofoo"); + + } + }); + + addComponent(cbFoo); + addComponent(btn); + + } + + @Override + protected String getTestDescription() { + return "The computed inline width of an undefined-width ComboBox " + + "(with a sufficiently long option string) breaks when " + + "the component's stylename is changed after initial " + + "rendering."; + } + + @Override + protected Integer getTicketNumber() { + return Integer.valueOf(13444); + } + +} diff --git a/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidthTest.java b/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidthTest.java new file mode 100644 index 0000000000..c0845cabb0 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/ui/ComboboxStyleChangeWidthTest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.ui; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.tests.tb3.MultiBrowserTest; + +/** + * Tests that changing a stylename will not cause the width parameter to be + * removed from a combobox. + * + * @author Vaadin Ltd + */ + +public class ComboboxStyleChangeWidthTest extends MultiBrowserTest { + + @Test + public void testWidthRetained() { + openTestURL(); + + WebElement comboBox = driver + .findElement(By.className("v-filterselect")); + String oldStyle = comboBox.getAttribute("style"); + + WebElement button = driver.findElement(By.className("v-button")); + button.click(); + String newStyle = comboBox.getAttribute("style"); + + assertEquals("width has changed, should remain equal", oldStyle, + newStyle); + + } + +} |