[py-svn] r63188 - in py/trunk/py: . misc/testing
hpk at codespeak.net
hpk at codespeak.net
Sat Mar 21 16:14:23 CET 2009
Author: hpk
Date: Sat Mar 21 16:14:22 2009
New Revision: 63188
Modified:
py/trunk/py/_com.py
py/trunk/py/misc/testing/test_com.py
Log:
allow reversed retrieval of methods
Modified: py/trunk/py/_com.py
==============================================================================
--- py/trunk/py/_com.py (original)
+++ py/trunk/py/_com.py Sat Mar 21 16:14:22 2009
@@ -120,7 +120,7 @@
def isregistered(self, plugin):
return plugin in self._plugins
- def listattr(self, attrname, plugins=None, extra=()):
+ def listattr(self, attrname, plugins=None, extra=(), reverse=False):
l = []
if plugins is None:
plugins = self._plugins
@@ -131,6 +131,8 @@
l.append(getattr(plugin, attrname))
except AttributeError:
continue
+ if reverse:
+ l.reverse()
return l
def call_each(self, methname, *args, **kwargs):
Modified: py/trunk/py/misc/testing/test_com.py
==============================================================================
--- py/trunk/py/misc/testing/test_com.py (original)
+++ py/trunk/py/misc/testing/test_com.py Sat Mar 21 16:14:22 2009
@@ -154,14 +154,18 @@
def test_listattr(self):
plugins = PyPlugins()
class api1:
- x = 42
- class api2:
x = 41
+ class api2:
+ x = 42
+ class api3:
+ x = 43
plugins.register(api1())
plugins.register(api2())
+ plugins.register(api3())
l = list(plugins.listattr('x'))
- l.sort()
- assert l == [41, 42]
+ assert l == [41, 42, 43]
+ l = list(plugins.listattr('x', reverse=True))
+ assert l == [43, 42, 41]
def test_notify_anonymous_ordered(self):
plugins = PyPlugins()
More information about the pytest-commit
mailing list