[Checkins] SVN: zc.dict/trunk/src/zc/dict/dict. Bugfix: don't
increase length if item already exists.
Albertas Agejevas
alga at pov.lt
Wed Jul 4 10:29:41 EDT 2007
Log message for revision 77393:
Bugfix: don't increase length if item already exists.
Changed:
U zc.dict/trunk/src/zc/dict/dict.py
U zc.dict/trunk/src/zc/dict/dict.txt
-=-
Modified: zc.dict/trunk/src/zc/dict/dict.py
===================================================================
--- zc.dict/trunk/src/zc/dict/dict.py 2007-07-04 09:29:32 UTC (rev 77392)
+++ zc.dict/trunk/src/zc/dict/dict.py 2007-07-04 14:29:40 UTC (rev 77393)
@@ -33,8 +33,12 @@
self.update(kwargs)
def __setitem__(self, key, value):
- self.__len += 1
+ delta = 1
+ if key in self._data:
+ delta = 0
self._data[key] = value
+ if delta:
+ self.__len += delta
def __delitem__(self, key):
del self._data[key]
Modified: zc.dict/trunk/src/zc/dict/dict.txt
===================================================================
--- zc.dict/trunk/src/zc/dict/dict.txt 2007-07-04 09:29:32 UTC (rev 77392)
+++ zc.dict/trunk/src/zc/dict/dict.txt 2007-07-04 14:29:40 UTC (rev 77393)
@@ -110,3 +110,15 @@
>>> len(d)
0
+
+Regression tests
+----------------
+
+When setting an item that's already in the dict, the length is not
+increased:
+
+ >>> d.clear()
+ >>> d['foo'] = 'bar'
+ >>> d['foo'] = 'baz'
+ >>> len(d)
+ 1
More information about the Checkins
mailing list