Fixed #23688 -- Updated cached_property to preserve docstring of original function
This commit is contained in:
parent
54e695331b
commit
dbf7a3df45
|
@ -51,6 +51,7 @@ class cached_property(object):
|
|||
"""
|
||||
def __init__(self, func, name=None):
|
||||
self.func = func
|
||||
self.__doc__ = getattr(func, '__doc__')
|
||||
self.name = name or func.__name__
|
||||
|
||||
def __get__(self, instance, type=None):
|
||||
|
|
|
@ -50,6 +50,7 @@ class FunctionalTestCase(unittest.TestCase):
|
|||
|
||||
@cached_property
|
||||
def value(self):
|
||||
"""Here is the docstring..."""
|
||||
return 1, object()
|
||||
|
||||
def other_value(self):
|
||||
|
@ -57,6 +58,9 @@ class FunctionalTestCase(unittest.TestCase):
|
|||
|
||||
other = cached_property(other_value, name='other')
|
||||
|
||||
# docstring should be preserved
|
||||
self.assertEqual(A.value.__doc__, "Here is the docstring...")
|
||||
|
||||
a = A()
|
||||
|
||||
# check that it is cached
|
||||
|
|
Loading…
Reference in New Issue