summaryrefslogtreecommitdiff
path: root/src/zope/interface/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/interface/tests')
-rw-r--r--src/zope/interface/tests/test_declarations.py10
-rw-r--r--src/zope/interface/tests/test_ro.py24
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))