mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-11 00:31:56 -06:00
179: DictProxy now has __call__() method that iterates through the values; removed __call__() method from NameSpace as it subclasses from DictProxys; DictProxy unit tests now test __call__()
This commit is contained in:
parent
a24f2121d5
commit
ab10f0843b
@ -192,6 +192,14 @@ class DictProxy(SetProxy):
|
||||
"""
|
||||
return self.__d[key]
|
||||
|
||||
def __call__(self):
|
||||
"""
|
||||
Iterates (in ascending order by key) through the values in this
|
||||
container.
|
||||
"""
|
||||
for key in self:
|
||||
yield self.__d[key]
|
||||
|
||||
|
||||
class MagicDict(DictProxy):
|
||||
"""
|
||||
@ -530,14 +538,6 @@ class NameSpace(DictProxy):
|
||||
setattr(self, name, member)
|
||||
yield (name, member)
|
||||
|
||||
def __call__(self):
|
||||
"""
|
||||
Iterates (in ascending order by name) through the members in this
|
||||
NameSpace.
|
||||
"""
|
||||
for key in self:
|
||||
yield self[key]
|
||||
|
||||
def __repr__(self):
|
||||
"""
|
||||
Returns pseudo-valid Python expression that could be used to construct
|
||||
|
@ -192,6 +192,7 @@ class test_DictProxy(ClassChecker):
|
||||
# Check initial state
|
||||
assert len(proxy) == len(target)
|
||||
assert list(proxy) == sorted(target)
|
||||
assert list(proxy()) == [target[k] for k in sorted(target)]
|
||||
assert key not in proxy
|
||||
raises(KeyError, getitem, proxy, key)
|
||||
|
||||
@ -199,6 +200,7 @@ class test_DictProxy(ClassChecker):
|
||||
target[key] = val
|
||||
assert len(proxy) == len(target)
|
||||
assert list(proxy) == sorted(target)
|
||||
assert list(proxy()) == [target[k] for k in sorted(target)]
|
||||
|
||||
# Verify TypeError is raised trying to set/del via proxy
|
||||
raises(TypeError, setitem, proxy, key, val)
|
||||
|
Loading…
Reference in New Issue
Block a user