diff options
author | Sauli Tähkäpää <sauli@vaadin.com> | 2014-09-18 09:40:03 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-09-19 05:43:39 +0000 |
commit | abdbfa1db886f561bbd0d9ff4f2d053d037aef59 (patch) | |
tree | b8b0c4397c259bacbfd6b7acaa82bf99d11ad881 | |
parent | 885471e0eaad459e1cfe3deaa9ef379a765e47ce (diff) | |
download | vaadin-framework-abdbfa1db886f561bbd0d9ff4f2d053d037aef59.tar.gz vaadin-framework-abdbfa1db886f561bbd0d9ff4f2d053d037aef59.zip |
Extract IE8 to it's own TableColumnResizeContentsWidthTest.
Change-Id: I1f9680b9fd16977aa3351e2406e0831b2046c191
-rw-r--r-- | uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthIE8Test.java | 50 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthTest.java | 77 |
2 files changed, 101 insertions, 26 deletions
diff --git a/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthIE8Test.java b/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthIE8Test.java new file mode 100644 index 0000000000..8bace7e23a --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthIE8Test.java @@ -0,0 +1,50 @@ +package com.vaadin.tests.components.table; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.tests.tb3.MultiBrowserTest; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.DesiredCapabilities; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; + +public class TableColumnResizeContentsWidthIE8Test extends MultiBrowserTest { + @Override + public List<DesiredCapabilities> getBrowsersToTest() { + List<DesiredCapabilities> browsersToTest = new ArrayList<DesiredCapabilities>(); + + browsersToTest.add(Browser.IE8.getDesiredCapabilities()); + + return browsersToTest; + } + + @Override + protected Class<?> getUIClass() { + return TableColumnResizeContentsWidth.class; + } + + @Test + public void testResizing() throws InterruptedException { + openTestURL(); + + TableElement table = $(TableElement.class).first(); + List<ButtonElement> buttons = $(ButtonElement.class).all(); + + WebElement textField = table.findElement(By.className("v-textfield")); + + // click the button for decreasing size + buttons.get(1).click(); + + assertEquals(60, textField.getSize().width); + + // click the button for increasing size + buttons.get(0).click(); + + assertEquals(80, textField.getSize().width); + } +} diff --git a/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthTest.java b/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthTest.java index 0e98e7ddec..3ae66de684 100644 --- a/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthTest.java +++ b/uitest/src/com/vaadin/tests/components/table/TableColumnResizeContentsWidthTest.java @@ -15,18 +15,20 @@ */ package com.vaadin.tests.components.table; -import static org.junit.Assert.assertEquals; - -import java.util.List; - +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.tests.tb3.MultiBrowserTest; import org.junit.Test; import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.support.ui.ExpectedCondition; -import com.vaadin.testbench.elements.ButtonElement; -import com.vaadin.testbench.elements.TableElement; -import com.vaadin.tests.tb3.MultiBrowserTest; +import java.util.List; + +import static org.junit.Assert.assertEquals; /** * Tests that components within table cells get resized when their column gets @@ -36,41 +38,64 @@ import com.vaadin.tests.tb3.MultiBrowserTest; */ public class TableColumnResizeContentsWidthTest extends MultiBrowserTest { + @Override + public List<DesiredCapabilities> getBrowsersToTest() { + List<DesiredCapabilities> browsersToTest = super.getBrowsersToTest(); + + //Can't get IE8 to hit the resizer, extracted IE8 to it's own test class. + browsersToTest.remove(Browser.IE8.getDesiredCapabilities()); + + return browsersToTest; + } + @Test public void testResizing() throws InterruptedException { openTestURL(); - TableElement table = $(TableElement.class).first(); List<ButtonElement> buttons = $(ButtonElement.class).all(); - WebElement textField = table.findElement(By.className("v-textfield")); - WebElement resizer = table.findElement(By.className("v-table-resizer")); - - assertEquals(100, textField.getSize().width); - - // drag resizer to left - new Actions(getDriver()).moveToElement(resizer).clickAndHold() - .moveByOffset(-20, 0).release().perform(); + WebElement resizer = getTable().findElement(By.className("v-table-resizer")); - assertEquals(80, textField.getSize().width); + assertEquals(100, getTextFieldWidth()); - // drag resizer to right - new Actions(getDriver()).moveToElement(resizer).clickAndHold() - .moveByOffset(40, 0).release().perform(); + moveResizer(resizer, -20); + assertEquals(80, getTextFieldWidth()); - assertEquals(120, textField.getSize().width); + moveResizer(resizer, 40); + assertEquals(120, getTextFieldWidth()); // click the button for decreasing size buttons.get(1).click(); - sleep(50); - - assertEquals(80, textField.getSize().width); + waitUntilTextFieldWidthIs(80); // click the button for increasing size buttons.get(0).click(); - sleep(50); + waitUntilTextFieldWidthIs(100); + } + + private void waitUntilTextFieldWidthIs(final int width) { + waitUntil(new ExpectedCondition<Object>() { + @Override + public Object apply(WebDriver input) { + return getTextFieldWidth() == width; + } + }); + } + + private int getTextFieldWidth() { + TableElement table = getTable(); + final WebElement textField = table.findElement(By.className("v-textfield")); + + return textField.getSize().width; + } - assertEquals(100, textField.getSize().width); + private TableElement getTable() { + return $(TableElement.class).first(); } + private void moveResizer(WebElement resizer, int offset) { + new Actions(driver).clickAndHold(resizer).moveByOffset(offset, 0).release().perform(); + } } + + |