comparison tests/test-extensions-wrapfunction.py @ 34128:82bd4c5a81e5

extensions: fix wrapcommand/function of class instance 5361771f9714 changed _updatewrapper() to copy the __name__ attribute, but not all callable objects has __name__. Spotted by loading mq with extdiff.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 10 Sep 2017 23:37:14 +0900
parents 47e52f079a57
children ac865f020b99
comparison
equal deleted inserted replaced
34127:709b44f38ab9 34128:82bd4c5a81e5
52 # managers still unwrap their wrappings. 52 # managers still unwrap their wrappings.
53 extensions.wrapfunction(dummy, 'getstack', wrappers[2]) 53 extensions.wrapfunction(dummy, 'getstack', wrappers[2])
54 print('context manager', dummy.getstack()) 54 print('context manager', dummy.getstack())
55 print('context manager', dummy.getstack()) 55 print('context manager', dummy.getstack())
56 print('context manager', dummy.getstack()) 56 print('context manager', dummy.getstack())
57
58 # Wrap callable object which has no __name__
59 class callableobj(object):
60 def __call__(self):
61 return ['orig']
62 dummy.cobj = callableobj()
63 extensions.wrapfunction(dummy, 'cobj', wrappers[0])
64 print('wrap callable object', dummy.cobj())