[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