Ejemplo n.º 1
0
 def test_builtin_update(self):
     # Test for bug #1576241
     def wrapper():
         pass
     undecorate.update_wrapper(wrapper, max)
     self.assertEqual(wrapper.__name__, 'max')
     self.assertTrue(wrapper.__doc__.startswith('max('))
Ejemplo n.º 2
0
 def _default_update(self):
     def f():
         """This is a test"""
         pass
     f.attr = 'This is also a test'
     f.__wrapped__ = "This is a bald faced lie"
     def wrapper():
         pass
     undecorate.update_wrapper(wrapper, f)
     return wrapper, f
Ejemplo n.º 3
0
 def test_no_update(self):
     def f():
         """This is a test"""
         pass
     f.attr = 'This is also a test'
     def wrapper():
         pass
     undecorate.update_wrapper(wrapper, f, (), ())
     self.check_wrapper(wrapper, f, (), ())
     self.assertEqual(wrapper.__name__, 'wrapper')
     self.assertEqual(wrapper.__doc__, None)
     self.assertFalse(hasattr(wrapper, 'attr'))
Ejemplo n.º 4
0
 def test_selective_update(self):
     def f():
         pass
     f.attr = 'This is a different test'
     f.dict_attr = dict(a=1, b=2, c=3)
     def wrapper():
         pass
     wrapper.dict_attr = {}
     assign = ('attr',)
     update = ('dict_attr',)
     undecorate.update_wrapper(wrapper, f, assign, update)
     self.check_wrapper(wrapper, f, assign, update)
     self.assertEqual(wrapper.__name__, 'wrapper')
     self.assertEqual(wrapper.__doc__, None)
     self.assertEqual(wrapper.attr, 'This is a different test')
     self.assertEqual(wrapper.dict_attr, f.dict_attr)