o
    5‘ðiR  ã                   @   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y1   dZ
Y nw 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 u ri }|d urt  ¡ }t  |¡ | jdi |¤Ž\}}t|ƒ}| ¡  | ¡ D ]
\}}	t|||	ƒ q)| ¡  | 	¡  |d urEt  |¡ |S )N© )
ÚosÚgetcwdÚchdirÚcreate_distr   Úinitialize_optionsÚitemsÚsetattrÚensure_finalizedÚrun)
ÚselfÚmetadataÚcwdÚoptionsÚold_dirÚpkg_infoÚdistÚcmdÚnameÚvaluer   r   úe/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_distutils/tests/test_check.pyÚ_run   s   

zTestCheck._runc                 C   sÊ   |   ¡ }|jdksJ ‚ddddddœ}|   |¡}|jdksJ ‚t t¡� | j i fi ddi¤Ž W d   ƒ n1 s:w   Y  | j |dd�}|jdksMJ ‚dddddd	d
dœ}|   |¡}|jdkscJ ‚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ÚpytestÚraisesr   )r   r   r   r   r   r   Útest_check_metadata'   s2   û
ÿù
	zTestCheck.test_check_metadatac              	   C   sŒ   dD ]A}dd|d dddddi}|   |¡}|jdksJ ‚d	||d < |   |¡}|jdks.J ‚d
||< ||d = |   |¡}|jdksCJ ‚qd S )N)r   Ú
maintainerr   r   Ú_emailzName <name@email.com>r   r!   r   zname@email.comÚName)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J ‚d}| |¡}t|ƒdks-J ‚d S )NÚdocutilsútitle
===

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

testr   )r&   Úimportorskipr
   r   Ú_check_rst_dataÚlen)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J ‚ddddd|dœ}t  t¡� | j|fi dddœ¤Ž W d   ƒ n1 sCw   Y  d|d	< | j|d
d
d�}|jdks[J ‚d|d	< | j|t	d
d
d�}|jdksoJ ‚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"   r9   )
r&   r0   r
   r   Úcheck_restructuredtextr%   r'   r   r   ÚHERE)r   r3   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 ]8}| j|d�\}}t|ƒ}| ¡  | |¡}td ur5t	|ƒdks4J ‚qt	|ƒdks=J ‚t
|d d ƒdksIJ ‚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
            r7   r   r   z0Cannot analyze code. Pygments package not found.)r&   r0   ÚtextwrapÚdedentr
   r   r:   r1   Úpygmentsr2   Ústr)r   Úexample_rst_docsÚrest_with_coder   r   r   r4   r   r   r   Ú1test_check_restructuredtext_with_syntax_highlight—   s(   
ÿ
ÿõ

ÿöz;TestCheck.test_check_restructuredtext_with_syntax_highlightc                 C   sH   t  t¡� | ji fi dddœ¤Ž W d   ƒ d S 1 sw   Y  d S )Nr   r8   )r&   r'   r   r   )r   r   r   r   Útest_check_allÀ   s   "ÿzTestCheck.test_check_all)NN)
Ú__name__Ú
__module__Ú__qualname__r   r(   r-   r6   r<   rC   rD   r   r   r   r   r      s    
*)r   )Ú__doc__r   r=   Údistutils.command.checkr   Údistutils.errorsr   Údistutils.testsr   r&   r?   ÚImportErrorÚpathÚdirnameÚ__file__r;   Úcombine_markersÚTempdirManagerr   r   r   r   r   Ú<module>   s    ÿ