diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2019-10-28 19:46:32 +0200 |
---|---|---|
committer | Tatu Lund <tatu@vaadin.com> | 2019-10-28 19:46:32 +0200 |
commit | 95a01fe72ea115bd6816f45bcb97423544df4ea3 (patch) | |
tree | 059188ef7a5088aa62f657df1d565db194b82bbb /uitest | |
parent | 55753a2e9d0385736cd3fd831573d2faddb801ef (diff) | |
download | vaadin-framework-8.9.2.tar.gz vaadin-framework-8.9.2.zip |
Improvements to ScrollDestination sanity checks (#11772) (#11776)8.9.2
- The new top row logical index should always be within the logical
range and high enough up to avoid leaving a gap if possible.
- Added regression testing for using the different scroll destination
types for scrolling to the top and to the bottom by index.
Fixes #11732
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/grid/GridScrollDestinationTest.java | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/GridScrollDestinationTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/GridScrollDestinationTest.java index 67a831557d..302ea741a4 100644 --- a/uitest/src/test/java/com/vaadin/tests/components/grid/GridScrollDestinationTest.java +++ b/uitest/src/test/java/com/vaadin/tests/components/grid/GridScrollDestinationTest.java @@ -15,10 +15,12 @@ import com.vaadin.testbench.TestBenchElement; import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.testbench.elements.GridElement; import com.vaadin.testbench.elements.NativeSelectElement; +import com.vaadin.testbench.elements.TextFieldElement; import com.vaadin.tests.tb3.SingleBrowserTest; public class GridScrollDestinationTest extends SingleBrowserTest { + private TextFieldElement textField; private ButtonElement button; private GridElement grid; private TestBenchElement header; @@ -28,6 +30,7 @@ public class GridScrollDestinationTest extends SingleBrowserTest { public void setup() throws Exception { super.setup(); openTestURL(); + textField = $(TextFieldElement.class).first(); button = $(ButtonElement.class).first(); grid = $(GridElement.class).first(); header = grid.getHeader(); @@ -110,6 +113,28 @@ public class GridScrollDestinationTest extends SingleBrowserTest { rows = grid.getBody().findElements(By.className("v-grid-row")); row = rows.get(6); assertEquals("50", row.getText()); + + // scroll to beginning using scroll destination + textField.setValue("0"); + button.click(); + + // expect to be scrolled all the way up + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(0); + assertEquals("0", row.getText()); + + assertElementAtTop(row); + + // scroll to end using scroll destination + textField.setValue("99"); + button.click(); + + // expect to be scrolled all the way down + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(rows.size() - 1); + assertEquals("99", row.getText()); + + assertElementAtBottom(row); } @Test @@ -168,6 +193,29 @@ public class GridScrollDestinationTest extends SingleBrowserTest { assertEquals("50", row.getText()); assertElementAtBottom(row); + + // scroll to beginning using scroll destination + textField.setValue("0"); + button.click(); + button.click(); + + // expect to be scrolled all the way up + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(0); + assertEquals("0", row.getText()); + + assertElementAtTop(row); + + // scroll to end using scroll destination + textField.setValue("99"); + button.click(); + + // expect to be scrolled all the way down + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(rows.size() - 1); + assertEquals("99", row.getText()); + + assertElementAtBottom(row); } @Test @@ -226,6 +274,28 @@ public class GridScrollDestinationTest extends SingleBrowserTest { assertEquals("50", row.getText()); assertElementAtTop(row); + + // scroll to beginning using scroll destination + textField.setValue("0"); + button.click(); + + // expect to be scrolled all the way up + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(0); + assertEquals("0", row.getText()); + + assertElementAtTop(row); + + // scroll to end using scroll destination + textField.setValue("99"); + button.click(); + + // expect to be scrolled all the way down + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(rows.size() - 1); + assertEquals("99", row.getText()); + + assertElementAtBottom(row); } @Test @@ -287,5 +357,27 @@ public class GridScrollDestinationTest extends SingleBrowserTest { assertEquals("50", row.getText()); assertElementAtMiddle(row); + + // scroll to beginning using scroll destination + textField.setValue("0"); + button.click(); + + // expect to be scrolled all the way up + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(0); + assertEquals("0", row.getText()); + + assertElementAtTop(row); + + // scroll to end using scroll destination + textField.setValue("99"); + button.click(); + + // expect to be scrolled all the way down + rows = grid.getBody().findElements(By.className("v-grid-row")); + row = rows.get(rows.size() - 1); + assertEquals("99", row.getText()); + + assertElementAtBottom(row); } } |