Eric Norman created SLING-11789:
-----------------------------------

             Summary: MockNode#orderBefore incorrectly removes commonly 
prefixed child nodes
                 Key: SLING-11789
                 URL: https://issues.apache.org/jira/browse/SLING-11789
             Project: Sling
          Issue Type: Bug
          Components: Testing
            Reporter: Eric Norman
            Assignee: Eric Norman
             Fix For: Testing JCR Mock 1.6.2


The MockNode#orderBefore implementation is using a simple "startsWith" check on 
path strings to find the items to move.  This will match too many items if the 
sibling nodes have names with a common prefix.

For example, for the following scenario child10 should be ordered before 
child100, but what actually happens is both child10 and child100 get removed 
from the parent.

 
{code:java}
Node foo = this.session.getRootNode().addNode("foo");
foo.addNode("child100");
foo.addNode("child10");
foo.addNode("child1");
foo.orderBefore("child10", "child100"); 
{code}
Expected:

The "find all items matching the source" logic in MockSession#orderBefore 
should be changed to match paths that equal the source path exactly or starts 
with the source path with a trailing slash.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to