summaryrefslogtreecommitdiff
path: root/Lib/test/test_collections.py
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2010-07-11 18:53:06 +0000
committerMark Dickinson <dickinsm@gmail.com>2010-07-11 18:53:06 +0000
commitad93ad739b2501f9d5d4bb847bb7773ed1e623e8 (patch)
tree19d2c207665942f366e60aaf578f179dcec5f2f6 /Lib/test/test_collections.py
parentd3d54e4a6e8a25ba5ac4c653fe786c0b3ba5587e (diff)
downloadcpython-ad93ad739b2501f9d5d4bb847bb7773ed1e623e8.tar.gz
Issue #9137: Fix issue in MutableMapping.update, which incorrectly
treated keyword arguments called 'self' or 'other' specially.
Diffstat (limited to 'Lib/test/test_collections.py')
-rw-r--r--Lib/test/test_collections.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index e595b75427..69c4a9f173 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -758,6 +758,19 @@ class TestOrderedDict(unittest.TestCase):
od.update([('a', 1), ('b', 2), ('c', 9), ('d', 4)], c=3, e=5)
self.assertEqual(list(od.items()), pairs) # mixed input
+ # Issue 9137: Named argument called 'other' or 'self'
+ # shouldn't be treated specially.
+ od = OrderedDict()
+ od.update(self=23)
+ self.assertEqual(list(od.items()), [('self', 23)])
+ od = OrderedDict()
+ od.update(other={})
+ self.assertEqual(list(od.items()), [('other', {})])
+ od = OrderedDict()
+ od.update(red=5, blue=6, other=7, self=8)
+ self.assertEqual(sorted(list(od.items())),
+ [('blue', 6), ('other', 7), ('red', 5), ('self', 8)])
+
# Make sure that direct calls to update do not clear previous contents
# add that updates items are not moved to the end
d = OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 44), ('e', 55)])