summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2019-10-28 19:46:32 +0200
committerTatu Lund <tatu@vaadin.com>2019-10-28 19:46:32 +0200
commit95a01fe72ea115bd6816f45bcb97423544df4ea3 (patch)
tree059188ef7a5088aa62f657df1d565db194b82bbb /uitest
parent55753a2e9d0385736cd3fd831573d2faddb801ef (diff)
downloadvaadin-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.java92
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);
}
}