
    ;eh                     *   d Z ddlZddlZddlZddlmZ ddlmZmZ ddl	m
Z
 ddlmZ 	 ddlZn# e$ r dZY nw xY wej                            e          Z G d de
j        e
j        ej                  Zd	 Zed
k    r e e                       dS dS )z"Tests for distutils.command.check.    N)run_unittest)checkHAS_DOCUTILS)support)DistutilsSetupErrorc                       e Zd Zd	dZd Z ej        ed          d             Z ej        ed          d             Z	 ej        ed          d             Z
d ZdS )
CheckTestCaseNc                    |i }|'t          j                    }t          j        |            | j        di |\  }}t	          |          }|                                 |                                D ]\  }}	t          |||	           |                                 |	                                 |t          j        |           |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values
             1/usr/lib/python3.11/distutils/tests/test_check.py_runzCheckTestCase._run   s    H?ikkGHSMMM))55H55$Dkk   "==?? 	& 	&KD%Cu%%%%			?HW
    c                    |                                  }|                     |j        d           dddddd}|                      |          }|                     |j        d            | j        t          | j         i fi ddi |                      |d          }|                     |j        d           dddddd	d
d}|                      |          }|                     |j        d           d S )N   xxx)urlauthorauthor_emailr   versionr   strict   )r)   u   Éricu   Something about esszet ßu   More things about esszet ß)r%   r&   r'   r   r(   descriptionlong_description)r    assertEqual	_warningsassertRaisesr   )r   r   r   s      r   test_check_metadataz!CheckTestCase.test_check_metadata)   s    iikk***
 !E$)!e5 5 ii!!*** 	-ty"NN1NNN iii++*** !K$)5$#B(I	K K
 ii!!*****r!   zwon't test without docutilsc                 :   |                                  \  }}t          |          }d}|                    |          }|                     t	          |          d           d}|                    |          }|                     t	          |          d           d S )Ntitle
===

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

testr   )r   r   _check_rst_datar-   len)r   r   r   r   broken_restmsgsrests          r   test_check_documentz!CheckTestCase.test_check_documentJ   s    ))++$Dkk +"";//TA&&& &""4((TA&&&&&r!   c                    d}|                      |          \  }}t          |          }|                                 |                     |j        d           ddddd|d} | j        t          | j        |fi ddd d|d<   |                     |dd          }|                     |j        d	           d
|d<   |                     |t          dd          }|                     |j        d	           d S )Nr2   r,   r*   r$   )r%   r&   r'   r   r(   r,   r)   restructuredtextu   title
=====

test ßr,   r   z)title
=====

.. include:: includetest.rst)r   r)   r<   )	r   r   check_restructuredtextr-   r.   r/   r   r    HERE)r   r5   r   r   r   r   s         r   test_check_restructuredtextz)CheckTestCase.test_check_restructuredtextY   s4    +));)GG$Dkk""$$$*** !E$)!e(35 5 	-ty( 	B 	B'(a@@	B 	B 	B (E#$iiQi??*** (V#$iid1qiII*****r!   c                 L   g }|                     t          j        d                     |                     t          j        d                     |D ]}|                     |          \  }}t	          |          }|                                 |                    |          }t          $|                     t          |          d           ~|                     t          |          d           |                     t          |d         d                   d           d S )Nz}            Here's some code:

            .. code:: python

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

            .. code-block:: python

                def foo():
                    pass
            r:   r   r*   z0Cannot analyze code. Pygments package not found.)appendtextwrapdedentr   r   r=   r3   pygmentsr-   r4   str)r   example_rst_docsrest_with_coder   r   r   r6   s          r   1test_check_restructuredtext_with_syntax_highlightz?CheckTestCase.test_check_restructuredtext_with_syntax_highlightt   s9     1 ! ! 	 	 	 	 1 ! ! 	 	 	 / 	 	N!--~-NNNHd++C&&(((&&~66D#  TA....  TA...  Q
OOF   	 	r!   c                 J    ddd} | j         t          | j        i fi ddd d S )Nr$   )r%   r&   r*   r;   )r/   r   r    )r   r   s     r   test_check_allzCheckTestCase.test_check_all   sT     E22-ty	9 	9+,56!8 !8	9 	9 	9 	9 	9r!   )NN)__name__
__module____qualname__r    r0   unittest
skipUnlessr   r8   r?   rH   rJ   r   r!   r   r	   r	      s           "+ + +B X'DEE' ' FE' X'DEE+ + FE+4 X'DEE! ! FE!F9 9 9 9 9r!   r	   c                  X    t          j                                        t                    S )N)rN   
TestLoaderloadTestsFromTestCaser	   r   r!   r   
test_suiterS      s      66}EEEr!   __main__)__doc__r   rB   rN   test.supportr   distutils.command.checkr   r   distutils.testsr   distutils.errorsr   rD   ImportErrorpathdirname__file__r>   LoggingSilencerTempdirManagerTestCaser	   rS   rK   r   r!   r   <module>ra      sB   ( ( 				   % % % % % % 7 7 7 7 7 7 7 7 # # # # # # 0 0 0 0 0 0OOOO   HHH 
wx  I9 I9 I9 I9 I9G+*%I9 I9 I9VF F F zL s   / 99