[Erp5-report] r17681 - /erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Nov 19 14:06:43 CET 2007
Author: jerome
Date: Mon Nov 19 14:06:43 2007
New Revision: 17681
URL: http://svn.erp5.org?rev=17681&view=rev
Log:
tests that ignore_empty_string works as expected with related keys
Modified:
erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
Modified: erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py?rev=17681&r1=17680&r2=17681&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py (original)
+++ erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py Mon Nov 19 14:06:43 2007
@@ -2031,6 +2031,40 @@
ctool(portal_type='Organisation', title=dict(query='Foo%',
key='ExactMatch'))])
+ def test_ignore_empty_string(self):
+ # ERP5Catalog ignore empty strings by default
+ doc_with_title = self._makeOrganisation(title='X')
+ doc_with_empty_title = self._makeOrganisation(title='')
+ ctool = self.getCatalogTool()
+ def searchResults(**kw):
+ kw['portal_type'] = 'Organisation'
+ return set([x.getObject() for x in ctool.searchResults(**kw)])
+
+ # title='' is ignored
+ self.assertEquals(set([doc_with_empty_title, doc_with_title]),
+ searchResults(title=''))
+ # unless we exlicitly say we don't want to ignore empty strings
+ self.assertEquals(set([doc_with_empty_title]),
+ searchResults(ignore_empty_string=0, title=''))
+
+ def test_ignore_empty_string_related_key(self):
+ # ERP5Catalog ignore empty strings by default, also on related keys
+ region_with_empty_title = self.portal.portal_categories.region.newContent(
+ portal_type='Category', title='')
+ doc_with_empty_region_title = self._makeOrganisation(title='X',
+ region_value=region_with_empty_title)
+ doc_without_region = self._makeOrganisation(title='')
+ ctool = self.getCatalogTool()
+ def searchResults(**kw):
+ kw['portal_type'] = 'Organisation'
+ return set([x.getObject() for x in ctool.searchResults(**kw)])
+
+ self.assertEquals(set([doc_with_empty_region_title, doc_without_region]),
+ searchResults(region_title=''))
+ self.assertEquals(set([doc_with_empty_region_title]),
+ searchResults(ignore_empty_string=0, region_title=''))
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestERP5Catalog))
More information about the Erp5-report
mailing list