summaryrefslogtreecommitdiffstats
path: root/uitest/src/test
diff options
context:
space:
mode:
authorArtur <artur@vaadin.com>2018-01-05 15:13:55 +0200
committerOlli Tietäväinen <ollit@vaadin.com>2018-01-05 15:13:55 +0200
commitf1039e892ca4d40e7ed441264f1d35b30733d679 (patch)
treea8a7853a28d6bcf25192a5c1c18392f5fa79a673 /uitest/src/test
parent900463c44acdef7ad5acec4de5203b6fd37fd4f3 (diff)
downloadvaadin-framework-f1039e892ca4d40e7ed441264f1d35b30733d679.tar.gz
vaadin-framework-f1039e892ca4d40e7ed441264f1d35b30733d679.zip
Fix scrolling problem in table in Chrome 56+ (#10492)
* Fix scrolling problem in table in Chrome 56+ Fixes #8707 * Remove commented code
Diffstat (limited to 'uitest/src/test')
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java
new file mode 100644
index 0000000000..b078d00162
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java
@@ -0,0 +1,48 @@
+package com.vaadin.tests.components.table;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.TableElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class TableScrollsOnRefreshTest extends MultiBrowserTest {
+
+ @Test
+ public void ensureNoScrolling() throws InterruptedException {
+ openTestURL();
+ TableElement table = $(TableElement.class).first();
+ table.scroll(10000);
+ sleep(500); // wait for both data requests
+ String firstCellText = getFirstVisibleCell(table).getText();
+
+ ButtonElement refresh = $(ButtonElement.class).first();
+ refresh.click();
+ sleep(500); // wait for both data requests
+ Assert.assertEquals(firstCellText,
+ getFirstVisibleCell(table).getText());
+
+ refresh.click();
+ sleep(500); // wait for both data requests
+ Assert.assertEquals(firstCellText,
+ getFirstVisibleCell(table).getText());
+ }
+
+ private WebElement getFirstVisibleCell(TableElement table) {
+ int tableBodyTop = table.findElement(By.className("v-table-body"))
+ .getLocation().getY();
+ List<WebElement> cells = table
+ .findElements(By.className("v-table-cell-content"));
+ for (WebElement cell : cells) {
+ if (cell.getLocation().getY() > tableBodyTop) {
+ return cell;
+ }
+ }
+ return null;
+ }
+}