[Zope-Checkins] SVN: Zope/trunk/lib/python/Products/ZCatalog/ fixed
reindexing of objects evaluating to False
Christian Zagrodnick
cz at gocept.com
Tue May 3 08:59:43 EDT 2005
Log message for revision 30234:
fixed reindexing of objects evaluating to False
Changed:
U Zope/trunk/lib/python/Products/ZCatalog/ZCatalog.py
U Zope/trunk/lib/python/Products/ZCatalog/tests/testCatalog.py
-=-
Modified: Zope/trunk/lib/python/Products/ZCatalog/ZCatalog.py
===================================================================
--- Zope/trunk/lib/python/Products/ZCatalog/ZCatalog.py 2005-05-03 08:09:03 UTC (rev 30233)
+++ Zope/trunk/lib/python/Products/ZCatalog/ZCatalog.py 2005-05-03 12:59:42 UTC (rev 30234)
@@ -487,7 +487,7 @@
if pghandler: pghandler.report(i)
obj = self.resolve_path(p)
- if not obj:
+ if obj is None:
obj = self.resolve_url(p, REQUEST)
if obj is None:
LOG.error('reindexIndex could not resolve '
Modified: Zope/trunk/lib/python/Products/ZCatalog/tests/testCatalog.py
===================================================================
--- Zope/trunk/lib/python/Products/ZCatalog/tests/testCatalog.py 2005-05-03 08:09:03 UTC (rev 30233)
+++ Zope/trunk/lib/python/Products/ZCatalog/tests/testCatalog.py 2005-05-03 12:59:42 UTC (rev 30234)
@@ -155,6 +155,12 @@
def title(self):
return '%d' % self.num
+class zdummyFalse(zdummy):
+
+ def __nonzero__(self):
+ return False
+
+
class TestZCatalog(unittest.TestCase):
def setUp(self):
from Products.ZCatalog.ZCatalog import ZCatalog
@@ -171,7 +177,7 @@
ob = zdummy(x)
self.d[str(x)] = ob
self._catalog.catalog_object(ob, str(x))
-
+
def _resolve_num(self, num):
return self.d[num]
@@ -212,6 +218,19 @@
self._catalog.reindexIndex('title', {})
data = self._catalog.getMetadataForUID('0')
self.assertEqual(data['title'], '0')
+
+ def testReindexIndexesFalse(self):
+ # setup
+ false_id = self.upper + 1
+ ob = zdummyFalse(false_id)
+ self.d[str(false_id)] = ob
+ self._catalog.catalog_object(ob, str(false_id))
+ # test, object evaluates to false; there was bug which caused the
+ # object to be removed from index
+ ob.num = 9999
+ self._catalog.reindexIndex('title', {})
+ result = self._catalog(title='9999')
+ self.assertEquals(1, len(result))
def test_interface(self):
from Products.ZCatalog.IZCatalog import IZCatalog
More information about the Zope-Checkins
mailing list