rdonkin     2003/10/13 13:52:21

  Modified:    digester/src/java/org/apache/commons/digester
                        ExtendedBaseRules.java
               digester/src/test/org/apache/commons/digester
                        EBRTestCase.java
  Log:
  Fixed bug with extended rules.
  
  Revision  Changes    Path
  1.9       +5 -5      
jakarta-commons/digester/src/java/org/apache/commons/digester/ExtendedBaseRules.java
  
  Index: ExtendedBaseRules.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/ExtendedBaseRules.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ExtendedBaseRules.java    9 Oct 2003 21:09:46 -0000       1.8
  +++ ExtendedBaseRules.java    13 Oct 2003 20:52:21 -0000      1.9
  @@ -285,7 +285,7 @@
                   } else {
                       // we don't have a match yet - so try exact ancester
                       //
  -                    rulesList = findExactAncesterMatch(parentPattern);
  +                    rulesList = findExactAncesterMatch(pattern);
                       if (rulesList != null) {
                           // we have a match!
                           // so ignore all basic matches from now on
  
  
  
  1.10      +26 -5     
jakarta-commons/digester/src/test/org/apache/commons/digester/EBRTestCase.java
  
  Index: EBRTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/EBRTestCase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- EBRTestCase.java  9 Oct 2003 21:09:48 -0000       1.9
  +++ EBRTestCase.java  13 Oct 2003 20:52:21 -0000      1.10
  @@ -386,7 +386,6 @@
       }
       
       public void testAncesterMatch() throws Exception {
  -        System.out.println("Starting ancester match...");
           // test fixed root ancester
           digester.getRules().clear();
           
  @@ -446,5 +445,27 @@
           assertEquals("Wild ancester match (2)", 1, list.size());
           assertEquals("Match missed (5)", "star-b-c-star" , ((TestRule) 
list.get(0)).getIdentifier());    
           System.out.println("Finished ancester match.");
  +    }
  +    
  +    public void testLongMatch() {
  +        
  +        digester.getRules().clear();
  +
  +        digester.addRule("a/b/c/d/*", new TestRule("a-b-c-d-star"));
  +        
  +        List list = digester.getRules().match(null, "a/b/c/d/e"); 
  +        assertEquals("Long match (1)", 1, list.size());
  +        assertEquals("Match missed (1)", "a-b-c-d-star" , ((TestRule) 
list.get(0)).getIdentifier()); 
  +        
  +        list = digester.getRules().match(null, "a/b/c/d/e/f");
  +        assertEquals("Long match (2)", 1, list.size());
  +        assertEquals("Match missed (2)", "a-b-c-d-star" , ((TestRule) 
list.get(0)).getIdentifier()); 
  +        
  +        list = digester.getRules().match(null, "a/b/c/d/e/f/g");
  +        assertEquals("Long match (3)", 1, list.size());
  +        assertEquals("Match missed (3)", "a-b-c-d-star" , ((TestRule) 
list.get(0)).getIdentifier()); 
  +        
  +        list = digester.getRules().match(null, "a/b/c/d");
  +        assertEquals("Long match (4)", 0, list.size());
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to