diff options
author | Juuso Valli <juuso@vaadin.com> | 2014-05-26 17:25:49 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-06-17 07:53:48 +0000 |
commit | 545b3a43bf8953c8976de518bfc618cae0564b9a (patch) | |
tree | 7262f4ed351b96b3bde282fe7f1411fb54305c00 | |
parent | f455b391b76b1a2ad9169c5308645ad9764505ec (diff) | |
download | vaadin-framework-545b3a43bf8953c8976de518bfc618cae0564b9a.tar.gz vaadin-framework-545b3a43bf8953c8976de518bfc618cae0564b9a.zip |
Improve CaptionLeakTest on IE8 (#13829)
Change-Id: I0c04f3318af2c9c53e5967485008faa260830996
-rw-r--r-- | uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeak.java | 53 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeakTest.java | 49 |
2 files changed, 71 insertions, 31 deletions
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeak.java b/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeak.java index 7d347d6180..c715aa383a 100644 --- a/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeak.java +++ b/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeak.java @@ -1,13 +1,13 @@ package com.vaadin.tests.components.orderedlayout; import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.ComponentContainer; import com.vaadin.ui.CssLayout; -import com.vaadin.ui.Label; +import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Panel; import com.vaadin.ui.TextField; -import com.vaadin.ui.UI; import com.vaadin.ui.VerticalLayout; /** @@ -17,23 +17,32 @@ import com.vaadin.ui.VerticalLayout; * @since 7.1.13 * @author Vaadin Ltd */ -public class CaptionLeak extends UI { - - public static final String USAGE = "Open this UI with ?debug and count" - + " measured non-connector elements after setting leaky and non leaky" - + " content."; +public class CaptionLeak extends AbstractTestUI { + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server. + * VaadinRequest) + */ @Override - public void init(VaadinRequest req) { - final VerticalLayout root = new VerticalLayout(); - setContent(root); - Label usage = new Label(USAGE); + protected void setup(VaadinRequest request) { + VerticalLayout root = new VerticalLayout(); + root.setSizeFull(); + root.setMargin(false); + root.setSpacing(false); + + HorizontalLayout layout = new HorizontalLayout(); Panel parent = new Panel(); Button setLeakyContent = makeButton("Set leaky content", parent, VerticalLayout.class); Button setNonLeakyContent = makeButton("Set non leaky content", parent, CssLayout.class); - root.addComponents(usage, setLeakyContent, setNonLeakyContent, parent); + layout.addComponent(setLeakyContent); + layout.addComponent(setNonLeakyContent); + root.addComponent(layout); + root.addComponent(parent); + setContent(root); } private Button makeButton(String caption, final Panel parent, @@ -59,4 +68,24 @@ public class CaptionLeak extends UI { return btn; } + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() + */ + @Override + protected String getTestDescription() { + return "Open this UI with ?debug and count measured non-connector elements after setting leaky and non leaky content."; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber() + */ + @Override + protected Integer getTicketNumber() { + return null; + } + } diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeakTest.java b/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeakTest.java index 0fbd0e5f69..a95ceca22b 100644 --- a/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeakTest.java +++ b/uitest/src/com/vaadin/tests/components/orderedlayout/CaptionLeakTest.java @@ -18,6 +18,7 @@ package com.vaadin.tests.components.orderedlayout; import org.junit.Test; import org.openqa.selenium.By; +import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.tests.tb3.MultiBrowserTest; public class CaptionLeakTest extends MultiBrowserTest { @@ -26,43 +27,53 @@ public class CaptionLeakTest extends MultiBrowserTest { public void testCaptionLeak() throws Exception { setDebug(true); openTestURL(); - openDebugLogTab(); + + openLog(); // this should be present // 3 general non-connector elements, none accumulated on click - getDriver() - .findElement( - By.xpath("//span[text() = 'Measured 3 non connector elements']")); + checkConnectorCount(); - getDriver().findElement(By.xpath("//button[@title = 'Clear log']")) - .click(); - getDriver().findElement(By.id("Set leaky content")).click(); + clearLog(); - getDriver() - .findElement( - By.xpath("//span[text() = 'Measured 3 non connector elements']")); + $(ButtonElement.class).caption("Set leaky content").first().click(); + + checkConnectorCount(); // nothing accumulates over clicks - getDriver().findElement(By.xpath("//button[@title = 'Clear log']")) - .click(); - getDriver().findElement(By.id("Set leaky content")).click(); - getDriver() - .findElement( - By.xpath("//span[text() = 'Measured 3 non connector elements']")); + clearLog(); + + $(ButtonElement.class).caption("Set leaky content").first().click(); + checkConnectorCount(); } @Test public void testNoCaptionLeak() throws Exception { setDebug(true); openTestURL(); + + openLog(); + + clearLog(); + $(ButtonElement.class).caption("Set non leaky content").first().click(); + // this should be present + // 3 general non-connector elements, none accumulated on click + checkConnectorCount(); + } + + private void openLog() { openDebugLogTab(); + if (BrowserUtil.isIE8(getDesiredCapabilities())) { + openDebugLogTab(); + } + } + private void clearLog() { getDriver().findElement(By.xpath("//button[@title = 'Clear log']")) .click(); - getDriver().findElement(By.id("Set non leaky content")).click(); + } - // this should be present - // 3 general non-connector elements, none accumulated on click + private void checkConnectorCount() { getDriver() .findElement( By.xpath("//span[text() = 'Measured 3 non connector elements']")); |