From a84a2a6d27c35e4b176dc9b3433a824263ea14d0 Mon Sep 17 00:00:00 2001 From: Juuso Valli Date: Thu, 17 Jul 2014 13:24:50 +0300 Subject: [PATCH] Alter TooltipInWindowTest to inherit from TooltipTest (#14240) Change-Id: I27c0a236d4dd654c1cf8d567752af9d1ea3c1de5 --- .../window/TooltipInWindowTest.java | 95 ------------------- .../window => tooltip}/TooltipInWindow.java | 15 ++- .../tests/tooltip/TooltipInWindowTest.java | 66 +++++++++++++ 3 files changed, 72 insertions(+), 104 deletions(-) delete mode 100644 uitest/src/com/vaadin/tests/components/window/TooltipInWindowTest.java rename uitest/src/com/vaadin/tests/{components/window => tooltip}/TooltipInWindow.java (86%) create mode 100644 uitest/src/com/vaadin/tests/tooltip/TooltipInWindowTest.java diff --git a/uitest/src/com/vaadin/tests/components/window/TooltipInWindowTest.java b/uitest/src/com/vaadin/tests/components/window/TooltipInWindowTest.java deleted file mode 100644 index 412fd3049d..0000000000 --- a/uitest/src/com/vaadin/tests/components/window/TooltipInWindowTest.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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.window; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.HasInputDevices; -import org.openqa.selenium.interactions.Mouse; -import org.openqa.selenium.interactions.internal.Coordinates; -import org.openqa.selenium.internal.Locatable; - -import com.vaadin.testbench.By; -import com.vaadin.tests.tb3.MultiBrowserTest; - -/** - * - * @since - * @author Vaadin Ltd - */ -public class TooltipInWindowTest extends MultiBrowserTest { - - @Test - public void testTooltipsInSubWindow() throws InterruptedException { - openTestURL(); - - WebElement textfield = vaadinElementById("tf1"); - Coordinates textfieldCoordinates = ((Locatable) textfield) - .getCoordinates(); - - Mouse mouse = ((HasInputDevices) getDriver()).getMouse(); - - // Show tooltip - mouse.mouseMove(textfieldCoordinates, 10, 10); - - sleep(100); - ensureVisibleTooltipPositionedCorrectly(); - assertEquals("My tooltip", getTooltipElement().getText()); - - // Hide tooltip - mouse.mouseMove(textfieldCoordinates, -100, -100); - sleep(2000); - - ensureHiddenTooltipPositionedCorrectly(); - assertEquals("", getTooltipElement().getText()); - - // Show tooltip again - mouse.mouseMove(textfieldCoordinates, 10, 10); - - sleep(100); - ensureVisibleTooltipPositionedCorrectly(); - assertEquals("My tooltip", getTooltipElement().getText()); - - // Hide tooltip - mouse.mouseMove(textfieldCoordinates, -100, -100); - sleep(2000); - - ensureHiddenTooltipPositionedCorrectly(); - assertEquals("", getTooltipElement().getText()); - - } - - private WebElement getTooltipContainerElement() { - return getDriver().findElement(By.className("v-tooltip")); - } - - private void ensureVisibleTooltipPositionedCorrectly() { - WebElement textfield = vaadinElementById("tf1"); - int tooltipX = getTooltipContainerElement().getLocation().getX(); - int textfieldX = textfield.getLocation().getX(); - assertGreaterOrEqual("Tooltip should be positioned on the textfield (" - + tooltipX + " < " + textfieldX + ")", tooltipX, textfieldX); - } - - private void ensureHiddenTooltipPositionedCorrectly() { - int tooltipX = getTooltipContainerElement().getLocation().getX(); - assertLessThanOrEqual( - "Tooltip should be positioned outside of viewport (was at " - + tooltipX + ")", tooltipX, -1000); - } -} diff --git a/uitest/src/com/vaadin/tests/components/window/TooltipInWindow.java b/uitest/src/com/vaadin/tests/tooltip/TooltipInWindow.java similarity index 86% rename from uitest/src/com/vaadin/tests/components/window/TooltipInWindow.java rename to uitest/src/com/vaadin/tests/tooltip/TooltipInWindow.java index cd2cc7d060..690b65432a 100644 --- a/uitest/src/com/vaadin/tests/components/window/TooltipInWindow.java +++ b/uitest/src/com/vaadin/tests/tooltip/TooltipInWindow.java @@ -1,12 +1,12 @@ -/* +/* * 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 @@ -14,7 +14,7 @@ * the License. */ -package com.vaadin.tests.components.window; +package com.vaadin.tests.tooltip; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; @@ -41,9 +41,6 @@ public class TooltipInWindow extends AbstractTestUI { TextField tf = new TextField("TextField with a tooltip"); tf.setDescription("My tooltip"); tf.setId(id); - getTooltipConfiguration().setOpenDelay(0); - getTooltipConfiguration().setQuickOpenDelay(0); - getTooltipConfiguration().setCloseTimeout(1000); return tf; } @@ -54,7 +51,7 @@ public class TooltipInWindow extends AbstractTestUI { @Override protected Integer getTicketNumber() { - return Integer.valueOf(9172); + return 9172; } } diff --git a/uitest/src/com/vaadin/tests/tooltip/TooltipInWindowTest.java b/uitest/src/com/vaadin/tests/tooltip/TooltipInWindowTest.java new file mode 100644 index 0000000000..1c50bf5486 --- /dev/null +++ b/uitest/src/com/vaadin/tests/tooltip/TooltipInWindowTest.java @@ -0,0 +1,66 @@ +/* + * 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.tooltip; + +import org.junit.Test; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.By; +import com.vaadin.tests.tb3.TooltipTest; + +/** + * Test if tooltips in subwindows behave correctly + * + * @author Vaadin Ltd + */ +public class TooltipInWindowTest extends TooltipTest { + + @Test + public void testTooltipsInSubWindow() throws Exception { + openTestURL(); + + WebElement textfield = vaadinElementById("tf1"); + + checkTooltip(textfield, "My tooltip"); + + ensureVisibleTooltipPositionedCorrectly(textfield); + + clearTooltip(); + + checkTooltip(textfield, "My tooltip"); + + clearTooltip(); + } + + private WebElement getTooltipContainerElement() { + return getDriver().findElement(By.className("v-tooltip")); + } + + private void ensureVisibleTooltipPositionedCorrectly(WebElement textfield) + throws InterruptedException { + int tooltipX = getTooltip().getLocation().getX(); + int textfieldX = textfield.getLocation().getX(); + assertGreaterOrEqual("Tooltip should be positioned on the textfield (" + + tooltipX + " < " + textfieldX + ")", tooltipX, textfieldX); + } + + private void ensureHiddenTooltipPositionedCorrectly() { + int tooltipX = getTooltipContainerElement().getLocation().getX(); + assertLessThanOrEqual( + "Tooltip should be positioned outside of viewport (was at " + + tooltipX + ")", tooltipX, -1000); + } +} -- 2.39.5