blob: 0bd402e98288d01cd93a01c07d308a3c8580d0d7 [file]
# This module is used in `test_doctest`.
# It must not have a docstring.
def func_with_docstring():
"""Some unrelated info."""
def func_without_docstring():
pass
def func_with_doctest():
"""
This function really contains a test case.
>>> func_with_doctest.__name__
'func_with_doctest'
"""
return 3
class ClassWithDocstring:
"""Some unrelated class information."""
class ClassWithoutDocstring:
pass
class ClassWithDoctest:
"""This class really has a test case in it.
>>> ClassWithDoctest.__name__
'ClassWithDoctest'
"""
class MethodWrapper:
def method_with_docstring(self):
"""Method with a docstring."""
def method_without_docstring(self):
pass
def method_with_doctest(self):
"""
This has a doctest!
>>> MethodWrapper.method_with_doctest.__name__
'method_with_doctest'
"""
@classmethod
def classmethod_with_doctest(cls):
"""
This has a doctest!
>>> MethodWrapper.classmethod_with_doctest.__name__
'classmethod_with_doctest'
"""
@property
def property_with_doctest(self):
"""
This has a doctest!
>>> MethodWrapper.property_with_doctest.__name__
'property_with_doctest'
"""
# https://github.com/python/cpython/issues/99433
str_wrapper = object().__str__
# https://github.com/python/cpython/issues/115392
from test.test_doctest.decorator_mod import decorator
@decorator
@decorator
def func_with_docstring_wrapped():
"""Some unrelated info."""
# https://github.com/python/cpython/issues/136914
import functools
@functools.cache
def cached_func_with_doctest(value):
"""
>>> cached_func_with_doctest(1)
-1
"""
return -value
@functools.cache
def cached_func_without_docstring(value):
return value + 1
class ClassWithACachedProperty:
@functools.cached_property
def cached(self):
"""
>>> X().cached
-1
"""
return 0