diff options
author | Teemu Pòˆntelin <teemu@vaadin.com> | 2014-06-03 21:00:48 +0300 |
---|---|---|
committer | Jouni Koivuviita <jouni@vaadin.com> | 2014-06-12 07:15:26 +0000 |
commit | 0d0f2d10a7f0f3aa5cdc55420512feb5ad8429e6 (patch) | |
tree | 47a1819317e8ed3f3a5a3bd4e29913c0d91a75de /uitest/src | |
parent | 49bc3b9ffba204c32885e9ed97da2df2eb0dad68 (diff) | |
download | vaadin-framework-0d0f2d10a7f0f3aa5cdc55420512feb5ad8429e6.tar.gz vaadin-framework-0d0f2d10a7f0f3aa5cdc55420512feb5ad8429e6.zip |
Fix for handling selectors with both width and height ranges (#13587)
This fix splits the used regular expressions into a more manageable
parts while fixing the handling of a case where both width-range and
height-range are defined. Also refactored some duplicate code into
a helper function.
Change-Id: I98295b8b0772b33a9985c0630e065eea2281d11d
Diffstat (limited to 'uitest/src')
-rw-r--r-- | uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeight.java | 50 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeightTest.java | 64 |
2 files changed, 114 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeight.java b/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeight.java new file mode 100644 index 0000000000..1c3acbec8d --- /dev/null +++ b/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeight.java @@ -0,0 +1,50 @@ +/* + * 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.extensions; + +import com.vaadin.annotations.Theme; +import com.vaadin.server.Responsive; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.CssLayout; +import com.vaadin.ui.Label; + +@Theme("tests-responsive") +public class ResponsiveWidthAndHeight extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + CssLayout layout = new CssLayout(); + layout.addStyleName("width-and-height"); + layout.setSizeFull(); + setContent(layout); + Responsive.makeResponsive(layout); + + layout.addComponent(new Label( + "Resize the browser window in both dimensions to see the background color change.")); + } + + @Override + protected String getTestDescription() { + return "The CssLayout with both width-range and height-range defined"; + } + + @Override + protected Integer getTicketNumber() { + return 13587; + } +} diff --git a/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeightTest.java b/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeightTest.java new file mode 100644 index 0000000000..8086457c24 --- /dev/null +++ b/uitest/src/com/vaadin/tests/extensions/ResponsiveWidthAndHeightTest.java @@ -0,0 +1,64 @@ +/* + * 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.extensions; + +import static org.junit.Assert.assertEquals; + +import org.junit.Before; +import org.junit.Test; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.CssLayoutElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class ResponsiveWidthAndHeightTest extends MultiBrowserTest { + + @Before + public void setUp() throws Exception { + // We need this in order to ensure that the initial width-range is + // width: 600px- and height: 500px- + testBench().resizeViewPortTo(1024, 768); + } + + @Test + public void testWidthAndHeightRanges() throws Exception { + openTestURL(); + + // IE sometimes has trouble waiting long enough. + new WebDriverWait(getDriver(), 30).until(ExpectedConditions + .presenceOfElementLocated(By + .cssSelector(".v-csslayout-width-and-height"))); + + // Verify both width-range and height-range. + assertEquals("600px-", + $(CssLayoutElement.class).first().getAttribute("width-range")); + assertEquals("500px-", + $(CssLayoutElement.class).first().getAttribute("height-range")); + + // Resize + testBench().resizeViewPortTo(550, 450); + + // Verify updated width-range and height-range. + assertEquals("0-599px", + $(CssLayoutElement.class).first().getAttribute("width-range")); + assertEquals("0-499px", + $(CssLayoutElement.class).first().getAttribute("height-range")); + } + +} |