You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2015/08/28 17:08:47 UTC

svn commit: r1698347 - in /sling/trunk/testing/mocks/jcr-mock/src: main/java/org/apache/sling/testing/mock/jcr/MockSession.java test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java

Author: rombert
Date: Fri Aug 28 15:08:46 2015
New Revision: 1698347

URL: http://svn.apache.org/r1698347
Log:
SLING-4962: getNodes() always returns empty iterator for root node

Modified:
    sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
    sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java

Modified: sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java?rev=1698347&r1=1698346&r2=1698347&view=diff
==============================================================================
--- sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java (original)
+++ sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java Fri Aug 28 15:08:46 2015
@@ -197,8 +197,11 @@ class MockSession implements Session {
     RangeIterator listChildren(final String parentPath, final ItemFilter filter) throws RepositoryException {
         List<Item> children = new ArrayList<Item>();
 
+        //remove trailing slash or make root path / empty string
+        final String path = parentPath.replaceFirst("/$", "");
+
         // build regex pattern for all child paths of parent
-        Pattern pattern = Pattern.compile("^" + Pattern.quote(parentPath) + "/[^/]+$");
+        Pattern pattern = Pattern.compile("^" + Pattern.quote(path) + "/[^/]+$");
 
         // collect child resources
         for (ItemData item : this.items.values()) {

Modified: sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java?rev=1698347&r1=1698346&r2=1698347&view=diff
==============================================================================
--- sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java (original)
+++ sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java Fri Aug 28 15:08:46 2015
@@ -57,6 +57,22 @@ public class MockSessionTest {
     }
 
     @Test
+    public void testRootGetNodes() throws RepositoryException {
+        Session s = MockJcr.newSession();
+        Node root = s.getRootNode();
+        root.addNode("node1");
+        root.addNode("node2");
+
+        int countChildren = 0;
+        NodeIterator iter = s.getRootNode().getNodes();
+        while (iter.hasNext()) {
+            iter.next();
+            countChildren++;
+        }
+        assertEquals(2, countChildren);
+    }
+	
+    @Test
     public void testNodePropertyCreateRead() throws RepositoryException {
         Node rootNode = this.session.getNode("/");
         assertEquals(rootNode, this.session.getRootNode());