Co-authored-by: Kumar Aditya <kumaraditya@python.org>
wrapper.__name__ = getattr(user_function, '__name__')
wrapper.__qualname__ = getattr(user_function, '__qualname__')
wrapper.__annotations__ = getattr(user_function, '__annotations__', {})
+ wrapper.__wrapped__ = user_function
return wrapper
return decorating_function
for name in assigned:
self.assertIs(getattr(wrapper, name), getattr(wrapped, name))
+ def test__wrapped__(self):
+ class X:
+ def __repr__(self):
+ return 'X()'
+ f = __repr__ # save reference to check it later
+ __repr__ = recursive_repr()(__repr__)
+
+ self.assertIs(X.f, X.__repr__.__wrapped__)
+
if __name__ == "__main__":
unittest.main()
--- /dev/null
+Set :attr:`!__wrapped__` attribute in :func:`reprlib.recursive_repr`.