[Zope-Checkins] SVN: Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/ Added test case for dictionary-style attribute access (like record['foo'], and fixed __setitem__ functionality which was broken.
Brad Allen
brad at allendev.com
Sat Feb 6 20:03:56 EST 2010
Log message for revision 108851:
Added test case for dictionary-style attribute access (like record['foo'], and fixed __setitem__ functionality which was broken.
Changed:
U Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/Results.py
U Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/tests/test_results.py
-=-
Modified: Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/Results.py
===================================================================
--- Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/Results.py 2010-02-06 18:59:43 UTC (rev 108850)
+++ Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/Results.py 2010-02-07 01:03:55 UTC (rev 108851)
@@ -126,9 +126,9 @@
if uppercase != name:
cls.register_alias(name, uppercase)
- def __get_item__(self, key):
+ def __getitem__(self, key):
try:
- return namedtuple_cls[key]
+ return namedtuple_cls.__getitem__(self,key)
except TypeError:
return self.get_item_by_name(key)
Modified: Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/tests/test_results.py
===================================================================
--- Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/tests/test_results.py 2010-02-06 18:59:43 UTC (rev 108850)
+++ Zope/branches/zeomega-2.11-memory-fixes/lib/python/Shared/DC/ZRDB/tests/test_results.py 2010-02-07 01:03:55 UTC (rev 108851)
@@ -70,6 +70,19 @@
self.assertEqual(row.STRING, 'string2')
self.assertEqual(row.INT, 2)
+ def test_getitem_by_name(self):
+ ob = self._makeOne((self.columns, self.data))
+ row = ob[0]
+ self.assertEqual(row['string'], 'string1')
+ self.assertEqual(row['int'], 1)
+ self.assertEqual(row['STRING'], 'string1')
+ self.assertEqual(row['INT'], 1)
+ row = ob[1]
+ self.assertEqual(row['string'], 'string2')
+ self.assertEqual(row['int'], 2)
+ self.assertEqual(row['STRING'], 'string2')
+ self.assertEqual(row['INT'], 2)
+
def test_suppliedbrain(self):
ob = self._makeOne((self.columns, self.data), brains=Brain)
row = ob[0]
More information about the Zope-Checkins
mailing list