L i,LdZddlZddlmZmZddlmZd dZd dZd dZ d dZ y) z%Tests for generic docstring routines.N)DocstringStyle ParseError)parsectd}|jtjk(sJ|jdk(sJ|j dk(sJ|j dk(sJt|jdk(sJ|jdjdk(sJ|jdjJ|jdj d k(sJ|jd jd k(sJ|jd jd k(sJ|jd j d k(sJ|jdjdk(sJ|jdjdk(sJ|jdj dk(sJt|jd k(sJ|jdjdk(sJ|jdj dk(sJ|jJ|jjdk(sJ|jj dk(sJ|jJt|jd k(sJ|jd|jk(sJy)z%Test ReST-style parser autodetection.a Short description Long description Causing people to indent: A lot sometimes :param spam: spam desc :param int bla: bla desc :param str yay: :raises ValueError: exc desc :returns tuple: ret desc Short description@Long description Causing people to indent: A lot sometimesSShort description Long description Causing people to indent: A lot sometimesrspamN spam descblaintbla descyaystr ValueErrorexc desctupleret desc)rstylerRESTshort_descriptionlong_description descriptionlenparamsarg_name type_nameraisesreturns many_returns docstrings h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/docstring_parser/tests/test_parser.py test_restr(s I$ ??n11 11 1  & &*= == =  % %         y A %% %   A  ' '6 11 1   A  ( ( 00 0   A  * *k 99 9   A  ' '5 00 0   A  ( (E 11 1   A  * *j 88 8   A  ' '5 00 0   A  ( (E 11 1   A  * *b 00 0 y A %% %   A  ( (L 88 8   A  * *j 88 8    (( (    & &' 11 1    ( (J 66 6  ! ! -- - y%% &! ++ +  ! !! $ (9(9 99 9ctd}|jtjk(sJ|jdk(sJ|j dk(sJ|j dk(sJt|jdk(sJ|jdjdk(sJ|jdjJ|jdj d k(sJ|jd jd k(sJ|jd jd k(sJ|jd j d k(sJ|jdjdk(sJ|jdjdk(sJ|jdj dk(sJt|jd k(sJ|jdjdk(sJ|jdj dk(sJ|jJ|jjdk(sJ|jj dk(sJ|jJt|jd k(sJ|jd|jk(sJy)z'Test Google-style parser autodetection.a6Short description Long description Causing people to indent: A lot sometimes Args: spam: spam desc bla (int): bla desc yay (str): Raises: ValueError: exc desc Returns: tuple: ret desc rrr r rr Nr r rrrrrrrrrrr)rrrGOOGLErrrrrr r!r"r#r$r%s r' test_googler,>s I, ??n33 33 3  & &*= == =  % %         y A %% %   A  ' '6 11 1   A  ( ( 00 0   A  * *k 99 9   A  ' '5 00 0   A  ( (E 11 1   A  * *j 88 8   A  ' '5 00 0   A  ( (E 11 1   A  * *b 00 0 y A %% %   A  ( (L 88 8   A  * *j 88 8    (( (    & &' 11 1    ( (J 66 6  ! ! -- - y%% &! ++ +  ! !! $ (9(9 99 9r)ctd}|jtjk(sJ|jdk(sJ|j dk(sJ|j dk(sJt|jdk(sJ|jdjdk(sJ|jdjJ|jdj d k(sJ|jd jd k(sJ|jd jd k(sJ|jd j d k(sJ|jdjdk(sJ|jdjdk(sJ|jdj J|jdjdk(sJ|jdjd k(sJ|jdjsJ|jdj dk(sJt|jd k(sJ|jdjdk(sJ|jdj dk(sJ|jJ|jjdk(sJ|jj dk(sJ|jJt|jd k(sJ|jd|jk(sJy)z)Test numpydoc-style parser autodetection.aShort description Long description Causing people to indent: A lot sometimes Parameters ---------- spam spam desc bla : int bla desc yay : str Raises ------ ValueError exc desc Other Parameters ---------------- this_guy : int, optional you know him Returns ------- tuple ret desc See Also -------- multiple lines... something else? Warnings -------- multiple lines... none of this is real! rrr rr Nr r rrrrrrr this_guyz you know himrrrr)rrrNUMPYDOCrrrrrr r! is_optionalr"r#r$r%s r' test_numpydocr2xs ( *IX ??n55 55 5  & &*= == =  % %         y A %% %   A  ' '6 11 1   A  ( ( 00 0   A  * *k 99 9   A  ' '5 00 0   A  ( (E 11 1   A  * *j 88 8   A  ' '5 00 0   A  ( (E 11 1   A  * * 22 2   A  ' ': 55 5   A  ( (E 11 1   A  * ** *   A  * *n << < y A %% %   A  ( (L 88 8   A  * *j 88 8    (( (    & &' 11 1    ( (J 66 6  ! ! -- - y%% &! ++ +  ! !! $ (9(9 99 9r)cd}tjt5t|tj dddt|}|sJ|j tjk(sJy#1swY8xYw)ziTest autodection for the case where one of the parsers throws an error and another one succeeds. z= Does something useless :param 3 + 3 a: a param N)pytestr"rrrrrr+)sourcer&s r'"test_autodetection_error_detectionr6sgF z "+ fn))*+ f I 9 ??n33 33 3++s A..A7)returnN) __doc__r4docstring_parser.commonrrdocstring_parser.parserrr(r,r2r6r)r'r<s)+ >)3:l7:tR:j4r)