
    
`i,                     N    d Z ddlZddlmZmZ ddlmZ d
dZd
dZd
dZ	d
d	Z
dS )z%Tests for generic docstring routines.    N)DocstringStyle
ParseError)parsereturnc                     t          d          } | j        t          j        k    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ t          | j                  dk    sJ | j        d         j	        dk    sJ | j        d         j
        J | j        d         j        d	k    sJ | j        d
         j	        dk    sJ | j        d
         j
        dk    sJ | j        d
         j        dk    sJ | j        d         j	        dk    sJ | j        d         j
        dk    sJ | j        d         j        dk    sJ t          | j                  d
k    sJ | j        d         j
        dk    sJ | j        d         j        dk    sJ | j        J | j        j
        dk    sJ | j        j        dk    sJ | j        J t          | j                  d
k    sJ | j        d         | j        k    sJ dS )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 sometimes   r   spamN	spam desc   blaintbla desc   yaystr 
ValueErrorexc desctupleret desc)r   styler   RESTshort_descriptionlong_descriptiondescriptionlenparamsarg_name	type_nameraisesreturnsmany_returns	docstrings    v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/docstring_parser/tests/test_parser.py	test_restr)      sv   	 I$ ?n11111&*=====%	   
  	    y  A%%%%A'61111A(000A*k9999A'50000A(E1111A*j8888A'50000A(E1111A*b0000y  A%%%%A(L8888A*j8888(((&'1111(J6666!---y%&&!++++!!$	(9999999    c                     t          d          } | j        t          j        k    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ t          | j                  dk    sJ | j        d         j	        dk    sJ | j        d         j
        J | j        d         j        d	k    sJ | j        d
         j	        dk    sJ | j        d
         j
        dk    sJ | j        d
         j        dk    sJ | j        d         j	        dk    sJ | j        d         j
        dk    sJ | j        d         j        dk    sJ t          | j                  d
k    sJ | j        d         j
        dk    sJ | j        d         j        dk    sJ | j        J | j        j
        dk    sJ | j        j        dk    sJ | j        J t          | j                  d
k    sJ | j        d         | j        k    sJ dS )z'Test Google-style parser autodetection.a6  Short 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
        r   r	   r
   r   r   r   Nr   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   GOOGLEr   r   r   r   r    r!   r"   r#   r$   r%   r&   s    r(   test_googler-   >   sv   	 I, ?n33333&*=====%	   
  	    y  A%%%%A'61111A(000A*k9999A'50000A(E1111A*j8888A'50000A(E1111A*b0000y  A%%%%A(L8888A*j8888(((&'1111(J6666!---y%&&!++++!!$	(9999999r*   c                     t          d          } | j        t          j        k    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ t          | j                  dk    sJ | j        d         j	        dk    sJ | j        d         j
        J | j        d         j        d	k    sJ | j        d
         j	        dk    sJ | j        d
         j
        dk    sJ | j        d
         j        dk    sJ | j        d         j	        dk    sJ | j        d         j
        dk    sJ | j        d         j        J | j        d         j	        dk    sJ | j        d         j
        dk    sJ | j        d         j        sJ | j        d         j        dk    sJ t          | j                  d
k    sJ | j        d         j
        dk    sJ | j        d         j        dk    sJ | j        J | j        j
        dk    sJ | j        j        dk    sJ | j        J t          | j                  d
k    sJ | j        d         | j        k    sJ dS )z)Test numpydoc-style parser autodetection.a  Short 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!
        r   r	   r
      r   r   Nr   r   r   r   r   r   r   r   r   this_guyzyou know himr   r   r   r   )r   r   r   NUMPYDOCr   r   r   r   r    r!   r"   is_optionalr#   r$   r%   r&   s    r(   test_numpydocr3   x   s   (	* *IX ?n55555&*=====%	   
  	    y  A%%%%A'61111A(000A*k9999A'50000A(E1111A*j8888A'50000A(E1111A*222A':5555A(E1111A****A*n<<<<y  A%%%%A(L8888A*j8888(((&'1111(J6666!---y%&&!++++!!$	(9999999r*   c                      d} t          j        t                    5  t          | t          j                   ddd           n# 1 swxY w Y   t          |           }|sJ |j        t          j        k    sJ dS )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#   r   r   r   r   r   r,   )sourcer'   s     r(   "test_autodetection_error_detectionr7      s    F 
z	"	" + +fn)***+ + + + + + + + + + + + + + +
 fI9?n3333333s   AA
A)r   N)__doc__r5   docstring_parser.commonr   r   docstring_parser.parserr   r)   r-   r3   r7    r*   r(   <module>r<      s    + +  > > > > > > > > ) ) ) ) ) )3: 3: 3: 3:l7: 7: 7: 7:tR: R: R: R:j4 4 4 4 4 4r*   