[Checkins] SVN: zope.component/tseaver-test_cleanup/ Moar getAdapters doctest to Sphinx + unittests conversion.
Tres Seaver
cvs-admin at zope.org
Mon Jun 18 18:17:26 UTC 2012
Log message for revision 126959:
Moar getAdapters doctest to Sphinx + unittests conversion.
Changed:
_U zope.component/tseaver-test_cleanup/
U zope.component/tseaver-test_cleanup/docs/api.rst
U zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py
U zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py
-=-
Modified: zope.component/tseaver-test_cleanup/docs/api.rst
===================================================================
--- zope.component/tseaver-test_cleanup/docs/api.rst 2012-06-18 18:17:19 UTC (rev 126958)
+++ zope.component/tseaver-test_cleanup/docs/api.rst 2012-06-18 18:17:23 UTC (rev 126959)
@@ -724,6 +724,40 @@
.. autofunction:: zope.component.getAdapters
+It is sometimes desireable to get a list of all adapters that are
+registered for a particular output interface, given a set of
+objects.
+
+Let's register some adapters first:
+
+.. doctest::
+
+ >>> class I5(I1):
+ ... pass
+ >>> gsm.registerAdapter(Comp, [I1], I5, '')
+ >>> gsm.registerAdapter(Comp, [None], I5, 'foo')
+
+Now we get all the adapters that are registered for ``ob`` that provide
+``I5``:
+
+.. doctest::
+
+ >>> from zope.component import getAdapters
+ >>> adapters = sorted(getAdapters((ob,), I5))
+ >>> [(name, adapter.__class__.__name__) for name, adapter in adapters]
+ [(u'', 'Comp'), (u'foo', 'Comp')]
+
+Note that the output doesn't include None values. If an adapter
+factory returns None, it is as if it wasn't present.
+
+.. doctest::
+
+ >>> gsm.registerAdapter(lambda context: None, [I1], I5, 'nah')
+ >>> adapters = sorted(getAdapters((ob,), I5))
+ >>> [(name, adapter.__class__.__name__) for name, adapter in adapters]
+ [(u'', 'Comp'), (u'foo', 'Comp')]
+
+
Subscription Adapters
#####################
Modified: zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py
===================================================================
--- zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py 2012-06-18 18:17:19 UTC (rev 126958)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py 2012-06-18 18:17:23 UTC (rev 126959)
@@ -191,14 +191,14 @@
getGlobalSiteManager().registerUtility(obj1, IFoo)
self.assertTrue(queryUtility(IFoo, context=context) is obj2)
- def test_getUtiltiesFor_nonesuch(self):
+ def test_getUtilitiesFor_nonesuch(self):
from zope.interface import Interface
from zope.component import getUtilitiesFor
class IFoo(Interface):
pass
self.assertEqual(list(getUtilitiesFor(IFoo)), [])
- def test_getUtiltiesFor_anonymous_hit(self):
+ def test_getUtilitiesFor_hit(self):
from zope.interface import Interface
from zope.component import getGlobalSiteManager
from zope.component import getUtilitiesFor
@@ -852,7 +852,35 @@
self.assertTrue(adapted.first is bar)
self.assertTrue(adapted.second is baz)
+ def test_getAdapters_nonesuch(self):
+ from zope.interface import Interface
+ from zope.component import getAdapters
+ class IFoo(Interface):
+ pass
+ self.assertEqual(list(getAdapters((object(),), IFoo)), [])
+ def test_getAdapters_hit(self):
+ from zope.interface import Interface
+ from zope.component import getGlobalSiteManager
+ from zope.component import getAdapters
+ class IFoo(Interface):
+ pass
+ class BarAdapter(object):
+ def __init__(self, context):
+ self.context = context
+ class BazAdapter(object):
+ def __init__(self, context):
+ self.context = context
+ gsm = getGlobalSiteManager()
+ gsm.registerAdapter(BarAdapter, (None,), IFoo)
+ gsm.registerAdapter(BazAdapter, (None,), IFoo, name='bar')
+ tuples = list(getAdapters((object(),), IFoo))
+ self.assertEqual(len(tuples), 2)
+ names = [(x, y.__class__.__name__) for x, y in tuples]
+ self.assertTrue(('', 'BarAdapter') in names)
+ self.assertTrue(('bar', 'BazAdapter') in names)
+
+
IMyUtility = None
def _makeMyUtility(name, sm):
global IMyUtility
Modified: zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py
===================================================================
--- zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py 2012-06-18 18:17:19 UTC (rev 126958)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py 2012-06-18 18:17:23 UTC (rev 126959)
@@ -165,38 +165,6 @@
if interface is IComponentLookup:
return self.sitemanager
-def testGetAdapters():
- """It is sometimes desireable to get a list of all adapters that are
- registered for a particular output interface, given a set of
- objects.
-
- Let's register some adapters first:
-
- >>> from zope.component.testing import setUp, tearDown
- >>> setUp()
- >>> component.getGlobalSiteManager().registerAdapter(
- ... Comp, [I1], I2, '')
- >>> component.getGlobalSiteManager().registerAdapter(
- ... Comp, [None], I2, 'foo')
-
- Now we get all the adapters that are registered for `ob` that provide
- `I2`:
-
- >>> adapters = sorted(component.getAdapters((ob,), I2))
- >>> [(name, adapter.__class__.__name__) for name, adapter in adapters]
- [(u'', 'Comp'), (u'foo', 'Comp')]
-
- Note that the output doesn't include None values. If an adapter
- factory returns None, it is as if it wasn't present.
-
- >>> component.getGlobalSiteManager().registerAdapter(
- ... lambda context: None, [I1], I2, 'nah')
- >>> adapters = sorted(component.getAdapters((ob,), I2))
- >>> [(name, adapter.__class__.__name__) for name, adapter in adapters]
- [(u'', 'Comp'), (u'foo', 'Comp')]
- >>> tearDown()
- """
-
def testNotBrokenWhenNoSiteManager():
"""Make sure that the adapter lookup is not broken, when no site manager
is available.
More information about the checkins
mailing list