Commit 5b729732 authored by Sebastien Robin's avatar Sebastien Robin

* add unit test to make sure that parenthesis in strings

  are not a problem for catalog research

* As suggested by Vincent, do not make parenthesis a criterion
  to swith to advanced search. This solve issue when you
  have documents with such titles :
    foo (bar)
  Before, the catalog was looking at title=foo AND title=bar

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@29236 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent f7e12b3f
......@@ -3850,6 +3850,26 @@ VALUES
person1.is_indexable = person2.is_indexable = True
self.assertRaises(ValueError, portal_catalog.catalogObjectList,[person1, person2])
def test_SearchFolderWithParenthesis(self, quiet=quiet):
if not quiet:
message = 'Search Folder With Parenthesis'
ZopeTestCase._print('\n%s ' % message)
LOG('Testing... ',0,message)
person_module = self.getPersonModule()
# Make sure that the catalog will not split it with such research :
# title=foo AND title=bar
title='foo (bar)'
person = person_module.newContent(portal_type='Person',title=title)
person_id = person.getId()
person.immediateReindexObject()
folder_object_list = [x.getObject().getId() for x in person_module.searchFolder()]
self.assertTrue(person_id in folder_object_list)
folder_object_list = [x.getObject().getId() for x in
person_module.searchFolder(title=title)]
self.assertEquals([person_id],folder_object_list)
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestERP5Catalog))
......
......@@ -37,7 +37,10 @@ class AdvancedSearchTextDetector(lexer):
return t
def t_LEFT_PARENTHESE(self, t):
self.found = True
t.type = 'WORD'
return t
def t_RIGHT_PARENTHESE(self, t):
t.type = 'WORD'
return t
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment