aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Paul <henrik@vaadin.com>2014-08-26 15:58:37 +0300
committerTeemu Suo-Anttila <teemusa@vaadin.com>2014-08-29 09:36:26 +0000
commit2aba81c12d0b11d8618fb11142d7c74559647426 (patch)
tree1cc68f01556d87fc51498fe2531e971efec71e80
parent63735b6f70d41c642f3d043bbba88093e6c2fba7 (diff)
downloadvaadin-framework-2aba81c12d0b11d8618fb11142d7c74559647426.tar.gz
vaadin-framework-2aba81c12d0b11d8618fb11142d7c74559647426.zip
Tests vScroll behavior in row-amount border cases (#13334)
Change-Id: I1a14e9721549b50ddda0aec0ed2cbbabe6f1abd6
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java54
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java2
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridStructureTest.java23
3 files changed, 55 insertions, 24 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
index 87109b5007..b760f8531c 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
@@ -537,36 +537,44 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
protected void createRowActions() {
createCategory("Body rows", null);
- createClickAction("Add first row", "Body rows",
+ final Command<Grid, String> newRowCommand = new Command<Grid, String>() {
+ @Override
+ public void execute(Grid c, String value, Object data) {
+ Item item = ds.addItemAt(0, new Object());
+ for (int i = 0; i < COLUMNS; i++) {
+ Class<?> type = ds.getType(getColumnProperty(i));
+ if (String.class.isAssignableFrom(type)) {
+ Property<String> itemProperty = getProperty(item, i);
+ itemProperty.setValue("newcell: " + i);
+ } else if (Integer.class.isAssignableFrom(type)) {
+ Property<Integer> itemProperty = getProperty(item, i);
+ itemProperty.setValue(Integer.valueOf(i));
+ } else {
+ // let the default value be taken implicitly.
+ }
+ }
+ }
+
+ private <T extends Object> Property<T> getProperty(Item item, int i) {
+ @SuppressWarnings("unchecked")
+ Property<T> itemProperty = item
+ .getItemProperty(getColumnProperty(i));
+ return itemProperty;
+ }
+ };
+
+ createClickAction("Add 18 rows", "Body rows",
new Command<Grid, String>() {
@Override
public void execute(Grid c, String value, Object data) {
- Item item = ds.addItemAt(0, new Object());
- for (int i = 0; i < COLUMNS; i++) {
- Class<?> type = ds.getType(getColumnProperty(i));
- if (String.class.isAssignableFrom(type)) {
- Property<String> itemProperty = getProperty(
- item, i);
- itemProperty.setValue("newcell: " + i);
- } else if (Integer.class.isAssignableFrom(type)) {
- Property<Integer> itemProperty = getProperty(
- item, i);
- itemProperty.setValue(Integer.valueOf(i));
- } else {
- // let the default value be taken implicitly.
- }
+ for (int i = 0; i < 18; i++) {
+ newRowCommand.execute(c, value, data);
}
}
-
- private <T extends Object> Property<T> getProperty(
- Item item, int i) {
- @SuppressWarnings("unchecked")
- Property<T> itemProperty = item
- .getItemProperty(getColumnProperty(i));
- return itemProperty;
- }
}, null);
+ createClickAction("Add first row", "Body rows", newRowCommand, null);
+
createClickAction("Remove first row", "Body rows",
new Command<Grid, String>() {
@Override
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java
index 8952b04d02..56f5f63c39 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java
@@ -111,7 +111,7 @@ public abstract class GridBasicFeaturesTest extends MultiBrowserTest {
}
}
- private WebElement getGridVerticalScrollbar() {
+ protected WebElement getGridVerticalScrollbar() {
return getDriver()
.findElement(
By.xpath("//div[contains(@class, \"v-grid-scroller-vertical\")]"));
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridStructureTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridStructureTest.java
index 7c5607d4e6..a3cbaa980d 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridStructureTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridStructureTest.java
@@ -18,6 +18,7 @@ package com.vaadin.tests.components.grid.basicfeatures.server;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.IsNot.not;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.List;
@@ -208,6 +209,28 @@ public class GridStructureTest extends GridBasicFeaturesTest {
.findElements(By.tagName("tr")).size());
}
+ @Test
+ public void testVerticalScrollBarVisibilityWhenEnoughRows()
+ throws Exception {
+ openTestURL();
+
+ assertTrue(verticalScrollbarIsPresent());
+
+ selectMenuPath("Component", "Body rows", "Remove all rows");
+ assertFalse(verticalScrollbarIsPresent());
+
+ selectMenuPath("Component", "Body rows", "Add 18 rows");
+ assertFalse(verticalScrollbarIsPresent());
+
+ selectMenuPath("Component", "Body rows", "Add first row");
+ assertTrue(verticalScrollbarIsPresent());
+ }
+
+ private boolean verticalScrollbarIsPresent() {
+ return "scroll".equals(getGridVerticalScrollbar().getCssValue(
+ "overflow-y"));
+ }
+
private void assertPrimaryStylename(String stylename) {
assertTrue(getGridElement().getAttribute("class").contains(stylename));