65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
"""Test for utility functions."""
|
|
|
|
from docstring_parser.common import DocstringReturns
|
|
from docstring_parser.util import combine_docstrings
|
|
|
|
|
|
def test_combine_docstrings() -> None:
|
|
"""Test combine_docstrings wrapper."""
|
|
|
|
def fun1(arg_a, arg_b, arg_c, arg_d):
|
|
"""short_description: fun1
|
|
|
|
:param arg_a: fun1
|
|
:param arg_b: fun1
|
|
:return: fun1
|
|
"""
|
|
assert arg_a and arg_b and arg_c and arg_d
|
|
|
|
def fun2(arg_b, arg_c, arg_d, arg_e):
|
|
"""short_description: fun2
|
|
|
|
long_description: fun2
|
|
|
|
:param arg_b: fun2
|
|
:param arg_c: fun2
|
|
:param arg_e: fun2
|
|
"""
|
|
assert arg_b and arg_c and arg_d and arg_e
|
|
|
|
@combine_docstrings(fun1, fun2)
|
|
def decorated1(arg_a, arg_b, arg_c, arg_d, arg_e, arg_f):
|
|
"""
|
|
:param arg_e: decorated
|
|
:param arg_f: decorated
|
|
"""
|
|
assert arg_a and arg_b and arg_c and arg_d and arg_e and arg_f
|
|
|
|
assert decorated1.__doc__ == (
|
|
"short_description: fun2\n"
|
|
"\n"
|
|
"long_description: fun2\n"
|
|
"\n"
|
|
":param arg_a: fun1\n"
|
|
":param arg_b: fun1\n"
|
|
":param arg_c: fun2\n"
|
|
":param arg_e: fun2\n"
|
|
":param arg_f: decorated\n"
|
|
":returns: fun1"
|
|
)
|
|
|
|
@combine_docstrings(fun1, fun2, exclude=[DocstringReturns])
|
|
def decorated2(arg_a, arg_b, arg_c, arg_d, arg_e, arg_f):
|
|
assert arg_a and arg_b and arg_c and arg_d and arg_e and arg_f
|
|
|
|
assert decorated2.__doc__ == (
|
|
"short_description: fun2\n"
|
|
"\n"
|
|
"long_description: fun2\n"
|
|
"\n"
|
|
":param arg_a: fun1\n"
|
|
":param arg_b: fun1\n"
|
|
":param arg_c: fun2\n"
|
|
":param arg_e: fun2"
|
|
)
|