This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.testing.jcr-mock-1.1.10 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-jcr-mock.git
commit 1dbd750ed2cbaea0aebd09e7d681571016239ae9 Author: Robert Munteanu <[email protected]> AuthorDate: Fri Aug 28 15:08:46 2015 +0000 SLING-4962: getNodes() always returns empty iterator for root node git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/jcr-mock@1698347 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/sling/testing/mock/jcr/MockSession.java | 5 ++++- .../apache/sling/testing/mock/jcr/MockSessionTest.java | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java index 45e050d..0499a3c 100644 --- a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java +++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java @@ -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()) { diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java index 9a08aaf..7bbe250 100644 --- a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java +++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java @@ -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()); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
