[Erp5-report] r40393 vincent - in /erp5/trunk/products/ZSQLCatalog: SearchText/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Nov 18 18:36:31 CET 2010


Author: vincent
Date: Thu Nov 18 18:36:31 2010
New Revision: 40393

URL: http://svn.erp5.org?rev=40393&view=rev
Log:
Fix capitalised words starting with an operator name.

Word prefix used to be detected as an actual operator.
Add a test.

Modified:
    erp5/trunk/products/ZSQLCatalog/SearchText/lexer.py
    erp5/trunk/products/ZSQLCatalog/tests/testSQLCatalog.py

Modified: erp5/trunk/products/ZSQLCatalog/SearchText/lexer.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchText/lexer.py?rev=40393&r1=40392&r2=40393&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchText/lexer.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchText/lexer.py [utf8] Thu Nov 18 18:36:31 2010
@@ -112,15 +112,15 @@ class lexer(object):
     return t
 
   def t_OR(self, t):
-    r'OR'
+    r'OR[ ]'
     return t
 
   def t_AND(self, t):
-    r'AND'
+    r'AND[ ]'
     return t
 
   def t_NOT(self, t):
-    r'NOT'
+    r'NOT[ ]'
     return t
 
   def t_WORD(self, t):

Modified: erp5/trunk/products/ZSQLCatalog/tests/testSQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/tests/testSQLCatalog.py?rev=40393&r1=40392&r2=40393&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/tests/testSQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/tests/testSQLCatalog.py [utf8] Thu Nov 18 18:36:31 2010
@@ -646,6 +646,15 @@ class TestSQLCatalog(unittest.TestCase):
       order_by_expression = sql_expression.getOrderByExpression()
       self.assertTrue('MATCH' in order_by_expression, (order_by_expression, direction))
 
+  def test_logicalOperators(self):
+    self.catalog(ReferenceQuery(ReferenceQuery(operator='=', default='AN ORB'),
+        operator='and'),
+      {'default': 'AN ORB'})
+    self.catalog(ReferenceQuery(
+        ReferenceQuery(operator='in', default=['AN', 'ORB']),
+        operator='and'),
+      {'default': 'AN OR ORB'})
+
 ##return catalog(title=Query(title='a', operator='not'))
 #return catalog(title={'query': 'a', 'operator': 'not'})
 #return catalog(title={'query': ['a', 'b'], 'operator': 'not'})




More information about the Erp5-report mailing list