[Checkins] SVN: zope.component/tseaver-test_cleanup/ Convert 'register for None' doctest to Sphinx + unittests.
Tres Seaver
cvs-admin at zope.org
Mon Jun 18 18:17:23 UTC 2012
Log message for revision 126958:
Convert 'register for None' doctest to Sphinx + unittests.
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:15 UTC (rev 126957)
+++ zope.component/tseaver-test_cleanup/docs/api.rst 2012-06-18 18:17:19 UTC (rev 126958)
@@ -618,6 +618,32 @@
>>> adapted is marker
True
+Registering Adapters For Arbitrary Objects
+##########################################
+
+Providing an adapter for None says that your adapter can adapt anything
+to `I2`.
+
+.. doctest::
+
+ >>> gsm.registerAdapter(Comp, (None,), I2, '')
+ >>> adapter = I2(ob)
+ >>> adapter.__class__ is Comp
+ True
+ >>> adapter.context is ob
+ True
+
+It can really adapt any arbitrary object:
+
+.. doctest::
+
+ >>> something = object()
+ >>> adapter = I2(something)
+ >>> adapter.__class__ is Comp
+ True
+ >>> adapter.context is something
+ True
+
Looking Up Adapters Using Multiple Objects
##########################################
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:15 UTC (rev 126957)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test___init__.py 2012-06-18 18:17:19 UTC (rev 126958)
@@ -445,6 +445,23 @@
self.assertTrue(adapted.__class__ is Baz)
self.assertTrue(adapted.context is bar)
+ def test_getAdapter_anonymous_hit_registered_for_None(self):
+ from zope.interface import Interface
+ from zope.interface import implementer
+ from zope.component import getGlobalSiteManager
+ from zope.component import getAdapter
+ class IFoo(Interface):
+ pass
+ @implementer(IFoo)
+ class Baz(object):
+ def __init__(self, context):
+ self.context = context
+ getGlobalSiteManager().registerAdapter(Baz, (None,), IFoo, '')
+ ctx = object()
+ adapted = getAdapter(ctx, IFoo, '')
+ self.assertTrue(adapted.__class__ is Baz)
+ self.assertTrue(adapted.context is ctx)
+
def test_getAdapter_named_hit(self):
from zope.interface import Interface
from zope.interface import implementer
@@ -595,6 +612,22 @@
self.assertTrue(adapted.__class__ is Baz)
self.assertTrue(adapted.context is bar)
+ def test_interface_call_hit_registered_for_None(self):
+ from zope.interface import Interface
+ from zope.interface import implementer
+ from zope.component import getGlobalSiteManager
+ class IFoo(Interface):
+ pass
+ @implementer(IFoo)
+ class Baz(object):
+ def __init__(self, context):
+ self.context = context
+ getGlobalSiteManager().registerAdapter(Baz, (None,), IFoo, '')
+ ctx = object()
+ adapted = IFoo(ctx)
+ self.assertTrue(adapted.__class__ is Baz)
+ self.assertTrue(adapted.context is ctx)
+
def test_getMultiAdapter_anonymous_nonesuch(self):
from zope.interface import Interface
from zope.component import getMultiAdapter
@@ -643,6 +676,33 @@
self.assertTrue(adapted.first is bar)
self.assertTrue(adapted.second is baz)
+ def test_getMultiAdapter_anonymous_hit_registered_for_None(self):
+ from zope.interface import Interface
+ from zope.interface import implementer
+ from zope.component import getGlobalSiteManager
+ from zope.component import getMultiAdapter
+ class IFoo(Interface):
+ pass
+ class IBar(Interface):
+ pass
+ class IBaz(Interface):
+ pass
+ @implementer(IBar)
+ class Bar(object):
+ pass
+ @implementer(IFoo)
+ class FooAdapter(object):
+ def __init__(self, first, second):
+ self.first, self.second = first, second
+ getGlobalSiteManager().registerAdapter(
+ FooAdapter, (IBar, None), IFoo, '')
+ bar = Bar()
+ baz = object()
+ adapted = getMultiAdapter((bar, baz), IFoo, '')
+ self.assertTrue(adapted.__class__ is FooAdapter)
+ self.assertTrue(adapted.first is bar)
+ self.assertTrue(adapted.second is baz)
+
def test_getMultiAdapter_named_hit(self):
from zope.interface import Interface
from zope.interface import implementer
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:15 UTC (rev 126957)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test_doctests.py 2012-06-18 18:17:19 UTC (rev 126958)
@@ -165,32 +165,6 @@
if interface is IComponentLookup:
return self.sitemanager
-def testAdapterForInterfaceNone():
- """Providing an adapter for None says that your adapter can adapt anything
- to `I2`.
-
- >>> from zope.component.testing import setUp, tearDown
- >>> setUp()
- >>> component.getGlobalSiteManager().registerAdapter(
- ... Comp, (None,), I2, '')
-
- >>> adapter = I2(ob)
- >>> adapter.__class__ is Comp
- True
- >>> adapter.context is ob
- True
-
- It can really adapt any arbitrary object:
-
- >>> something = object()
- >>> adapter = I2(something)
- >>> adapter.__class__ is Comp
- True
- >>> adapter.context is something
- True
- >>> tearDown()
- """
-
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
More information about the checkins
mailing list