diff options
author | Artur Signell <artur.signell@itmill.com> | 2011-06-14 12:37:09 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2011-06-14 12:37:09 +0000 |
commit | ac0f6cc21671f07d05949f2d2e81e70f2c7a4b15 (patch) | |
tree | e000a09b49775e70709f53704c79fec9248b3f40 /tests | |
parent | db8a72ead02f111ab2ff26bd64e8e35e976e41e3 (diff) | |
download | vaadin-framework-ac0f6cc21671f07d05949f2d2e81e70f2c7a4b15.tar.gz vaadin-framework-ac0f6cc21671f07d05949f2d2e81e70f2c7a4b15.zip |
#7182 HierarchicalContainer removeItem and hasChildren do not work together
svn changeset:19374/svn branch:6.6
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/vaadin/tests/server/container/TestHierarchicalContainer.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/src/com/vaadin/tests/server/container/TestHierarchicalContainer.java b/tests/src/com/vaadin/tests/server/container/TestHierarchicalContainer.java index 8f77b25e68..5ca8194646 100644 --- a/tests/src/com/vaadin/tests/server/container/TestHierarchicalContainer.java +++ b/tests/src/com/vaadin/tests/server/container/TestHierarchicalContainer.java @@ -1,5 +1,7 @@ package com.vaadin.tests.server.container;
+import com.vaadin.data.Container.Filter;
+import com.vaadin.data.Item;
import com.vaadin.data.util.HierarchicalContainer;
public class TestHierarchicalContainer extends
@@ -143,6 +145,55 @@ public class TestHierarchicalContainer extends }
+ public void testRemoveLastChild() {
+ HierarchicalContainer c = new HierarchicalContainer();
+
+ c.addItem("root");
+ assertEquals(false, c.hasChildren("root"));
+
+ c.addItem("child");
+ c.setParent("child", "root");
+ assertEquals(true, c.hasChildren("root"));
+
+ c.removeItem("child");
+ assertFalse(c.containsId("child"));
+ assertNull(c.getChildren("root"));
+ assertNull(c.getChildren("child"));
+ assertFalse(c.hasChildren("child"));
+ assertFalse(c.hasChildren("root"));
+ }
+
+ public void testRemoveLastChildFromFiltered() {
+ HierarchicalContainer c = new HierarchicalContainer();
+
+ c.addItem("root");
+ assertEquals(false, c.hasChildren("root"));
+
+ c.addItem("child");
+ c.setParent("child", "root");
+ assertEquals(true, c.hasChildren("root"));
+
+ // Dummy filter that does not remove any items
+ c.addContainerFilter(new Filter() {
+
+ public boolean passesFilter(Object itemId, Item item)
+ throws UnsupportedOperationException {
+ return true;
+ }
+
+ public boolean appliesToProperty(Object propertyId) {
+ return true;
+ }
+ });
+ c.removeItem("child");
+
+ assertFalse(c.containsId("child"));
+ assertNull(c.getChildren("root"));
+ assertNull(c.getChildren("child"));
+ assertFalse(c.hasChildren("child"));
+ assertFalse(c.hasChildren("root"));
+ }
+
public void testHierarchicalFilteringWithoutParents() {
HierarchicalContainer container = new HierarchicalContainer();
|