Ate Douma pushed to branch master at cms-community / hippo-repository

Commits:
99e40f8e by Ate Douma at 2016-08-17T01:12:25+02:00
REPO-1549: MockNode#remove must also remove empty parent.child (list)

- - - - -


2 changed files:

- testutils/src/main/java/org/onehippo/repository/mock/MockNode.java
- testutils/src/test/java/org/onehippo/repository/mock/MockNodeTest.java


Changes:

=====================================
testutils/src/main/java/org/onehippo/repository/mock/MockNode.java
=====================================
--- a/testutils/src/main/java/org/onehippo/repository/mock/MockNode.java
+++ b/testutils/src/main/java/org/onehippo/repository/mock/MockNode.java
@@ -254,6 +254,9 @@ public class MockNode extends MockItem implements HippoNode 
{
             List<MockNode> childList = parent.children.get(getName());
             if (childList != null) {
                 childList.remove(this);
+                if (childList.isEmpty()) {
+                    parent.children.remove(getName());
+                }
             }
         }
         setParent(null);


=====================================
testutils/src/test/java/org/onehippo/repository/mock/MockNodeTest.java
=====================================
--- a/testutils/src/test/java/org/onehippo/repository/mock/MockNodeTest.java
+++ b/testutils/src/test/java/org/onehippo/repository/mock/MockNodeTest.java
@@ -367,6 +367,22 @@ public class MockNodeTest {
     }
 
     @Test
+    public void testRemoveNodeRemovesParentChild() throws RepositoryException {
+        final MockNode root = MockNode.root();
+        final Node child = root.addNode("child", "nt:unstructured");
+
+        assertTrue(root.hasNode("child"));
+        assertTrue(root.getNodes().hasNext());
+        assertTrue(root.hasNodes());
+
+        child.remove();
+
+        assertFalse(root.hasNode("child"));
+        assertFalse(root.getNodes().hasNext());
+        assertFalse(root.hasNodes());
+    }
+
+    @Test
     public void rootCanBeRemoved() throws RepositoryException {
         MockNode.root().remove();
     }



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-repository/commit/99e40f8e8536ad0b9b1d50956ffe5d04e665cc95
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to