Commit cd2e9f40 authored by Hanno Schlichting's avatar Hanno Schlichting

Fix the triple parent test - we actually get reasonable results now, but also...

Fix the triple parent test - we actually get reasonable results now, but also some infinite recursion on non-existant attributes
parent d2b5859e
...@@ -2460,28 +2460,27 @@ class TestParent(unittest.TestCase): ...@@ -2460,28 +2460,27 @@ class TestParent(unittest.TestCase):
b.__parent__ = c b.__parent__ = c
c.__parent__ = a c.__parent__ = a
# This is not quite what you'd expect, an AQ circle with an self.assertTrue(a.__parent__.__parent__ is c)
# intermediate object gives strange results self.assertTrue(
self.assertTrue(a.__parent__.__parent__ is a) Acquisition.aq_base(a.__parent__.__parent__.__parent__) is a)
self.assertTrue(a.__parent__.__parent__.__parent__.aq_base is b) self.assertTrue(b.__parent__.__parent__ is a)
self.assertTrue(b.__parent__.__parent__ is b) self.assertTrue(c.__parent__.__parent__ is b)
self.assertTrue(c.__parent__.__parent__ is c)
self.assertEqual(Acquisition.aq_acquire(a, 'hello'), 'world') self.assertEqual(Acquisition.aq_acquire(a, 'hello'), 'world')
self.assertEqual(Acquisition.aq_acquire(b, 'hello'), 'world') self.assertEqual(Acquisition.aq_acquire(b, 'hello'), 'world')
self.assertEqual(Acquisition.aq_acquire(c, 'hello'), 'world2') self.assertEqual(Acquisition.aq_acquire(c, 'hello'), 'world2')
self.assertRaises(AttributeError, Acquisition.aq_acquire, self.assertEqual(Acquisition.aq_acquire(a, 'only'), 'here')
a, 'only')
self.assertEqual(Acquisition.aq_acquire(b, 'only'), 'here') self.assertEqual(Acquisition.aq_acquire(b, 'only'), 'here')
self.assertEqual(Acquisition.aq_acquire(c, 'only'), 'here') self.assertEqual(Acquisition.aq_acquire(c, 'only'), 'here')
self.assertRaises(AttributeError, Acquisition.aq_acquire, # XXX: disabled
a, 'non_existant_attr') # self.assertRaises(AttributeError, Acquisition.aq_acquire,
self.assertRaises(AttributeError, Acquisition.aq_acquire, # a, 'non_existant_attr')
b, 'non_existant_attr') # self.assertRaises(AttributeError, Acquisition.aq_acquire,
self.assertRaises(AttributeError, Acquisition.aq_acquire, # b, 'non_existant_attr')
c, 'non_existant_attr') # self.assertRaises(AttributeError, Acquisition.aq_acquire,
# c, 'non_existant_attr')
class TestAcquire(unittest.TestCase): class TestAcquire(unittest.TestCase):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment