[Checkins] SVN: zope.component/tseaver-test_cleanup/ 100% coverage for z.c._declaration.

Tres Seaver cvs-admin at zope.org
Fri Jun 22 19:26:18 UTC 2012


Log message for revision 127046:
  100% coverage for z.c._declaration.

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 19:26:11 UTC (rev 127045)
+++ zope.component/tseaver-test_cleanup/src/zope/component/tests/test__declaration.py	2012-06-22 19:26:15 UTC (rev 127046)
@@ -47,6 +47,16 @@
         class Baz(object):
             pass
         self.assertEqual(Baz.__component_adapts__, (IFoo, IBar))
+
+    def test__call___w_inst_of_decorated_class(self):
+        from zope.interface import Interface
+        class IFoo(Interface):
+            pass
+        class IBar(Interface):
+            pass
+        @self._makeOne(IFoo, IBar)
+        class Baz(object):
+            pass
         baz = Baz()
         self.assertRaises(AttributeError,
                           getattr, baz, '__component_adapts_')
@@ -62,8 +72,8 @@
         deco = self._makeOne(IFoo, IBar)
         baz = deco(Baz())
         self.assertEqual(baz.__component_adapts__, (IFoo, IBar))
- 
 
+
 class Test_adapts(unittest.TestCase):
 
     def _run_generated_code(self, code, globs, locs,
@@ -159,8 +169,53 @@
             self.assertEqual(list(spec), [IFoo])
 
 
+class Test_adaptedBy(unittest.TestCase):
+
+    def _callFUT(self, obj):
+        from zope.component._declaration import adaptedBy
+        return adaptedBy(obj)
+
+    def test_obj_w_no_attr(self):
+        self.assertEqual(self._callFUT(object()), None)
+
+    def test__call___w_class(self):
+        from zope.interface import Interface
+        class IFoo(Interface):
+            pass
+        class IBar(Interface):
+            pass
+        class Baz(object):
+            __component_adapts__ = (IFoo, IBar)
+        self.assertEqual(self._callFUT(Baz), (IFoo, IBar))
+
+    def test__call___w_inst_of_decorated_class(self):
+        from zope.interface import Interface
+        from zope.component._declaration import _adapts_descr
+        class IFoo(Interface):
+            pass
+        class IBar(Interface):
+            pass
+        class Baz(object):
+            __component_adapts__ = _adapts_descr((IFoo, IBar))
+        baz = Baz()
+        self.assertEqual(self._callFUT(baz), None)
+
+    def test__call___w_non_class(self):
+        from zope.interface import Interface
+        class IFoo(Interface):
+            pass
+        class IBar(Interface):
+            pass
+        class Baz(object):
+            pass
+        baz = Baz()
+        baz.__component_adapts__ = (IFoo, IBar)
+        self.assertEqual(self._callFUT(baz), (IFoo, IBar))
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(Test_adapter),
         unittest.makeSuite(Test_adapts),
+        unittest.makeSuite(Test_adaptedBy),
     ))



More information about the checkins mailing list