Commit 0faa2d6e authored by Tres Seaver's avatar Tres Seaver

Add tests for misses in 'get'.

parent 1ea87abc
...@@ -412,19 +412,22 @@ class ObjectManagerTests(PlacelessSetup, unittest.TestCase): ...@@ -412,19 +412,22 @@ class ObjectManagerTests(PlacelessSetup, unittest.TestCase):
om = self._makeOne() om = self._makeOne()
self.assertTrue(om) self.assertTrue(om)
def test_get(self): def test_get_miss_wo_default(self):
om = self._makeOne()
self.assertEqual(om.get('nonesuch'), None)
def test_get_miss_w_default(self):
om = self._makeOne()
obj = object()
self.assertTrue(om.get('nonesuch', obj) is obj)
def test_get_hit(self):
om = self._makeOne() om = self._makeOne()
si1 = SimpleItem('1') si1 = SimpleItem('1')
om['1'] = si1 om['1'] = si1
self.assertTrue(om.get('1') == si1) got = om.get('1')
# A contained item overwrites the method self.assertTrue(got.aq_self is si1)
self.assertTrue(hasattr(om.get, 'im_func')) self.assertTrue(got.aq_parent is om)
om.__dict__['get'] = si1
self.assertTrue(aq_base(om.get) is si1)
self.assertTrue(aq_base(om['get']) is si1)
# Once the object is gone, the method is back
del om['get']
self.assertTrue(hasattr(om.get, 'im_func'))
def test_items(self): def test_items(self):
om = self._makeOne() om = self._makeOne()
......
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