Current File : //usr/local/apps/python3/lib/python3.11/lib2to3/tests/__pycache__/test_main.cpython-311.pyc
�

�Kel��J�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ej�ej�
e��d��Zej�ed��ZGd�dej��Zedkrej
��dSdS)�N)�main�datazpy2_test_grammar.pyc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestMainc��d|_dS�N)�temp_dir��selfs �A/usr/local/apps/python3/lib/python3.11/lib2to3/tests/test_main.py�setUpzTestMain.setUps
����
�
�
�c�r�tjjdd�=|jrt	j|j��dSdSr)�logging�root�handlersr	�shutil�rmtreer
s r�tearDownzTestMain.tearDowns?���L�!�!�!�!�$��=�	)��M�$�-�(�(�(�(�(�	)�	)rc�X�tj}tj}tj}|t_|t_|t_	t	jd|��|t_|t_|t_S#|t_|t_|t_wxYw)Nz
lib2to3.fixes)�sys�stdin�stdout�stderrr)r�args�
in_capture�out_capture�err_capture�
save_stdin�save_stdout�save_stderrs        r�run_2to3_capturezTestMain.run_2to3_captures{���Y�
��j���j����	� ��
� ��
�	%��9�_�d�3�3�"�C�I�$�C�J�$�C�J�J��#�C�I�$�C�J�$�C�J�$�$�$�$s�
B�&B)c���tjd��}tj��}tjd��|��}tj��}|�dg|||��}|�|d��|����d��}|�	d|��|�	d|�����dS)Nuprint 'nothing'
print u'über'
�ascii�-rz-print 'nothing'z9WARNING: couldn't encode <stdin>'s diff for your terminal)
�io�StringIO�BytesIO�codecs�	getwriterr"�assertEqual�getvalue�decode�assertIn)r�input_stream�out�out_enc�err�ret�outputs       r�test_unencodable_diffzTestMain.test_unencodable_diff,s����{�#F�G�G���j�l�l��+�&�"�7�+�+�C�0�0���k�m�m���#�#�S�E�<��#�F�F������a� � � ������&�&�w�/�/���
�
�(�&�1�1�1��
�
�&�'*�|�|�~�~�	7�	7�	7�	7�	7rc�$�tj��|_tj�|jd��|_tj�|jd��|_tj|j��tj|j��g|_	ttj�|jd��d�����|j	�d��tjt|j��|j	�tj�t����tj�|jd��|_tj�|jd��|_t|jd��5}|�d��ddd��n#1swxYwY|j	�d��dS)z5Setup a test source tree and output destination tree.�python2_project�python3_projectz__init__.py�wz
trivial.pyz#print 'I need a simple conversion.'N)�tempfile�mkdtempr	�os�path�join�py2_src_dir�py3_dest_dir�mkdir�setup_files�open�close�appendr�copy�PY2_TEST_MODULE�basename�trivial_py2_file�
init_py2_file�write)r�trivials  r�setup_test_source_treesz TestMain.setup_test_source_trees8s��� �(�*�*��
��7�<�<��
�7H�I�I����G�L�L���8I�J�J���
���!�"�"�"�
���"�#�#�#�����R�W�\�\�$�*�M�
:�
:�C�@�@�F�F�H�H�H�����
�.�.�.���O�T�%5�6�6�6������� 0� 0�� A� A�B�B�B� "����T�-=�|� L� L����W�\�\�$�*:�M�J�J���
�$�'��
-�
-�	A���M�M�?�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A������-�-�-�-�-s�	G+�+G/�2G/c�8��|���tj��}tj��}d�|�dd�ddd|j|jgtjd��||��}|�|d��|���}|�d	|��|�d
|j�d|j�d�|��|�t�fd
�|j
D����ttj|j������|j
D]g}|�dtj
�|j|���dtj
�|j|�z����|���htjtj��}|�|d�d|����|�|d�d|����dS)z92to3 a single directory with a new output dir and suffix.�TEST�-nz--add-suffix�--write-unchanged-files�
--no-diffs�--output-dir�rz implies -w.�
Output in �! will mirror the input directory � layoutc3�"�K�|]	}|�zV��
dSr�)�.0�name�suffixs  �r�	<genexpr>zGTestMain.test_filename_changing_on_output_single_dir.<locals>.<genexpr>\s'�����F�F�T�T�&�[�F�F�F�F�F�FrzWriting converted z to zNo changes to .*/__init__\.py�/zNo changes to .*/trivial\.pyN)rMr&r'r"r@r?r+r,r.�setrBr<�listdirr=r>�re�escape�sep�assertRegex�replace�assertNotRegex)rr0r2r3rr[rcr\s       @r�+test_filename_changing_on_output_single_dirz4TestMain.test_filename_changing_on_output_single_dirKs4����$�$�&�&�&��k�m�m���k�m�m�����#�#��~�v�/H��~��"�D�$4�6���B����c�	+�+��
	
����a� � � ��������
�
�n�f�-�-�-��
�
�
��)�)�)�4�+;�+;�+;�=�>D�	F�	F�	F�	
����F�F�F�F�T�5E�F�F�F�F�F��R�Z��(9�:�:�;�;�	=�	=�	=��$�	K�	K�D��M�M�M��G�L�L��!1�4�8�8�8�8��G�L�L��!2�D��K�@�@�@�B�CI�
K�
K�
K�
K��i����������8�@�@��c�J�J�	L�	L�	L�����7�?�?��S�I�I�	K�	K�	K�	K�	Krc�J�|���tj��}|j|jg}td�|D����}|�ddddd|jg|ztjd��tj��|��}|�|d��|�	��}|�
d	|j�d
|j�d�|��|�|ttj
|j������dS)
z62to3 two files in one directory with a new output dir.c3�TK�|]#}tj�|��V��$dSr)r<r=rH)rZr[s  rr]zFTestMain.test_filename_changing_on_output_two_files.<locals>.<genexpr>ms2����J�J��R�W�-�-�d�3�3�J�J�J�J�J�JrrP�-wrQrRrSrTrrUrVrWN)rMr&r'rIrJr_r"r@r+r,r.r?r<r`)rr2�	py2_files�expected_filesr3rs      r�*test_filename_changing_on_output_two_filesz3TestMain.test_filename_changing_on_output_two_fileshs(���$�$�&�&�&��k�m�m���*�D�,>�?�	��J�J�	�J�J�J�J�J���#�#��t�6��~�t�/@�B�DM�N���B��������5�5��	
����a� � � ��������
�
�
��)�)�)�4�+;�+;�+;�=�>D�	F�	F�	F�	
�����R�Z��8I�-J�-J�)K�)K�L�L�L�L�Lrc�`�|���tj��}|�dddd|j|jgtjd��tj��|��}|�|d��|���}|�d|j�d|j	�d	�|��|�ttj�
|j��g��ttj|j������d
S)z)2to3 a single file with a new output dir.rPrjrRrSrTrrUrVrWN)rMr&r'r"r@rIr+r,r.r?r_r<r=rHr`)rr2r3rs    r�,test_filename_changing_on_output_single_filez5TestMain.test_filename_changing_on_output_single_fileys���$�$�&�&�&��k�m�m���#�#��t�\�>�4�;L��&�(���B��������5�5��	
����a� � � ��������
�
�
��)�)�)�4�+;�+;�+;�=�>D�	F�	F�	F�	
����b�g�.�.�t�/D�E�E�F�G�G��R�Z��(9�:�:�;�;�	=�	=�	=�	=�	=rN)�__name__�
__module__�__qualname__r
rr"r5rMrgrmrorYrrrrs����������)�)�)�%�%�%�
7�
7�
7�.�.�.�&K�K�K�:M�M�M�"=�=�=�=�=rr�__main__)r)r&rr<rarrr:�unittest�lib2to3rr=r>�dirname�__file__�
TEST_DATA_DIRrG�TestCaserrprYrr�<module>rzs���
�
�
�
�	�	�	�	�����	�	�	�	�	�	�	�	�
�
�
�
�
�
�
�
�������������������R�W�_�_�X�6�6��?�?�
��'�,�,�}�.C�D�D��t=�t=�t=�t=�t=�x� �t=�t=�t=�n�z����H�M�O�O�O�O�O��r