[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