U
    aÊ¹jR  ã                   @   sŽ   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	Z	zddl
Z
W n ek
rd   dZ
Y nX ej e¡ZejG dd„ dejƒƒZdS )z"Tests for distutils.command.check.é    N)Úcheck)ÚDistutilsSetupError)Úsupportc                   @   sF   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )Ú	TestCheckNc           
      K   sŠ   |d kri }|d k	r&t  ¡ }t  |¡ | jf |Ž\}}t|ƒ}| ¡  | ¡ D ]\}}	t|||	ƒ qN| ¡  | 	¡  |d k	r†t  |¡ |S )N)
ÚosÚgetcwdÚchdirÚcreate_distr   Úinitialize_optionsÚitemsÚsetattrÚensure_finalizedÚrun)
ÚselfÚmetadataÚcwdÚoptionsZold_dirÚpkg_infoÚdistÚcmdÚnameÚvalue© r   úe/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/_distutils/tests/test_check.pyÚ_run   s    

zTestCheck._runc              	   C   s²   |   ¡ }|jdkst‚ddddddœ}|   |¡}|jdks>t‚t t¡� | j i fddiŽ W 5 Q R X | j |dd�}|jdks‚t‚dddddd	d
dœ}|   |¡}|jdks®t‚d S )Né   Úxxx)ÚurlÚauthorÚauthor_emailr   Úversionr   ÚstrictT)r!   u   Ã‰ricu   Something about esszet ÃŸu   More things about esszet ÃŸ)r   r   r   r   r    ÚdescriptionÚlong_description)r   Ú	_warningsÚAssertionErrorÚpytestÚraisesr   )r   r   r   r   r   r   Útest_check_metadata'   s0    û
ù	
zTestCheck.test_check_metadatac              	   C   sŒ   dD ]‚}dd|d dddddi}|   |¡}|jdks8t‚d	||d < |   |¡}|jdks\t‚d
||< ||d = |   |¡}|jdkst‚qd S )N)r   Ú
maintainerr   r   Z_emailzName <name@email.com>r   r    r   zname@email.comÚName)r   r$   r%   )r   Úkindr   r   r   r   r   Útest_check_author_maintainerQ   s&        ü



z&TestCheck.test_check_author_maintainerc                 C   s^   t  d¡ |  ¡ \}}t|ƒ}d}| |¡}t|ƒdks<t‚d}| |¡}t|ƒdksZt‚d S )NÚdocutilsútitle
===

testr   ztitle
=====

testr   )r&   Úimportorskipr	   r   Ú_check_rst_dataÚlenr%   )r   r   r   r   Úbroken_restÚmsgsÚrestr   r   r   Útest_check_documenti   s    


zTestCheck.test_check_documentc              	   C   sÊ   t  d¡ d}| j|d�\}}t|ƒ}| ¡  |jdks<t‚ddddd|dœ}t  t¡� | j	|fdddœŽ W 5 Q R X d|d	< | j	|d
d
d�}|jdksžt‚d|d	< | j	|t
d
d
d�}|jdksÆt‚d S )Nr-   r.   ©r#   r   r   )r   r   r   r   r    r#   ©r!   Úrestructuredtextu   title
=====

test ÃŸr#   Tr   z)title
=====

.. include:: includetest.rst)r   r!   r8   )r&   r/   r	   r   Úcheck_restructuredtextr$   r%   r'   r   r   ÚHERE)r   r2   r   r   r   r   r   r   r   Útest_check_restructuredtextx   s*    
úz%TestCheck.test_check_restructuredtextc                 C   s˜   t  d¡ t d¡t d¡g}|D ]p}| j|d�\}}t|ƒ}| ¡  | |¡}td k	rjt	|ƒdks’t
‚q"t	|ƒdkszt
‚t|d d ƒdks"t
‚q"d S )Nr-   z}            Here's some code:

            .. code:: python

                def foo():
                    pass
            zƒ            Here's some code:

            .. code-block:: python

                def foo():
                    pass
            r6   r   r   z0Cannot analyze code. Pygments package not found.)r&   r/   ÚtextwrapÚdedentr	   r   r9   r0   Úpygmentsr1   r%   Ústr)r   Zexample_rst_docsZrest_with_coder   r   r   r3   r   r   r   Ú1test_check_restructuredtext_with_syntax_highlight—   s(    
ÿ
ÿõ
ÿÿz;TestCheck.test_check_restructuredtext_with_syntax_highlightc              	   C   s.   t  t¡� | ji fdddœŽ W 5 Q R X d S )Nr   r7   )r&   r'   r   r   )r   r   r   r   Útest_check_allÀ   s    zTestCheck.test_check_all)NN)
Ú__name__Ú
__module__Ú__qualname__r   r(   r,   r5   r;   r@   rA   r   r   r   r   r      s   
*)r   )Ú__doc__r   r<   Zdistutils.command.checkr   Údistutils.errorsr   Zdistutils.testsr   r&   r>   ÚImportErrorÚpathÚdirnameÚ__file__r:   Zcombine_markersZTempdirManagerr   r   r   r   r   Ú<module>   s   
