From 0ea5bf88dddd7fbdef7fe8d00162c9753565f5c0 Mon Sep 17 00:00:00 2001 From: Preston Holmes Date: Wed, 6 Mar 2013 16:00:05 -0800 Subject: Fixed #19543 -- implemented SimpleLazyObject.__repr__ Thanks to Florian Hahn for the patch --- tests/utils_tests/simplelazyobject.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'tests/utils_tests') diff --git a/tests/utils_tests/simplelazyobject.py b/tests/utils_tests/simplelazyobject.py index 3f81e8f608..dd52857c03 100644 --- a/tests/utils_tests/simplelazyobject.py +++ b/tests/utils_tests/simplelazyobject.py @@ -59,10 +59,18 @@ class TestUtilsSimpleLazyObject(TestCase): hash(SimpleLazyObject(complex_object))) def test_repr(self): - # For debugging, it will really confuse things if there is no clue that - # SimpleLazyObject is actually a proxy object. So we don't - # proxy __repr__ - self.assertTrue("SimpleLazyObject" in repr(SimpleLazyObject(complex_object))) + # First, for an unevaluated SimpleLazyObject + x = SimpleLazyObject(complex_object) + # __repr__ contains __repr__ of setup function and does not evaluate + # the SimpleLazyObject + self.assertEqual("" % complex_object, repr(x)) + self.assertEqual(empty, x._wrapped) + + # Second, for an evaluated SimpleLazyObject + name = x.name # evaluate + self.assertTrue(isinstance(x._wrapped, _ComplexObject)) + # __repr__ contains __repr__ of wrapped object + self.assertEqual("" % x._wrapped, repr(x)) def test_bytes(self): self.assertEqual(b"I am _ComplexObject('joe')", -- cgit v1.3