forked from RustPython/RustPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdoctest_lineno.py
More file actions
107 lines (75 loc) · 1.99 KB
/
doctest_lineno.py
File metadata and controls
107 lines (75 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# 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