aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shared/src/com/vaadin/shared/ui/grid/Range.java6
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java9
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridStructureTest.java10
3 files changed, 25 insertions, 0 deletions
diff --git a/shared/src/com/vaadin/shared/ui/grid/Range.java b/shared/src/com/vaadin/shared/ui/grid/Range.java
index a1d4d86103..38b2ff2a60 100644
--- a/shared/src/com/vaadin/shared/ui/grid/Range.java
+++ b/shared/src/com/vaadin/shared/ui/grid/Range.java
@@ -369,6 +369,12 @@ public final class Range implements Serializable {
* if the two ranges aren't connected
*/
public Range combineWith(Range other) throws IllegalArgumentException {
+ if (other.isEmpty()) {
+ return this;
+ } else if (isEmpty()) {
+ return other;
+ }
+
if (getStart() > other.getEnd() || other.getStart() > getEnd()) {
throw new IllegalArgumentException("There is a gap between " + this
+ " and " + other);
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 9ab2c98bdb..8b3391253b 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
@@ -521,6 +521,15 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
}
}
});
+
+ createClickAction("Remove all rows", "Body rows",
+ new Command<Grid, String>() {
+ @SuppressWarnings("unchecked")
+ @Override
+ public void execute(Grid c, String value, Object data) {
+ ds.removeAllItems();
+ }
+ }, null);
}
@SuppressWarnings("boxing")
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridStructureTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridStructureTest.java
index ced6963c32..d52f512b4f 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridStructureTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridStructureTest.java
@@ -197,6 +197,16 @@ public class GridStructureTest extends GridBasicFeaturesTest {
"modified: Column 0", getBodyCellByRowAndColumn(0, 0).getText());
}
+ @Test
+ public void testRemovingAllItems() throws Exception {
+ openTestURL();
+
+ selectMenuPath("Component", "Body rows", "Remove all rows");
+
+ assertEquals(0, getGridElement().findElement(By.tagName("tbody"))
+ .findElements(By.tagName("tr")).size());
+ }
+
private void assertPrimaryStylename(String stylename) {
assertTrue(getGridElement().getAttribute("class").contains(stylename));