[z3-checkins] r21806 - in z3/Five/branch/Five-1.3: site site/tests
tests
philikon at codespeak.net
philikon at codespeak.net
Sun Jan 8 07:26:32 CET 2006
Author: philikon
Date: Sun Jan 8 07:26:16 2006
New Revision: 21806
Modified:
z3/Five/branch/Five-1.3/site/localsite.py
z3/Five/branch/Five-1.3/site/tests/sitemanager.txt
z3/Five/branch/Five-1.3/tests/adapters.py
Log:
Fix http://codespeak.net/pipermail/z3-five/2006q1/001003.html. Sorry, this
was my bad.
Modified: z3/Five/branch/Five-1.3/site/localsite.py
==============================================================================
--- z3/Five/branch/Five-1.3/site/localsite.py (original)
+++ z3/Five/branch/Five-1.3/site/localsite.py Sun Jan 8 07:26:16 2006
@@ -111,7 +111,10 @@
@property
def adapters(self):
- return getGlobalSiteManager().adapters #XXX wrong
+ next = self.next
+ if next is None:
+ next = getGlobalSiteManager()
+ return next.adapters
@property
def utilities(self):
@@ -124,7 +127,10 @@
return self.adapters.queryMultiAdapter(objects, interface, name, default)
def getAdapters(self, objects, provided):
- return self.adapters.getAdapters(objects, provided)
+ next = self.next
+ if next is None:
+ next = getGlobalSiteManager()
+ return next.getAdapters(objects, provided)
def subscribers(self, required, provided):
return self.adapters.subscribers(required, provided)
Modified: z3/Five/branch/Five-1.3/site/tests/sitemanager.txt
==============================================================================
--- z3/Five/branch/Five-1.3/site/tests/sitemanager.txt (original)
+++ z3/Five/branch/Five-1.3/site/tests/sitemanager.txt Sun Jan 8 07:26:16 2006
@@ -85,9 +85,27 @@
True
The methods on registering and looking up utilities are covered by the
-utility tests in depth. The methods on adapter look up are indirectly
-covered in the functional test; view look up, for example, is adapter
-look up.
+utility tests in depth.
+
+We test some adapter look-up here. It is also indirectly covered in
+the functional test; view look up, for example, is adapter look up.
+
+First we provide an adapter:
+
+ >>> from Products.Five.tests.adapters import Adaptable, Adapter, IAdapted
+ >>> import zope.component
+ >>> zope.component.provideAdapter(Adapter)
+
+Now let's check for a simple adaption:
+
+ >>> adaptable = Adaptable()
+ >>> IAdapted(adaptable) #doctest: +ELLIPSIS
+ <Products.Five.tests.adapters.Adapter instance at ...>
+
+Let's get all the adapters for ``adaptable``:
+
+ >>> zapi.getAdapters((adaptable,), IAdapted) #doctest: +ELLIPSIS
+ [(u'', <Products.Five.tests.adapters.Adapter instance at ...>)]
Nesting sites
@@ -118,6 +136,10 @@
>>> getNextSiteManager(subsite.getSiteManager()).context == dummysite
True
+The adapters is registry is passed through to the global one:
+
+ >>> subsite.getSiteManager().adapters is zapi.getGlobalSiteManager().adapters
+ True
Finally, some clean up:
Modified: z3/Five/branch/Five-1.3/tests/adapters.py
==============================================================================
--- z3/Five/branch/Five-1.3/tests/adapters.py (original)
+++ z3/Five/branch/Five-1.3/tests/adapters.py Sun Jan 8 07:26:16 2006
@@ -16,6 +16,7 @@
$Id$
"""
from zope.interface import implements, Interface
+from zope.component import adapts
class IAdaptable(Interface):
"""This is a Zope 3 interface.
@@ -49,6 +50,7 @@
class Adapter:
implements(IAdapted)
+ adapts(IAdaptable)
def __init__(self, context):
self.context = context
More information about the z3-checkins
mailing list