Michele Vivoda created JXPATH-165:
-------------------------------------

             Summary: Test order and 
JXPathContextReferenceImpl.removeNodePointerFactory
                 Key: JXPATH-165
                 URL: https://issues.apache.org/jira/browse/JXPATH-165
             Project: Commons JXPath
          Issue Type: Improvement
            Reporter: Michele Vivoda
            Priority: Minor


Running the test folder with Eclipse 'run as junit test' one JXPath test 
failed: {{LazyDynaBeanTest.testLazyProperty()}}. The test does not fail when 
run in isolation.   This happens because there is an other test 
{{testStrictLazyDynaBeanPropertyFactory()}} in the same file that registers a 
{{StrictLazyDynaBeanPointerFactory}}, if the test order is not source order 
then test fails. 

Splitting in two test files does not help, still order dependent. 

For this reason I suggest to create a new {{removeNodePointerFactory}} method 
in {{JXPathContextReferenceImpl}}  that could be used in a finally block to 
restore the initial environment. 

Implementation should be straightforward observing the existing code of 
{{addNodePointerFactory}}:
{noformat}
      public static void removeNodePointerFactory(NodePointerFactory factory) {
        synchronized (nodeFactories) {
            nodeFactories.remove(factory);
            nodeFactoryArray = null;
        }
    }
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to