broken test in AddEventListener
-------------------------------

                 Key: JCR-1168
                 URL: https://issues.apache.org/jira/browse/JCR-1168
             Project: Jackrabbit
          Issue Type: Bug
          Components: jackrabbit-jcr-tests
            Reporter: Julian Reschke


Here's the test code, comments inline prefixed with "reschke"

    /**
     * Tests if [EMAIL PROTECTED] javax.jcr.observation.Event#NODE_ADDED} is 
created only
     * for the specified path if <code>isDeep</code> is <code>false</code>.
     */
    public void testIsDeepFalseNodeAdded() throws RepositoryException {
        EventResult listener = new EventResult(log);

        // reschke: we are listening for changes at testRoot/nodeName1, with 
isDeep==false 
        obsMgr.addEventListener(listener, Event.NODE_ADDED, testRoot + "/" + 
nodeName1, false, null, null, false);

        // reschke; node at "testRoot/nodeName1" being created, the associated 
parent node for this event is "testRoot"
        Node n = testRootNode.addNode(nodeName1, testNodeType);

        // reschke: node at "testRoot/nodeName1/nodeName2" being created, the 
associated parent node for this event is "testRoot/nodeName1"
        n.addNode(nodeName2);
        testRootNode.save();

        Event[] events = listener.getEvents(DEFAULT_WAIT_TIMEOUT);
        obsMgr.removeEventListener(listener);

        // reschke: test case expects event with path "testRoot/nodeName1"
        checkNodeAdded(events, new String[]{nodeName1});
    }

So, in plain english:

- test case listens for events where the associated parent node equals 
"testRoot/nodeName1", but
- it expects a single event where the Event.getPath() returns 
"testRoot/nodeName1".

This is incorrect (IMHO), because the associated parent node for *that* event 
is "testRoot". 

So the correct test would be to check for:

        checkNodeAdded(events, new String[]{nodeName1 + "/" + nodeName2});

Making this change of course leads to a test failure reported against the RI.

Feedback appreciated.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to