[Checkins] SVN: zope.component/tseaver-test_cleanup/ Coverage for z.c._declaration.adapter.
Tres Seaver
cvs-admin at zope.org
Fri Jun 22 19:26:05 UTC 2012
Log message for revision 127043:
Coverage for z.c._declaration.adapter.
Changed:
_U zope.component/tseaver-test_cleanup/
U zope.component/tseaver-test_cleanup/src/zope/component/tests/test__declaration.py
-=-
Modified: zope.component/tseaver-test_cleanup/src/zope/component/tests/test__declaration.py
===================================================================
--- zope.component/tseaver-test_cleanup/src/zope/component/tests/test__declaration.py 2012-06-22 18:57:46 UTC (rev 127042)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test__declaration.py 2012-06-22 19:26:01 UTC (rev 127043)
@@ -15,6 +15,55 @@
"""
import unittest
+class Test_adapter(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.component._declaration import adapter
+ return adapter
+
+ def _makeOne(self, *interfaces):
+ return self._getTargetClass()(*interfaces)
+
+ def test_ctor_no_interfaces(self):
+ deco = self._makeOne()
+ self.assertEqual(list(deco.interfaces), [])
+
+ def test_ctor_w_interfaces(self):
+ from zope.interface import Interface
+ class IFoo(Interface):
+ pass
+ class IBar(Interface):
+ pass
+ deco = self._makeOne(IFoo, IBar)
+ self.assertEqual(list(deco.interfaces), [IFoo, IBar])
+
+ def test__call___w_class(self):
+ from zope.interface import Interface
+ class IFoo(Interface):
+ pass
+ class IBar(Interface):
+ pass
+ @self._makeOne(IFoo, IBar)
+ class Baz(object):
+ pass
+ self.assertEqual(Baz.__component_adapts__, (IFoo, IBar))
+ baz = Baz()
+ self.assertRaises(AttributeError,
+ getattr, baz, '__component_adapts_')
+
+ def test__call___w_non_class(self):
+ from zope.interface import Interface
+ class IFoo(Interface):
+ pass
+ class IBar(Interface):
+ pass
+ class Baz(object):
+ pass
+ deco = self._makeOne(IFoo, IBar)
+ baz = deco(Baz())
+ self.assertEqual(baz.__component_adapts__, (IFoo, IBar))
+
+
class Test_adapts(unittest.TestCase):
def test_instances_not_affected(self):
@@ -30,5 +79,6 @@
def test_suite():
return unittest.TestSuite((
+ unittest.makeSuite(Test_adapter),
unittest.makeSuite(Test_adapts),
))
More information about the checkins
mailing list