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());