소스 검색

Alter TooltipInWindowTest to inherit from TooltipTest (#14240)

Change-Id: I27c0a236d4dd654c1cf8d567752af9d1ea3c1de5
tags/7.3.0.rc1
Juuso Valli 10 년 전
부모
커밋
a84a2a6d27

+ 0
- 95
uitest/src/com/vaadin/tests/components/window/TooltipInWindowTest.java 파일 보기

@@ -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);
}
}

uitest/src/com/vaadin/tests/components/window/TooltipInWindow.java → 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;
}

}

+ 66
- 0
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);
}
}

Loading…
취소
저장