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 2017/11/07 10:18:21 UTC
[sling-org-apache-sling-testing-jcr-mock] 25/27: SLING-4962:
getNodes() always returns empty iterator for root node
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 <ro...@apache.org>
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
"commits@sling.apache.org" <co...@sling.apache.org>.