summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2015-06-19 14:22:56 +0300
committerArtur Signell <artur@vaadin.com>2015-06-24 12:09:33 +0000
commit8945b432b571d9fa076e0f8a4899adc3908ae73c (patch)
tree5a9295fb009c2555e4c7b8e3b5698720fdfaf88d /uitest
parentd505fc70ac3bbf13e868c227b58d82966abf2254 (diff)
downloadvaadin-framework-8945b432b571d9fa076e0f8a4899adc3908ae73c.tar.gz
vaadin-framework-8945b432b571d9fa076e0f8a4899adc3908ae73c.zip
Use computed style in more IE9 edge cases (#13359)
Change-Id: I847c9077199f46964ba8d1931e951529db6c5475
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPasses.java68
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/OrderedLayoutInfiniteLayoutPassesTest.java72
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"));
+ }
+}