def test_builtin_update(self): # Test for bug #1576241 def wrapper(): pass functools.update_wrapper(wrapper, max) assert wrapper.__name__ == 'max' assert wrapper.__doc__ == max.__doc__
def test_builtin_update(self): # Test for bug #1576241 def wrapper(): pass functools.update_wrapper(wrapper, max) assert wrapper.__name__ == 'max' assert wrapper.__doc__ == max.__doc__
def test_no_update(self): def f(): """This is a test""" pass f.attr = 'This is also a test' def wrapper(): pass functools.update_wrapper(wrapper, f, (), ()) self.check_wrapper(wrapper, f, (), ()) assert wrapper.__name__ == 'wrapper' assert wrapper.__doc__ == None assert not hasattr(wrapper, 'attr')
def test_default_update(self): def f(): """This is a test""" pass f.attr = 'This is also a test' def wrapper(): pass functools.update_wrapper(wrapper, f) self.check_wrapper(wrapper, f) assert wrapper.__name__ == 'f' assert wrapper.__doc__ == 'This is a test' assert wrapper.attr == 'This is also a test'
def test_no_update(self): def f(): """This is a test""" pass f.attr = 'This is also a test' def wrapper(): pass functools.update_wrapper(wrapper, f, (), ()) self.check_wrapper(wrapper, f, (), ()) assert wrapper.__name__ == 'wrapper' assert wrapper.__doc__ == None assert not hasattr(wrapper, 'attr')
def test_default_update(self): def f(): """This is a test""" pass f.attr = 'This is also a test' def wrapper(): pass functools.update_wrapper(wrapper, f) self.check_wrapper(wrapper, f) assert wrapper.__name__ == 'f' assert wrapper.__doc__ == 'This is a test' assert wrapper.attr == 'This is also a test'
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',) functools.update_wrapper(wrapper, f, assign, update) self.check_wrapper(wrapper, f, assign, update) assert wrapper.__name__ == 'wrapper' assert wrapper.__doc__ == None assert wrapper.attr == 'This is a different test' assert wrapper.dict_attr == f.dict_attr
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', ) functools.update_wrapper(wrapper, f, assign, update) self.check_wrapper(wrapper, f, assign, update) assert wrapper.__name__ == 'wrapper' assert wrapper.__doc__ == None assert wrapper.attr == 'This is a different test' assert wrapper.dict_attr == f.dict_attr