diff options
author | Henri Sara <hesara@vaadin.com> | 2014-06-30 12:50:24 +0300 |
---|---|---|
committer | Henri Sara <hesara@vaadin.com> | 2014-06-30 12:50:24 +0300 |
commit | 00594db377d6c6935d445d42fef691b97e5c84f3 (patch) | |
tree | 1a26af0819f39d26956eecec4e37dc5d6ad7f053 /uitest/src | |
parent | 565f752c9d6fbda5cd0aa1f2b2da83bc405d83f7 (diff) | |
parent | 9ceac5b2a8e9541c012b90f72d5f222ec508556e (diff) | |
download | vaadin-framework-00594db377d6c6935d445d42fef691b97e5c84f3.tar.gz vaadin-framework-00594db377d6c6935d445d42fef691b97e5c84f3.zip |
Merge branch 'master' into valo
Change-Id: Ifeb36e6c0acd156b7714f96f32ad7d4ff8416100
Diffstat (limited to 'uitest/src')
6 files changed, 137 insertions, 44 deletions
diff --git a/uitest/src/com/vaadin/tests/push/PushConfigurationStreamingTest.java b/uitest/src/com/vaadin/tests/push/PushConfigurationStreamingTest.java index 8dc960c9ac..0861e618a2 100644 --- a/uitest/src/com/vaadin/tests/push/PushConfigurationStreamingTest.java +++ b/uitest/src/com/vaadin/tests/push/PushConfigurationStreamingTest.java @@ -27,33 +27,19 @@ import org.openqa.selenium.support.ui.Select; public class PushConfigurationStreamingTest extends PushConfigurationTest { - @Override - public List<DesiredCapabilities> getBrowsersToTest() { - List<DesiredCapabilities> browsers = super.getBrowsersToTest(); - - browsers.remove(Browser.IE8.getDesiredCapabilities()); - - return browsers; - } - @Test public void testStreaming() throws InterruptedException { openDebugLogTab(); new Select(getTransportSelect()).selectByVisibleText("STREAMING"); - new Select(getPushModeSelect()).selectByVisibleText("AUTOMATIC"); - assertThat(getStatusText(), containsString("fallbackTransport: long-polling")); assertThat(getStatusText(), containsString("transport: streaming")); - waitForServerCounterToUpdate(); + clearDebugMessages(); + new Select(getPushModeSelect()).selectByVisibleText("AUTOMATIC"); - // Use debug console to verify we used the correct transport type - assertThat( - driver.getPageSource(), - not(containsString("Push connection established using websocket"))); - assertThat(driver.getPageSource(), - containsString("Push connection established using streaming")); + waitForDebugMessage("Push connection established using streaming", 10); + waitForServerCounterToUpdate(); } } diff --git a/uitest/src/com/vaadin/tests/push/ReconnectTest.java b/uitest/src/com/vaadin/tests/push/ReconnectTest.java index 5ad2e7a127..6a632f2667 100644 --- a/uitest/src/com/vaadin/tests/push/ReconnectTest.java +++ b/uitest/src/com/vaadin/tests/push/ReconnectTest.java @@ -83,32 +83,6 @@ public abstract class ReconnectTest extends MultiBrowserTestWithProxy { waitForDebugMessage("Reopening push connection"); } - private void clearDebugMessages() { - driver.findElement( - By.xpath("//button[@class='v-debugwindow-button' and @title='Clear log']")) - .click(); - } - - private boolean hasDebugMessage(String message) { - return getDebugMessage(message) != null; - } - - private WebElement getDebugMessage(String message) { - return driver.findElement(By.xpath(String.format( - "//span[@class='v-debugwindow-message' and text()='%s']", - message))); - } - - private void waitForDebugMessage(final String expectedMessage) { - waitUntil(new ExpectedCondition<Boolean>() { - - @Override - public Boolean apply(WebDriver input) { - return hasDebugMessage(expectedMessage); - } - }, 30); - } - private void connectAndVerifyConnectionEstablished() throws JSchException { connectProxy(); waitUntilServerCounterChanges(); diff --git a/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java b/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java index 14be226de6..e5cceca6b8 100644 --- a/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java +++ b/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java @@ -165,6 +165,36 @@ public abstract class AbstractTB3Test extends TestBenchTestCase { return ((Locatable) element.getWrappedElement()).getCoordinates(); } + private boolean hasDebugMessage(String message) { + return getDebugMessage(message) != null; + } + + private WebElement getDebugMessage(String message) { + return driver.findElement(By.xpath(String.format( + "//span[@class='v-debugwindow-message' and text()='%s']", + message))); + } + + protected void waitForDebugMessage(final String expectedMessage) { + waitForDebugMessage(expectedMessage, 30); + } + + protected void waitForDebugMessage(final String expectedMessage, int timeout) { + waitUntil(new ExpectedCondition<Boolean>() { + + @Override + public Boolean apply(WebDriver input) { + return hasDebugMessage(expectedMessage); + } + }, timeout); + } + + protected void clearDebugMessages() { + driver.findElement( + By.xpath("//button[@class='v-debugwindow-button' and @title='Clear log']")) + .click(); + } + @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface RunLocally { diff --git a/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascript.java b/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascript.java new file mode 100644 index 0000000000..2ada6e819a --- /dev/null +++ b/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascript.java @@ -0,0 +1,48 @@ +/* + * 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 com.vaadin.annotations.JavaScript; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; + +public class TooltipAndJavascript extends AbstractTestUI { + + @JavaScript("tooltipandjavascript.js") + public static class MyButton extends Button { + + } + + @Override + protected void setup(VaadinRequest request) { + MyButton b = new MyButton(); + b.setCaption("Hover for tooltip"); + b.setDescription("Tooltip for the button"); + addComponent(b); + } + + @Override + protected String getTestDescription() { + return "Hover the button for a tooltip. It should be styled correctly"; + } + + @Override + protected Integer getTicketNumber() { + return 14028; + } + +} diff --git a/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascriptTest.java b/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascriptTest.java new file mode 100644 index 0000000000..cc9309ac2c --- /dev/null +++ b/uitest/src/com/vaadin/tests/tooltip/TooltipAndJavascriptTest.java @@ -0,0 +1,54 @@ +/* + * 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.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class TooltipAndJavascriptTest extends MultiBrowserTest { + + @Test + public void ensureTooltipInOverlay() throws InterruptedException { + openTestURL(); + $(ButtonElement.class).first().showTooltip(); + WebElement tooltip = findElement(By + .cssSelector(".v-overlay-container .v-tooltip")); + WebElement overlayContainer = getParent(tooltip); + Assert.assertTrue("v-overlay-container did not receive theme", + hasClass(overlayContainer, "reindeer")); + } + + private boolean hasClass(WebElement element, String classname) { + String[] classes = element.getAttribute("class").split(" "); + for (String classString : classes) { + if (classname.equals(classString)) { + return true; + } + } + return false; + } + + private WebElement getParent(WebElement element) { + return (WebElement) ((JavascriptExecutor) getDriver()).executeScript( + "return arguments[0].parentNode;", element); + } +} diff --git a/uitest/src/com/vaadin/tests/tooltip/tooltipandjavascript.js b/uitest/src/com/vaadin/tests/tooltip/tooltipandjavascript.js new file mode 100644 index 0000000000..f6aea090ba --- /dev/null +++ b/uitest/src/com/vaadin/tests/tooltip/tooltipandjavascript.js @@ -0,0 +1 @@ +window.console.log("tooltipandjavascript.js executing")
\ No newline at end of file |