[Checkins] SVN: zope.component/tseaver-test_cleanup/ Moar {get, query}Adapter doctest to Sphinx + unittests conversion.

Tres Seaver cvs-admin at zope.org
Mon Jun 18 18:17:11 UTC 2012


Log message for revision 126955:
  Moar {get,query}Adapter 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:03 UTC (rev 126954)
+++ zope.component/tseaver-test_cleanup/docs/api.rst	2012-06-18 18:17:08 UTC (rev 126955)
@@ -395,8 +395,8 @@
 
 .. autofunction:: zope.component.queryAdapterInContext
 
-The :function:`~zope.component.getAdapterInContext` and
-:function:`~zope.component.queryAdapterInContext` APIs first check the
+The :func:`~zope.component.getAdapterInContext` and
+:func:`~zope.component.queryAdapterInContext` APIs first check the
 context object to see if it already conforms to the requested interface.
 If so, the object is returned immediately.  Otherwise, the adapter factory
 is looked up in the site manager, and called.
@@ -470,7 +470,7 @@
    Traceback (most recent call last):
    ...
    ComponentLookupError: (<Component implementing 'I1'>,
-                          <InterfaceClass zope.component.tests.test_doctests.I4>)
+                          <InterfaceClass ...I4>)
 
 While the `queryAdapterInContext` API returns the default:
 
@@ -556,6 +556,35 @@
    >>> adapter.context is ob
    True
 
+If we search using a non-anonymous name, before registering:
+
+.. doctest::
+
+   >>> getAdapter(ob, I2, 'named')
+   Traceback (most recent call last):
+   ...
+   ComponentLookupError: (<instance Ob>,
+                          <InterfaceClass ....I2>,
+                          'named')
+   >>> queryAdapter(ob, I2, 'named', '<default>')
+   '<default>'
+
+After registering under that name:
+
+.. doctest::
+
+   >>> gsm.registerAdapter(Comp, (I1,), I2, 'named')
+   >>> adapter = getAdapter(ob, I2, 'named')
+   >>> adapter.__class__ is Comp
+   True
+   >>> adapter.context is ob
+   True
+   >>> adapter = queryAdapter(ob, I2, 'named')
+   >>> adapter.__class__ is Comp
+   True
+   >>> adapter.context is ob
+   True
+
 .. autofunction:: zope.component.getMultiAdapter
 
 .. autofunction:: zope.component.queryMultiAdapter

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:03 UTC (rev 126954)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py	2012-06-18 18:17:08 UTC (rev 126955)
@@ -300,6 +300,111 @@
         self.assertTrue(queryNextUtility(sm1, IMyUtility, 'myutil')
                                             is gutil)
 
+    def test_getAdapterInContext_miss(self):
+        from zope.interface import Interface
+        from zope.component import getAdapterInContext
+        from zope.component.interfaces import ComponentLookupError
+        class IFoo(Interface):
+            pass
+        self.assertRaises(ComponentLookupError,
+                          getAdapterInContext, object, IFoo, context=None)
+
+    def test_getAdapterInContext_hit_via_sm(self):
+        from zope.interface import Interface
+        from zope.interface import implementer
+        from zope.interface.registry import Components
+        from zope.component import getGlobalSiteManager
+        from zope.component import getAdapterInContext
+        from zope.component.tests.test_doctests \
+            import ConformsToIComponentLookup
+        class IFoo(Interface):
+            pass
+        class IBar(Interface):
+            pass
+        @implementer(IFoo)
+        class Global(object):
+            def __init__(self, context):
+                self.context = context
+        @implementer(IFoo)
+        class Local(object):
+            def __init__(self, context):
+                self.context = context
+        @implementer(IBar)
+        class Bar(object):
+            pass
+        class Context(ConformsToIComponentLookup):
+            def __init__(self, sm):
+                self.sitemanager = sm
+        gsm = getGlobalSiteManager()
+        gsm.registerAdapter(Global, (IBar,), IFoo, '')
+        sm1 = Components('sm1', bases=(gsm, ))
+        sm1.registerAdapter(Local, (IBar,), IFoo, '')
+        bar = Bar()
+        adapted = getAdapterInContext(bar, IFoo, context=Context(sm1))
+        self.assertTrue(adapted.__class__ is Local)
+        self.assertTrue(adapted.context is bar)
+
+    def test_queryAdapterInContext_miss(self):
+        from zope.interface import Interface
+        from zope.component import queryAdapterInContext
+        class IFoo(Interface):
+            pass
+        self.assertEqual(
+            queryAdapterInContext(object, IFoo, context=None), None)
+
+    def test_queryAdapterInContext_w_object_conforming(self):
+        from zope.interface import Interface
+        from zope.component import queryAdapterInContext
+        class IFoo(Interface):
+            pass
+        _adapted = object()
+        class Foo(object):
+            def __conform__(self, iface, default=None):
+                if iface is IFoo:
+                    return _adapted
+                return default
+        self.assertTrue(
+                queryAdapterInContext(Foo(), IFoo, context=None) is _adapted)
+
+    def test_queryAdapterInContext___conform___raises_TypeError_via_class(self):
+        from zope.interface import Interface
+        from zope.component import queryAdapterInContext
+        class IFoo(Interface):
+            pass
+        _adapted = object()
+        class Foo(object):
+            def __conform__(self, iface, default=None):
+                if iface is IFoo:
+                    return _adapted
+                return default
+        # call via class, triggering TypeError
+        self.assertEqual(queryAdapterInContext(Foo, IFoo, context=None), None)
+
+    def test_queryAdapterInContext___conform___raises_TypeError_via_inst(self):
+        from zope.interface import Interface
+        from zope.component import queryAdapterInContext
+        class IFoo(Interface):
+            pass
+        _adapted = object()
+        class Foo(object):
+            def __conform__(self, iface, default=None):
+                raise TypeError
+        self.assertRaises(TypeError,
+                         queryAdapterInContext, Foo(), IFoo, context=None)
+
+    def test_queryAdapterInContext_w_object_implementing(self):
+        from zope.interface import Interface
+        from zope.interface import implementer
+        from zope.component import queryAdapterInContext
+        class IFoo(Interface):
+            pass
+        @implementer(IFoo)
+        class Foo(object):
+              pass
+        foo = Foo()
+        self.assertTrue(
+                queryAdapterInContext(foo, IFoo, context=None) is foo)
+
     def test_getAdapter_anonymous_nonesuch(self):
         from zope.interface import Interface
         from zope.component import getAdapter
@@ -454,112 +559,7 @@
         self.assertTrue(adapted.__class__ is Local)
         self.assertTrue(adapted.context is bar)
 
-    def test_getAdapterInContext_miss(self):
-        from zope.interface import Interface
-        from zope.component import getAdapterInContext
-        from zope.component.interfaces import ComponentLookupError
-        class IFoo(Interface):
-            pass
-        self.assertRaises(ComponentLookupError,
-                          getAdapterInContext, object, IFoo, context=None)
 
-    def test_getAdapterInContext_hit_via_sm(self):
-        from zope.interface import Interface
-        from zope.interface import implementer
-        from zope.interface.registry import Components
-        from zope.component import getGlobalSiteManager
-        from zope.component import getAdapterInContext
-        from zope.component.tests.test_doctests \
-            import ConformsToIComponentLookup
-        class IFoo(Interface):
-            pass
-        class IBar(Interface):
-            pass
-        @implementer(IFoo)
-        class Global(object):
-            def __init__(self, context):
-                self.context = context
-        @implementer(IFoo)
-        class Local(object):
-            def __init__(self, context):
-                self.context = context
-        @implementer(IBar)
-        class Bar(object):
-            pass
-        class Context(ConformsToIComponentLookup):
-            def __init__(self, sm):
-                self.sitemanager = sm
-        gsm = getGlobalSiteManager()
-        gsm.registerAdapter(Global, (IBar,), IFoo, '')
-        sm1 = Components('sm1', bases=(gsm, ))
-        sm1.registerAdapter(Local, (IBar,), IFoo, '')
-        bar = Bar()
-        adapted = getAdapterInContext(bar, IFoo, context=Context(sm1))
-        self.assertTrue(adapted.__class__ is Local)
-        self.assertTrue(adapted.context is bar)
-
-    def test_queryAdapterInContext_miss(self):
-        from zope.interface import Interface
-        from zope.component import queryAdapterInContext
-        class IFoo(Interface):
-            pass
-        self.assertEqual(
-            queryAdapterInContext(object, IFoo, context=None), None)
-
-    def test_queryAdapterInContext_w_object_conforming(self):
-        from zope.interface import Interface
-        from zope.component import queryAdapterInContext
-        class IFoo(Interface):
-            pass
-        _adapted = object()
-        class Foo(object):
-            def __conform__(self, iface, default=None):
-                if iface is IFoo:
-                    return _adapted
-                return default
-        self.assertTrue(
-                queryAdapterInContext(Foo(), IFoo, context=None) is _adapted)
-
-    def test_queryAdapterInContext___conform___raises_TypeError_via_class(self):
-        from zope.interface import Interface
-        from zope.component import queryAdapterInContext
-        class IFoo(Interface):
-            pass
-        _adapted = object()
-        class Foo(object):
-            def __conform__(self, iface, default=None):
-                if iface is IFoo:
-                    return _adapted
-                return default
-        # call via class, triggering TypeError
-        self.assertEqual(queryAdapterInContext(Foo, IFoo, context=None), None)
-
-    def test_queryAdapterInContext___conform___raises_TypeError_via_inst(self):
-        from zope.interface import Interface
-        from zope.component import queryAdapterInContext
-        class IFoo(Interface):
-            pass
-        _adapted = object()
-        class Foo(object):
-            def __conform__(self, iface, default=None):
-                raise TypeError
-        self.assertRaises(TypeError,
-                         queryAdapterInContext, Foo(), IFoo, context=None)
-
-    def test_queryAdapterInContext_w_object_implementing(self):
-        from zope.interface import Interface
-        from zope.interface import implementer
-        from zope.component import queryAdapterInContext
-        class IFoo(Interface):
-            pass
-        @implementer(IFoo)
-        class Foo(object):
-              pass
-        foo = Foo()
-        self.assertTrue(
-                queryAdapterInContext(foo, IFoo, context=None) is foo)
-
-
 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:03 UTC (rev 126954)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py	2012-06-18 18:17:08 UTC (rev 126955)
@@ -202,47 +202,6 @@
       >>> tearDown()
     """
 
-def testNamedAdapter():
-    """Make sure that adapters with names are correctly selected from the
-    registry.
-
-    First we register some named adapter:
-
-      >>> from zope.component.testing import setUp, tearDown
-      >>> setUp()
-      >>> component.getGlobalSiteManager().registerAdapter(
-      ...     lambda x: 0, [I1], I2, 'foo')
-
-    If an adapter isn't registered for the given object and interface,
-    and you provide no default, raise `ComponentLookupError`...
-
-      >>> component.getAdapter(ob, I2, 'bar') \\
-      ... #doctest: +NORMALIZE_WHITESPACE
-      Traceback (most recent call last):
-      ...
-      ComponentLookupError:
-      (<instance Ob>, <InterfaceClass zope.component.tests.test_doctests.I2>, 'bar')
-
-    ...otherwise, you get the default
-
-      >>> component.queryAdapter(ob, I2, 'bar', '<default>')
-      '<default>'
-
-    But now we register an adapter for the object having the correct name
-
-      >>> component.getGlobalSiteManager().registerAdapter(
-      ...     Comp, [I1], I2, 'bar')
-
-    so that the lookup succeeds:
-
-      >>> adapter = component.getAdapter(ob, I2, 'bar')
-      >>> adapter.__class__ is Comp
-      True
-      >>> adapter.context is ob
-      True
-      >>> tearDown()
-    """
-
 def testMultiAdapter():
     """Adapting a combination of 2 objects to an interface
 



More information about the checkins mailing list