mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -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]
|
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):
|
class MagicDict(DictProxy):
|
||||||
"""
|
"""
|
||||||
@ -530,14 +538,6 @@ class NameSpace(DictProxy):
|
|||||||
setattr(self, name, member)
|
setattr(self, name, member)
|
||||||
yield (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):
|
def __repr__(self):
|
||||||
"""
|
"""
|
||||||
Returns pseudo-valid Python expression that could be used to construct
|
Returns pseudo-valid Python expression that could be used to construct
|
||||||
|
@ -192,6 +192,7 @@ class test_DictProxy(ClassChecker):
|
|||||||
# Check initial state
|
# Check initial state
|
||||||
assert len(proxy) == len(target)
|
assert len(proxy) == len(target)
|
||||||
assert list(proxy) == sorted(target)
|
assert list(proxy) == sorted(target)
|
||||||
|
assert list(proxy()) == [target[k] for k in sorted(target)]
|
||||||
assert key not in proxy
|
assert key not in proxy
|
||||||
raises(KeyError, getitem, proxy, key)
|
raises(KeyError, getitem, proxy, key)
|
||||||
|
|
||||||
@ -199,6 +200,7 @@ class test_DictProxy(ClassChecker):
|
|||||||
target[key] = val
|
target[key] = val
|
||||||
assert len(proxy) == len(target)
|
assert len(proxy) == len(target)
|
||||||
assert list(proxy) == sorted(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
|
# Verify TypeError is raised trying to set/del via proxy
|
||||||
raises(TypeError, setitem, proxy, key, val)
|
raises(TypeError, setitem, proxy, key, val)
|
||||||
|
Loading…
Reference in New Issue
Block a user