o
    Eb                     @   s   d Z ddlZddlZddlmZmZ ddlm  mZ	 ej
jdkZdZdZdZdZeeed	Zd
Zdd Zdd Zdd Zejjedddd Zejjedddd ZdS )z@ Some tests for the documenting decorator and support functions     N)assert_equalsuppress_warnings   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                  C   sh   t  '} | jtd tttt tttt tttt W d    d S 1 s-w   Y  d S )Ncategory)	r   filterDeprecationWarningr   doccerZunindent_string
param_doc1
param_doc2
param_doc3)sup r   >/usr/lib/python3/dist-packages/scipy/misc/tests/test_doccer.pytest_unindent+   s   "r   c                  C   sv   t  } | jtd tt}W d    n1 sw   Y  t|d td  t|d td  t|d td  d S )Nr   r   r   r   )r   r
   r   r   unindent_dictdoc_dictr   )r   Zd2r   r   r   test_unindent_dict3   s   r   c                  C   sr   t  ,} | jtd tt}tt|}t|t	 d}t|t}t|d W d    d S 1 s2w   Y  d S )Nr   zSingle line doc %(strtest1)sz0Single line doc Another test
   with some indent)
r   r
   r   r   r   r   Z	docformat	docstringr   filled_docstring)r   Zudd	formattedZ
single_docr   r   r   test_docformat<   s   

"r   zdocstrings stripped)reasonc                  C   s   t  3} | jtd ttd}|dd }t|jd ttd}|dd }t|jd W d    d S 1 s9w   Y  d S )	Nr   Tc                   S      dS z0 Docstring
            %(strtest3)s
            Nr   r   r   r   r   funcQ       ztest_decorator.<locals>.funczP Docstring
            Another test
               with some indent
            Fc                   S   r   r   r   r   r   r   r   r   ^   r   zX Docstring
                Another test
                   with some indent
            )r   r
   r   r   Zfilldocr   r   __doc__)r   Z	decoratorr   r   r   r   test_decoratorJ   s   

"r!   c                     s   t  } | jtd G dd d G  fddd }W d    n1 s%w   Y  t|jj jjd  t|jj jj | }t|jj jjd  t|jj jj d S )Nr   c                   @   s   e Zd Zdd Zdd ZdS )z(test_inherit_docstring_from.<locals>.Fooc                 S   r   )zDo something useful.Nr   selfr   r   r   r   p   s   z-test_inherit_docstring_from.<locals>.Foo.funcc                 S   r   )zSomething else.Nr   r"   r   r   r   func2t   r   z.test_inherit_docstring_from.<locals>.Foo.func2N)__name__
__module____qualname__r   r$   r   r   r   r   Fooo   s    r(   c                       s0   e Zd Ze dd Ze dd ZdS )z(test_inherit_docstring_from.<locals>.Barc                 S   r   )z%(super)sABCNr   r"   r   r   r   r   x      z-test_inherit_docstring_from.<locals>.Bar.funcc                 S   s   d S )Nr   r"   r   r   r   r$   }   r)   z.test_inherit_docstring_from.<locals>.Bar.func2N)r%   r&   r'   r   Zinherit_docstring_fromr   r$   r   r(   r   r   Barw   s
    
r+   ABC)r   r
   r   r   r   r    r$   )r   r+   Zbarr   r*   r   test_inherit_docstring_fromi   s   r-   )r    sysZpytestZnumpy.testingr   r   Zscipy.misc._doccerZmiscZ_doccerr   flagsoptimizeZDOCSTRINGS_STRIPPEDr   r   r   r   r   r   r   r   r   ZmarkZskipifr!   r-   r   r   r   r   <module>   s6    
	
