diff options
Diffstat (limited to 'src/zope/interface/tests')
| -rw-r--r-- | src/zope/interface/tests/test_declarations.py | 10 | ||||
| -rw-r--r-- | src/zope/interface/tests/test_ro.py | 24 |
2 files changed, 32 insertions, 2 deletions
diff --git a/src/zope/interface/tests/test_declarations.py b/src/zope/interface/tests/test_declarations.py index 9ef192a..4b48496 100644 --- a/src/zope/interface/tests/test_declarations.py +++ b/src/zope/interface/tests/test_declarations.py @@ -1305,10 +1305,16 @@ class ProvidesClassTests(unittest.TestCase): self.assertRaises(AttributeError, _test) def test__repr__(self): - inst = self._makeOne(type(self)) + from zope.interface.interface import InterfaceClass + IFoo = InterfaceClass("IFoo") + + inst = self._makeOne(type(self), IFoo) self.assertEqual( repr(inst), - "<zope.interface.Provides for %r>" % type(self) + "<zope.interface.Provides for instances of %r providing %s>" % ( + type(self), + (IFoo,) + ) ) diff --git a/src/zope/interface/tests/test_ro.py b/src/zope/interface/tests/test_ro.py index 61f92b6..a1e6947 100644 --- a/src/zope/interface/tests/test_ro.py +++ b/src/zope/interface/tests/test_ro.py @@ -221,6 +221,9 @@ class Test_c3_ro(Test_ro): if hasattr(A, 'mro'): self.assertEqual(A.mro(), self._callFUT(A)) + # Clear anything the ro module logged by default, + # which might depend on environment variables. + self.log_handler.clear() return A def test_complex_diamond_interface(self): @@ -252,6 +255,27 @@ class Test_c3_ro(Test_ro): self.assertEqual(tuple(computed_A_iro), A.__iro__) self._check_handler_complex_diamond() + def test_complex_diamond_strict_argument(self): + from zope.interface import Interface + + A = self.test_complex_diamond(Interface) + computed_A_iro = self._callFUT(A, strict=True) + # It matches, of course, but strict mode implies + # that we also log changes. + self.assertEqual(tuple(computed_A_iro), A.__iro__) + self._check_handler_complex_diamond() + + def test_complex_diamond_strict_and_log_arguments(self): + from zope.interface import Interface + + A = self.test_complex_diamond(Interface) + computed_A_iro = self._callFUT(A, strict=True, log_changed_ro=False) + # It matches, of course... + self.assertEqual(tuple(computed_A_iro), A.__iro__) + # ...but because we explicitly set log_changed_ro to False, + # nothing is logged + self.assertFalse(self.log_handler.records) + def _check_handler_complex_diamond(self): handler = self.log_handler self.assertEqual(1, len(handler.records)) |
