diff options
author | Artur Signell <artur@vaadin.com> | 2015-06-19 14:22:56 +0300 |
---|---|---|
committer | Henri Sara <hesara@vaadin.com> | 2015-07-04 13:22:22 +0300 |
commit | 12f7fcec91289175024af78404a5d980fbb586cb (patch) | |
tree | 31c59e0e48c42024b20fa62e6d8c4b73d3f5ae58 /uitest | |
parent | e915983a31cb771d1d4cc19ec9f33e3bba7bc8f1 (diff) | |
download | vaadin-framework-12f7fcec91289175024af78404a5d980fbb586cb.tar.gz vaadin-framework-12f7fcec91289175024af78404a5d980fbb586cb.zip |
Use computed style in more IE9 edge cases (#13359)
Change-Id: Ifa84ad55462fcff90159ea08a61a11f613951adc
Diffstat (limited to 'uitest')
2 files changed, 140 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPasses.java b/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPasses.java new file mode 100644 index 0000000000..9c54dbab8d --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPasses.java @@ -0,0 +1,68 @@ +package com.vaadin.tests.components.orderedlayout; + +import com.vaadin.server.Page; +import com.vaadin.server.Page.Styles; +import com.vaadin.server.VaadinRequest; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.UI; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.Window; + +@SuppressWarnings("serial") +public class OrderedLayoutInfiniteLayoutPasses extends UI { + + @Override + protected void init(VaadinRequest request) { + VerticalLayout layout = new VerticalLayout(); + layout.addComponent(createOpenWindowButton()); + setContent(layout); + + Styles styles = Page.getCurrent().getStyles(); + styles.add(".my-separator {background-color: lightgray; min-height:2px;max-height:2px} "); + } + + private Button createOpenWindowButton() { + Button button = new Button("Open modal window"); + button.addClickListener(new ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + UI.getCurrent().addWindow(createWindow()); + } + }); + return button; + } + + private Window createWindow() { + VerticalLayout contentHolder = new VerticalLayout(); + contentHolder.addComponent(new Label("window content")); + + Label separator = new Label(); + separator.setWidth(100, Unit.PERCENTAGE); + separator.addStyleName("my-separator"); + + HorizontalLayout buttons = new HorizontalLayout(); + buttons.addComponent(new Button("button 1")); + buttons.addComponent(new Button("button 2")); + + VerticalLayout windowContent = new VerticalLayout(); + windowContent.setSizeFull(); + windowContent.addComponent(contentHolder); + windowContent.addComponent(separator); + windowContent.addComponent(buttons); + windowContent.setExpandRatio(contentHolder, 1.0f); + + Window window = new Window(); + window.setModal(true); + window.setWidth(680, Unit.PIXELS); + window.setHeight(700, Unit.PIXELS); + window.setContent(windowContent); + + return window; + } + +}
\ No newline at end of file diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPassesTest.java b/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPassesTest.java new file mode 100644 index 0000000000..1a2a9cbedf --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPassesTest.java @@ -0,0 +1,72 @@ +/* + * 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.orderedlayout; + +import java.util.List; + +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.DesiredCapabilities; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.parallel.Browser; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class OrderedLayoutInfiniteLayoutPassesTest extends MultiBrowserTest { + + @Override + protected boolean requireWindowFocusForIE() { + return true; + } + + @Override + public List<DesiredCapabilities> getBrowsersToTest() { + List<DesiredCapabilities> b = super.getBrowsersToTest(); + // Chrome and PhantomJS do not support browser zoom changes + b.remove(Browser.CHROME.getDesiredCapabilities()); + b.remove(Browser.PHANTOMJS.getDesiredCapabilities()); + return b; + } + + @Test + public void ensureFiniteLayoutPhase() throws Exception { + openTestURL("debug"); + zoomBrowserIn(); + try { + $(ButtonElement.class).first().click(); + assertNoErrorNotifications(); + resetZoom(); + assertNoErrorNotifications(); + } finally { + // Reopen test to ensure that modal window does not prevent zoom + // reset from taking place + openTestURL(); + resetZoom(); + } + } + + private void zoomBrowserIn() { + WebElement html = driver.findElement(By.tagName("html")); + html.sendKeys(Keys.chord(Keys.CONTROL, Keys.SUBTRACT)); + } + + private void resetZoom() { + WebElement html = driver.findElement(By.tagName("html")); + html.sendKeys(Keys.chord(Keys.CONTROL, "0")); + } +} |