You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2007/01/07 00:42:25 UTC

svn commit: r493597 - in /directory/branches/shared/0.9.5/ldap/src: main/antlr/filter-parser.g test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java

Author: seelmann
Date: Sat Jan  6 15:42:24 2007
New Revision: 493597

URL: http://svn.apache.org/viewvc?view=rev&rev=493597
Log:
Fix for DIRSERVER-813, added test

Modified:
    directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g
    directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java

Modified: directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g
URL: http://svn.apache.org/viewvc/directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g?view=diff&rev=493597&r1=493596&r2=493597
==============================================================================
--- directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g (original)
+++ directory/branches/shared/0.9.5/ldap/src/main/antlr/filter-parser.g Sat Jan  6 15:42:24 2007
@@ -181,7 +181,7 @@
       {
           children.add( child );
       }
-    )+
+    )*
     {
         node = new BranchNode( AbstractExprNode.AND, children );
     }
@@ -206,7 +206,7 @@
       {
           children.add( child );
       }
-    )+
+    )*
     {
         node = new BranchNode( AbstractExprNode.OR, children );
     }

Modified: directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java
URL: http://svn.apache.org/viewvc/directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java?view=diff&rev=493597&r1=493596&r2=493597
==============================================================================
--- directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java (original)
+++ directory/branches/shared/0.9.5/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java Sat Jan  6 15:42:24 2007
@@ -75,10 +75,26 @@
     }
 
 
+    public void testAndFilterOneChildOnly() throws IOException, ParseException
+    {
+        BranchNode node = ( BranchNode ) parser.parse( "(& ( ou ~= people ) ) " );
+        assertEquals( 1, node.getChildren().size() );
+        assertEquals( AbstractExprNode.AND, node.getOperator() );
+    }
+
+
     public void testOrFilter() throws IOException, ParseException
     {
         BranchNode node = ( BranchNode ) parser.parse( "(| ( ou ~= people ) (age>=30) ) " );
         assertEquals( 2, node.getChildren().size() );
+        assertEquals( AbstractExprNode.OR, node.getOperator() );
+    }
+
+
+    public void testOrFilterOneChildOnly() throws IOException, ParseException
+    {
+        BranchNode node = ( BranchNode ) parser.parse( "(| (age>=30) ) " );
+        assertEquals( 1, node.getChildren().size() );
         assertEquals( AbstractExprNode.OR, node.getOperator() );
     }