From 28528ea20114b44b1bab6f01041d985c0873ee78 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Wed, 14 Mar 2018 12:32:24 +0100 Subject: [PATCH] cidict: Make iteration over cidict yield same values as keys() --- Lib/ldap/cidict.py | 3 +++ Tests/t_cidict.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Lib/ldap/cidict.py b/Lib/ldap/cidict.py index f7e8d39..3ba2feb 100644 --- a/Lib/ldap/cidict.py +++ b/Lib/ldap/cidict.py @@ -44,6 +44,9 @@ def has_key(self,key): def __contains__(self,key): return IterableUserDict.__contains__(self, key.lower()) + def __iter__(self): + return iter(self.keys()) + def keys(self): return self._keys.values() diff --git a/Tests/t_cidict.py b/Tests/t_cidict.py index 8e5d8d6..f8b993f 100644 --- a/Tests/t_cidict.py +++ b/Tests/t_cidict.py @@ -36,6 +36,8 @@ def test_cidict(self): self.assertEqual(cix.get("xyz", None), 987) cix_keys = sorted(cix.keys()) self.assertEqual(cix_keys, ['AbCDeF','xYZ']) + cix_keys = sorted(cix) + self.assertEqual(cix_keys, ['AbCDeF','xYZ']) cix_items = sorted(cix.items()) self.assertEqual(cix_items, [('AbCDeF',123), ('xYZ',987)]) del cix["abcdEF"]