
    bi6                     (   d Z ddlZddlZddlZddlmZ ddlmZ ej                  j                  dkD  Z
dZdZdZd	Zeeed
ZdZd Zd Zd Zej(                  j+                  e
d      d        Zej(                  j+                  e
d      d        Zy)z@ Some tests for the documenting decorator and support functions     N)assert_equal)doccer   zBDocstring
    %(strtest1)s
        %(strtest2)s
     %(strtest3)s
z Another test
   with some indentzAnother test, one linez(    Another test
       with some indent)strtest1strtest2strtest3z|Docstring
    Another test
       with some indent
        Another test, one line
     Another test
       with some indent
c                  v   t        j                         5  t        j                  dt               t	        t        j                  t              t               t	        t        j                  t              t               t	        t        j                  t              t               d d d        y # 1 sw Y   y xY w)Nignorecategory)
warningscatch_warningssimplefilterDeprecationWarningr   r   unindent_string
param_doc1
param_doc2
param_doc3     W/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/_lib/tests/test_doccer.pytest_unindentr   ,   sw    		 	 	" Eh1CDV++J7DV++J7DV++J7D	E E Es   BB//B8c                  B   t        j                         5  t        j                  dt               t	        j
                  t              } d d d        t         d   t        d          t        | d   t        d          t        | d   t        d          y # 1 sw Y   LxY w)Nr
   r   r   r   r   )r   r   r   r   r   unindent_dictdoc_dictr   )d2s    r   test_unindent_dictr   4   s    		 	 	" ,h1CD!!(+, J*!56J*!56J*!56, ,s   5BBc                  b   t        j                         5  t        j                  dt               t	        j
                  t              } t	        j                  t        |       }t        |t               d}t	        j                  |t              }t        |d       d d d        y # 1 sw Y   y xY w)Nr
   r   zSingle line doc %(strtest1)sz0Single line doc Another test
   with some indent)r   r   r   r   r   r   r   	docformat	docstringr   filled_docstring)udd	formatted
single_docs      r   test_docformatr%   =   s    		 	 	" 
h1CD""8,$$Y4	Y 013
$$Z:	 	Y ! 	
 
 
s   BB%%B.zdocstrings stripped)reasonc                     t        j                         5  t        j                  dt               t	        j
                  t        d      } | d        }d }t        |j                  |j                         t	        j
                  t        t        j                  dk  rdnd      } | d        }d	 }t        |j                  |j                         d d d        y # 1 sw Y   y xY w)
Nr
   r   Tc                       yz0 Docstring
            %(strtest3)s
            Nr   r   r   r   funcztest_decorator.<locals>.funcR       r   c                       y)zP Docstring
            Another test
               with some indent
            Nr   r   r   r   expectedz test_decorator.<locals>.expectedX   r+   r   )      Fc                       yr)   r   r   r   r   r*   ztest_decorator.<locals>.funcf   r+   r   c                       y)zX Docstring
                Another test
                   with some indent
            Nr   r   r   r   r-   z test_decorator.<locals>.expectedk   r+   r   )r   r   r   r   r   filldocr   r   __doc__sysversion_info)	decoratorr*   r-   s      r   test_decoratorr7   K   s    		 	 	" #5h1CDNN8T2			 
	
	
 	T\\8#3#34 NN8#&#3#3g#= .3CGI	 
	 
		
 	T\\8#3#34G#5 #5 #5s   B;CC"c                  v   t        j                         5  t        j                  dt                G d d       G fdd      } d d d        t	         j
                  j                  j
                  j                  dz          t	        | j                  j                  j                  j                          |        }t	        |j
                  j                  j
                  j                  dz          t	        |j                  j                  j                  j                         y # 1 sw Y   xY w)Nr
   r   c                       e Zd Zd Zd Zy)(test_inherit_docstring_from.<locals>.Fooc                      y)zDo something useful.Nr   selfs    r   r*   z-test_inherit_docstring_from.<locals>.Foo.funcz   s    r   c                      y)zSomething else.Nr   r<   s    r   func2z.test_inherit_docstring_from.<locals>.Foo.func2~   r+   r   N)__name__
__module____qualname__r*   r?   r   r   r   Foor:   y   s    &r   rC   c                   r    e Zd Z ej                  W        d        Z ej                  W        d        Zy)(test_inherit_docstring_from.<locals>.Barc                      y)z%(super)sABCNr   r<   s    r   r*   z-test_inherit_docstring_from.<locals>.Bar.func        r   c                      y )Nr   r<   s    r   r?   z.test_inherit_docstring_from.<locals>.Bar.func2   rG   r   N)r@   rA   rB   r   inherit_docstring_fromr*   r?   )rC   s   r   BarrE      sC    *V**3/ 0 +V**3/ 0r   rJ   ABC)r   r   r   r   r   r*   r3   r?   )rJ   barrC   s     @r   test_inherit_docstring_fromrM   s   s     
	 	 	" h1CD	& 	&		# 		, !!388#3#3e#;<""CII$5$56
%C!!388#3#3e#;<""CII$5$565 s   3D//D8)r3   r4   r   pytestnumpy.testingr   
scipy._libr   flagsoptimizeDOCSTRINGS_STRIPPEDr    r   r   r   r   r!   r   r   r%   markskipifr7   rM   r   r   r   <module>rV      s    F 
   &  ii((1,  
 
    "!!#
 E7 '0EF$5 G$5N '0EF7 G7r   