[Erp5-report] r13416 - in /erp5/trunk/products: ERP5Catalog/tests/ ZSQLCatalog/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 14 15:04:55 CET 2007


Author: jerome
Date: Wed Mar 14 15:04:51 2007
New Revision: 13416

URL: http://svn.erp5.org?rev=13416&view=rev
Log:
Make sure we can search SQL keywords.


Modified:
    erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
    erp5/trunk/products/ZSQLCatalog/SQLCatalog.py

Modified: erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py?rev=13416&r1=13415&r2=13416&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py (original)
+++ erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py Wed Mar 14 15:04:51 2007
@@ -823,7 +823,8 @@
     get_transaction().commit()
     self.tic()
     self.assertNotEquals([], self.getCatalogTool().searchResults(
-                                          portal_type='Person', title=u'A Person'))
+                                     portal_type='Person', title=u'A Person'))
+    
   def test_23_DeleteObjectRaiseErrorWhenQueryFail(self, quiet=quiet, run=run_all_test):
     if not run: return
     if not quiet:
@@ -1617,3 +1618,31 @@
                 ctool.countResults(title='Object Title',
                                    local_roles='Assignee;Auditor')[0][0])
 
+  def test_51_SearchWithKeyWords(self, quiet=quiet, run=run_all_test):
+    if not run: return
+    if not quiet:
+      message = 'Test searching with SQL keywords'
+      ZopeTestCase._print('\n%s ' % message)
+      LOG('Testing... ',0,message)
+
+    person_module = self.getPersonModule()
+    and_ = person_module.newContent(portal_type='Person', title='AND')
+    or_ = person_module.newContent(portal_type='Person', title='OR')
+    like_ = person_module.newContent(portal_type='Person', title='LIKE')
+    select_ = person_module.newContent(portal_type='Person', title='SELECT')
+
+    get_transaction().commit()
+    self.tic()
+    ctool = self.getCatalogTool()
+    self.assertEquals([and_], [x.getObject() for x in
+                                   ctool(portal_type='Person', title='AND')])
+
+    self.assertEquals([or_], [x.getObject() for x in
+                                   ctool(portal_type='Person', title='OR')])
+
+    self.assertEquals([like_], [x.getObject() for x in
+                                   ctool(portal_type='Person', title='LIKE')])
+
+    self.assertEquals([select_], [x.getObject() for x in
+                                   ctool(portal_type='Person', title='SELECT')])
+

Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=13416&r1=13415&r2=13416&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py Wed Mar 14 15:04:51 2007
@@ -286,7 +286,7 @@
       # Refer to _listGlobalActions DCWorkflow patch
       # for example of use
       if isinstance(value, basestring):
-        value = value.split('OR')
+        value = value.split(' OR ')
         value = map(lambda x:x.strip(), value)
       value_list = value
       if isSimpleType(value) or isinstance(value, DateTime):




More information about the Erp5-report mailing list