[Checkins] SVN: zope.security/trunk/ Coverage for z.s.adapter.assertLocation.
Tres Seaver
cvs-admin at zope.org
Mon Dec 24 15:58:43 UTC 2012
Log message for revision 128891:
Coverage for z.s.adapter.assertLocation.
Changed:
_U zope.security/trunk/
U zope.security/trunk/src/zope/security/adapter.py
U zope.security/trunk/src/zope/security/tests/test_adapter.py
-=-
Modified: zope.security/trunk/src/zope/security/adapter.py
===================================================================
--- zope.security/trunk/src/zope/security/adapter.py 2012-12-23 20:55:07 UTC (rev 128890)
+++ zope.security/trunk/src/zope/security/adapter.py 2012-12-24 15:58:42 UTC (rev 128891)
@@ -38,8 +38,7 @@
return adapter
# handle locatable, parentful adapters (C)
- else:
- return adapter
+ return adapter
class LocatingTrustedAdapterFactory(object):
Modified: zope.security/trunk/src/zope/security/tests/test_adapter.py
===================================================================
--- zope.security/trunk/src/zope/security/tests/test_adapter.py 2012-12-23 20:55:07 UTC (rev 128890)
+++ zope.security/trunk/src/zope/security/tests/test_adapter.py 2012-12-24 15:58:42 UTC (rev 128891)
@@ -14,6 +14,67 @@
import unittest
+def _skip_wo_zope_location(testfunc):
+ try:
+ import zope.location
+ except ImportError:
+ from functools import update_wrapper
+ def dummy(self):
+ pass
+ update_wrapper(dummy, testfunc)
+ return dummy
+ else:
+ return testfunc
+
+
+class Test_assertLocation(unittest.TestCase):
+
+ def _callFUT(self, adapter, parent):
+ from zope.security.adapter import assertLocation
+ return assertLocation(adapter, parent)
+
+ @_skip_wo_zope_location
+ def test_w_non_ILocation(self):
+ from zope.location import LocationProxy
+ from zope.proxy import getProxiedObject
+ class _Adapter(object):
+ pass
+ adapter = _Adapter()
+ parent = object()
+ returned = self._callFUT(adapter, parent)
+ self.assertTrue(isinstance(returned, LocationProxy))
+ self.assertTrue(getProxiedObject(returned) is adapter)
+ self.assertTrue(returned.__parent__ is parent)
+
+ @_skip_wo_zope_location
+ def test_w_ILocation_no_parent(self):
+ from zope.interface import implementer
+ from zope.location import ILocation
+ @implementer(ILocation)
+ class _Adapter(object):
+ __parent__ = None
+ adapter = _Adapter()
+ parent = object()
+ returned = self._callFUT(adapter, parent)
+ self.assertTrue(returned is adapter)
+ self.assertTrue(returned.__parent__ is parent)
+
+ @_skip_wo_zope_location
+ def test_w_ILocation_w_parent(self):
+ from zope.interface import implementer
+ from zope.location import ILocation
+ parent = object()
+ @implementer(ILocation)
+ class _Adapter(object):
+ __parent__ = parent
+ adapter = _Adapter()
+ new_parent = object()
+ returned = self._callFUT(adapter, new_parent)
+ self.assertTrue(returned is adapter)
+ self.assertTrue(returned.__parent__ is parent)
+
+
def test_suite():
return unittest.TestSuite((
- ))
+ unittest.makeSuite(Test_assertLocation),
+ ))
More information about the checkins
mailing list