L i[;dZddlZddlZddlmZmZddlmZm Z ejjdgdde de d dfd Z ejjd gd de d e de ded df dZejjdgdde d ej e dej e dededej e d dfdZd&dZd&dZd&dZd&dZd&dZd&dZd&dZd&dZd&dZejjd ej6d!fej8d!fej:d"fgd#ede d dfd$Zd&d%Zy)'z(Tests for ReST-style docstring routines.N) ParseErrorRenderingStyle)composeparsezsource, expected))N) N)Short descriptionr )z Short description r )z Short description r sourceexpectedreturnct|}|j|k(sJ|j|k(sJ|jJ|jrJy)zTest parsing short description.N)rshort_description descriptionlong_descriptionmeta)r r docstrings f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/docstring_parser/tests/test_rest.pytest_short_descriptionr sVf I  & &( 22 2  H ,, ,  % % -- -~~ ~z?source, expected_short_desc, expected_long_desc, expected_blank))z#Short description Long descriptionr Long descriptionT)zI Short description Long description r rT)za Short description Long description Second line r Long description Second lineT)"Short description Long descriptionr rF)zH Short description Long description r rF)z$ Short description Long description r rF)z` Short description Long description Second line r rFexpected_short_descexpected_long_descexpected_blankct|}|j|k(sJ|j|k(sJ|j|k(sJ|jrJy)zTest parsing long description.N)rrrblank_after_short_descriptionr)r rrrrs rtest_long_descriptionrs[Lf I  & &*= == =  % %); ;; ;  2 2n DD D~~ ~rzxsource, expected_short_desc, expected_long_desc, expected_blank_short_desc, expected_blank_long_desc, expected_full_desc))zB Short description :meta: asd r NFFr )z_ Short description Long description :meta: asd r rFFr)zu Short description First line Second line :meta: asd r First line Second lineFFz,Short description First line Second line)zv Short description First line Second line :meta: asd r rTF-Short description First line Second line)zw Short description First line Second line :meta: asd r rTTr )z$ :meta: asd NNFFNexpected_blank_short_descexpected_blank_long_descexpected_full_descct|}|j|k(sJ|j|k(sJ|j|k(sJ|j|k(sJ|j |k(sJt |jdk(sJy)z2Test parsing newlines around description sections.N)rrrrblank_after_long_descriptionrlenr)r rrr!r"r#rs rtest_meta_newlinesr(jsvf I  & &*= == =  % %); ;; ;  2 26O OO O  1 15M MM M  $6 66 6 y~~ ! ## #rctd}|jdk(sJt|jdk(sJ|jdjdgk(sJ|jdj dk(sJy)z*Test parsing multiline meta documentation.ze Short description :meta: asd 1 2 3 r r%rr asd 1 2 3Nrrr'rargsrrs r$test_meta_with_multiline_descriptionr.s|  I  & &*= == = y~~ ! ## # >>!  ! !fX -- - >>!  ( (,> >> >rctd}|jdk(sJt|jdk(sJ|jdjdgk(sJ|jdj dk(sJ|jdjdgk(sJ|jdj d k(sJ|jd jd gk(sJ|jd j d k(sJy )zTest parsing multiple meta.z Short description :meta1: asd 1 2 3 :meta2: herp :meta3: derp r rmeta1r*r%meta2herpmeta3derpNr+r-s rtest_multiple_metar7s  I  & &*= == = y~~ ! ## # >>!  ! !gY .. . >>!  ( (,> >> > >>!  ! !gY .. . >>!  ( (F 22 2 >>!  ! !gY .. . >>!  ( (F 22 2rctd}|jdk(sJt|jdk(sJ|jdjgdk(sJ|jdj dk(sJy)z,Test parsing meta with additional arguments.zD Short description :meta ene due rabe: asd r r%r)reneduerabeasdNr+r-s rtest_meta_with_argsr=sz I  & &*= == = y~~ ! ## # >>!  ! !%C CC C >>!  ( (E 11 1rctd}t|jdk(sJtd}t|jdk(sJ|jdjdk(sJ|jdjJ|jdj dk(sJ|jdj J|jdjrJ|jdjd k(sJ|jdjd k(sJ|jdj d k(sJ|jdjrJ|jdj J|jd jd k(sJ|jd jdk(sJ|jd j dk(sJ|jd jsJ|jd j J|jdjdk(sJ|jdjdk(sJ|jdj dk(sJ|jdjsJ|jdj dk(sJ|jdjdk(sJ|jdjdk(sJ|jdj dk(sJ|jdjsJ|jdj dk(sJtd}t|jd k(sJ|jdjdk(sJ|jdjd k(sJ|jdj dk(sJ|jdj J|jdjrJy)zTest parsing params.r ra) Short description :param name: description 1 :param int priority: description 2 :param str? sender: description 3 :param str? message: description 4, defaults to 'hello' :param str? multiline: long description 5, defaults to 'bye' nameNz description 1r%priorityintz description 2r4senderstrz description 3r0messagez"description 4, defaults to 'hello'z'hello' multilinez%long description 5, defaults to 'bye'z'bye'z} Short description :param a: description a :type a: int :param int b: description b az description a)rr'paramsarg_name type_namerdefault is_optionalr-s r test_paramsrNs)*I y A %% %  I y A %% %   A  ' '6 11 1   A  ( ( 00 0   A  * *o == =   A  & & .. ."... .   A  ' ': 55 5   A  ( (E 11 1   A  * *o == ="... .   A  & & .. .   A  ' '8 33 3   A  ( (E 11 1   A  * *o == =   A  * ** *   A  & & .. .   A  ' '9 44 4   A  ( (E 11 1''+OOO   A  * ** *   A  & &) 33 3   A  ' '; 66 6   A  ( (E 11 1'' 3 4 4   A  * ** *   A  & &' 11 1 I y A %% %   A  ' '3 .. .   A  ( (E 11 1   A  * *o == =   A  & & .. ."... ..rctd}|jJ|jJt|jdk(sJtd}|jJ|jjJ|jj dk(sJ|jj rJ|j|jgk(sJtd}|jJ|jjdk(sJ|jj dk(sJ|jj rJ|j|jgk(sJtd}|jJ|jjdk(sJ|jj dk(sJ|jj rJ|j|jgk(sJy) zTest parsing returns.# Short description NrzA Short description :returns: description rzE Short description :returns int: description rBzU Short description :returns: description :rtype: int rreturns many_returnsr'rKr is_generatorr-s r test_returnsrUIs I    $$ $  ! ! -- - y%% &! ++ + I    (( (    & & .. .    ( (M 99 9  --- -  ! !i&7&7%8 88 8 I    (( (    & &% // /    ( (M 99 9  --- -  ! !i&7&7%8 88 8 I    (( (    & &% // /    ( (M 99 9  --- -  ! !i&7&7%8 88 8rc4td}|jJ|jJt|jdk(sJtd}|jJ|jjJ|jj dk(sJ|jj sJ|jJt|jdk(sJ|jd|jk(sJtd}|jJ|jjdk(sJ|jj dk(sJ|jj sJ|jJt|jdk(sJ|jd|jk(sJy) zTest parsing yields.rPNrz@ Short description :yields: description rr%zD Short description :yields int: description rBrQr-s r test_yieldsrWzs I    $$ $  ! ! -- - y%% &! ++ + I    (( (    & & .. .    ( (M 99 9    ) )) )  ! ! -- - y%% &! ++ +  ! !! $ (9(9 99 9 I    (( (    & &% // /    ( (M 99 9    ) )) )  ! ! -- - y%% &! ++ +  ! !! $ (9(9 99 9rctd}t|jdk(sJtd}t|jdk(sJ|jdjJ|jdjdk(sJtd}t|jdk(sJ|jdjdk(sJ|jdjdk(sJy) zTest parsing raises.rPrz@ Short description :raises: description r%NrzK Short description :raises ValueError: description ValueError)rr'raisesrKrr-s r test_raisesr[s I y A %% % I y A %% %   A  ( ( 00 0   A  * *m ;; ; I y A %% %   A  ( (L 88 8   A  * *m ;; ;rctjt5tddddtjt5tddddtjt5tddddtjt5tddddtdy#1swYxYw#1swY{xYw#1swYZxYw#1swY9xYw)zTest parsing broken meta.:Nz:param herp derpz:param: invalidz:param with too many args: descz:sthstrange: desc)pytestrZrrrrtest_broken_metar`s z " c  z ""  !" z "!  ! z "1 /01 ""!!11s/ C C 4 C! C%C  CC"%C.c:td}|jJ|jjdk(sJ|jjdk(sJtd}|jJ|jjJ|jjdk(sJy)zTest parsing deprecation notes.z1:deprecation: 1.1.0 this function will be removedNz1.1.0zthis function will be removedz+:deprecation: this function will be removed)r deprecationversionrr-s rtest_deprecationrdsIJI  ,, ,  ( (G 33 3  , ,0O OO OCDI  ,, ,  ( ( 00 0  , ,0O OO Orzrendering_style, expectedzShort description. Long description. :param int foo: a description :param int bar: another description :returns float: a returnzShort description. Long description. :param foo: a description :type foo: int :param bar: another description :type bar: int :returns: a return :rtype: floatrendering_stylec>td}t|||k(sJy)z Test composez Short description. Long description. :param int foo: a description :param int bar: another description :return float: a return reN)rr)rer rs r test_composerhs+X  I 9o >( JJ Jrcbd}t|}tj}t|||k(sJy)z=Test abbreviated docstring with only return type information.z!Short description. :rtype: floatrgN)rrEXPANDEDr)stringrres rtest_short_rtyperls0 2Ff I$--O 9o >& HH Hr)r N) __doc__typingTr^docstring_parser.commonrrdocstring_parser.restrrmark parametrizerDrboolrOptionalr(r.r7r=rNrUrWr[r`rdCOMPACTCLEANrjrhrlr_rrrxs. >0 3#$ E;>~        >~ L Qd$ $C$ 3$ $ $ # $  3 $ $eQd$$?$30 2?/D.9b%:P<<$ P  " " '    '   # #  +%(RK.KCKDKS(RK"Ir