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:44:53 UTC

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

Author: seelmann
Date: Sat Jan  6 15:44:52 2007
New Revision: 493601

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

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

Modified: directory/trunks/shared/ldap/src/main/antlr/filter-parser.g
URL: http://svn.apache.org/viewvc/directory/trunks/shared/ldap/src/main/antlr/filter-parser.g?view=diff&rev=493601&r1=493600&r2=493601
==============================================================================
--- directory/trunks/shared/ldap/src/main/antlr/filter-parser.g (original)
+++ directory/trunks/shared/ldap/src/main/antlr/filter-parser.g Sat Jan  6 15:44:52 2007
@@ -182,7 +182,7 @@
       {
           children.add( child );
       }
-    )+
+    )*
     {
         node = new BranchNode( AssertionEnum.AND, children );
     }
@@ -207,7 +207,7 @@
       {
           children.add( child );
       }
-    )+
+    )*
     {
         node = new BranchNode( AssertionEnum.OR, children );
     }

Modified: directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java?view=diff&rev=493601&r1=493600&r2=493601
==============================================================================
--- directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java (original)
+++ directory/trunks/shared/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserImplTest.java Sat Jan  6 15:44:52 2007
@@ -74,6 +74,14 @@
     }
 
 
+    public void testAndFilterOneChildOnly() throws IOException, ParseException
+    {
+        BranchNode node = ( BranchNode ) parser.parse( "(& ( ou ~= people ) ) " );
+        assertEquals( 1, node.getChildren().size() );
+        assertEquals( AssertionEnum.AND, node.getOperator() );
+    }
+
+
     public void testOrFilter() throws IOException, ParseException
     {
         BranchNode node = ( BranchNode ) parser.parse( "(| ( ou ~= people ) (age>=30) ) " );
@@ -82,6 +90,14 @@
     }
 
 
+    public void testOrFilterOneChildOnly() throws IOException, ParseException
+    {
+        BranchNode node = ( BranchNode ) parser.parse( "(| (age>=30) ) " );
+        assertEquals( 1, node.getChildren().size() );
+        assertEquals( AssertionEnum.OR, node.getOperator() );
+    }
+
+
     public void testNotFilter() throws IOException, ParseException
     {
         BranchNode node = ( BranchNode ) parser.parse( "( ! (& ( ou ~= people ) (age>=30) ) )" );
@@ -180,11 +196,11 @@
         try
         {
             parser.parse( "ou = people" );
-            
+
             // The parsing should fail
             fail( "should fail with bad filter" );
         }
-        catch( ParseException pe )
+        catch ( ParseException pe )
         {
         }
     }