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

�Ke�R���	ddlmZddlmZmZddlmZddlmZm	Z	m
Z
mZddlm
Z
dd�ZGd�d	ej��ZGd
�dej��ZGd�d
ej��ZGd�de��ZGd�de��ZGd�de��ZGd�dej��ZGd�dej��ZGd�dej��ZGd�dej��ZdS)�)�support�)�Node�Leaf)�
fixer_util)�Attr�Name�Call�Comma)�tokenc�z�tj|��}t|��D]}|jd}�d|_|S)Nr)r�parse_string�range�children�parent)�code�strip_levels�tree�is    �A/usr/local/apps/python3/lib/python3.11/lib2to3/tests/test_util.py�parsersE�����%�%�D�
�<�
 �
 � � ���}�Q�����D�K��K�c��eZdZd�ZdS)�
MacroTestCasec���t|ttf��rttjj|��}|�t|��|��dS�N)	�
isinstance�tuple�listrr�syms�simple_stmt�assertEqual�str)�self�node�strings   r�	assertStrzMacroTestCase.assertStrsN���d�U�D�M�*�*�	;��
��3�T�:�:�D�����T���F�+�+�+�+�+rN)�__name__�
__module__�__qualname__r'�rrrrs#������,�,�,�,�,rrc� �eZdZd�Zd�Zd�ZdS)�
Test_is_tuplec�H�tjt|d�����S�N��r)r�is_tupler�r$r&s  rr2zTest_is_tuple.is_tuples ���"�5��a�#@�#@�#@�A�A�Arc��|�|�d����|�|�d����|�|�d����|�|�d����|�|�d����dS)Nz(a, b)z(a, (b, c))z((a, (b, c)),)z(a,)z())�
assertTruer2�r$s r�
test_validzTest_is_tuple.test_valid s�������
�
�h�/�/�0�0�0�����
�
�m�4�4�5�5�5�����
�
�&6�7�7�8�8�8�����
�
�f�-�-�.�.�.�����
�
�d�+�+�,�,�,�,�,rc��|�|�d����|�|�d����dS)Nz(a)z('foo') % (b, c))�assertFalser2r6s r�test_invalidzTest_is_tuple.test_invalid'sI��������u�-�-�.�.�.�������'9�:�:�;�;�;�;�;rN)r(r)r*r2r7r:r+rrr-r-sD������B�B�B�-�-�-�<�<�<�<�<rr-c� �eZdZd�Zd�Zd�ZdS)�Test_is_listc�H�tjt|d�����Sr/)r�is_listrr3s  rr>zTest_is_list.is_list-s ���!�%��Q�"?�"?�"?�@�@�@rc��|�|�d����|�|�d����|�|�d����|�|�d����|�|�d����dS)Nz[]z[a]z[a, b]z[a, [b, c]]z[[a, [b, c]],])r5r>r6s rr7zTest_is_list.test_valid0s���������T�*�*�+�+�+�������U�+�+�,�,�,�������X�.�.�/�/�/�������]�3�3�4�4�4�������%5�6�6�7�7�7�7�7rc�V�|�|�d����dS)Nz[]+[])r9r>r6s rr:zTest_is_list.test_invalid7s(��������g�.�.�/�/�/�/�/rN)r(r)r*r>r7r:r+rrr<r<,sD������A�A�A�8�8�8�0�0�0�0�0rr<c��eZdZd�Zd�ZdS)�	Test_Attrc��tdd���}|�ttd��td����d��|�t|td����d��dS)Nzfoo()r0r1�a�b�a.bzfoo().b)rr'rr	)r$�calls  r�testzTest_Attr.test<sh���W�1�-�-�-�����t�D��I�I�t�C�y�y�1�1�5�9�9�9����t�D�$�s�)�)�,�,�i�8�8�8�8�8rc��ttd��td����}|�t|��t��dS)NrDrE)rr	r"�typer)r$�attrs  r�test_returnszTest_Attr.test_returnsBs?���D��I�I�t�C�y�y�)�)������d���T�*�*�*�*�*rN)r(r)r*rHrLr+rrrBrB;s2������9�9�9�+�+�+�+�+rrBc��eZdZd�ZdS)�	Test_Namec���|�td��d��|�td��d��|�tdd���d��dS)NrDz
foo.foo().barrE��prefix�ba)r'r	r6s rrHzTest_Name.testHs_�����t�C�y�y�#�&�&�&����t�O�,�,�o�>�>�>����t�C��,�,�,�d�3�3�3�3�3rN)r(r)r*rHr+rrrNrNGs#������4�4�4�4�4rrNc��eZdZdd�Zd�ZdS)�	Test_CallNc��	g}t|t��rO|D]8}|�|��|�t�����9|���tt
|��||��Sr)rr�appendr�popr
r	)r$�name�argsrQr�args      r�_CallzTest_Call._CallOs{�� ����d�D�!�!�	��
)�
)������$�$�$�������(�(�(�(��L�L�N�N�N��D��J�J��&�1�1�1rc	�N�dttjd��ttjd��ttjd��gttjd��ttjd��ttjd��ttjd��gttjd��ttjdd���gg}|�|�d	��d
��|�|�d|d��d��|�|�d|d��d
��|�|�d|dd���d��dS)Nrr0��rE�j� rP�AzA()zb(1,2,3)za.b().cza.b().c(1,3,2,4)�dz d(b, j))rr�NUMBER�STRINGr'r[)r$�kidss  rrHzTest_Call.testYs>����e�l�A�&�&��U�\�1�(=�(=��e�l�A�&�&�(��e�l�A�&�&��U�\�1�(=�(=��e�l�A�&�&��U�\�1�(=�(=�?��e�l�C�(�(�$�u�|�S��*M�*M�*M�N���	
���t�z�z�#����.�.�.����t�z�z�#�t�A�w�/�/��<�<�<����t�z�z�)�T�!�W�5�5�7I�J�J�J����t�z�z�#�t�A�w�s�z�;�;�Z�H�H�H�H�Hr)NN)r(r)r*r[rHr+rrrTrTNs<������2�2�2�2�I�I�I�I�IrrTc�&�eZdZd�Zd�Zd�Zd�ZdS)�Test_does_tree_importc��tj||��}|r|S|jD]}|�||��}|r|cS�dSr)r�find_bindingr�_find_bind_rec)r$rXr%�c�childs     rrjz$Test_does_tree_import._find_bind_rechs^��
�#�D�$�/�/����Q�h��]�	�	�E��#�#�D�%�0�0�A��N��(�(�(�N�	�	rc�x�t|��}|�d|��}tj|||��S)N�start)rrjr�does_tree_import)r$�packagerXr&r%s     rroz&Test_does_tree_import.does_tree_importqs7���V�}�}���"�"�7�D�1�1���*�7�D�$�?�?�?rc���d}|D]j\}}}|�|||dz|z��}|�|��|�|||dz|z��}|�|���kd}|D]j\}}}|�|||dz|z��}|�|��|�|||dz|z��}|�|���kdS)N))rDrD�from a import b)�a.drD�from a.d import b)zd.arD�from d.a import b)NrD�import b)NrD�import b, c, d�
))rDrD�from a import a)�xrD�from x import a)rzrD�from x import b, c, a, d)�x.brD�from x.b import a)r}rD�from x.b import b, c, a, d)NrD�import a)NrD�import b, c, a, d)ror9r5)r$r&�
failing_testsrprX�import_�n�
passing_testss        r�try_withzTest_does_tree_import.try_withws��8�
�
'4�	 �	 �"�G�T�7��%�%�g�t�W�t�^�f�5L�M�M�A����Q�����%�%�g�t�V�d�]�W�5L�M�M�A����Q�����;�
�'4�	�	�"�G�T�7��%�%�g�t�W�t�^�f�5L�M�M�A��O�O�A�����%�%�g�t�V�d�]�W�5L�M�M�A��O�O�A�����		�	rc�0�|�d��dS)Nzdef foo():
	bar.baz()
	start=3)r�r6s r�test_in_functionz&Test_does_tree_import.test_in_function�s���
�
�:�;�;�;�;�;rN)r(r)r*rjror�r�r+rrrgrggsS���������@�@�@����2<�<�<�<�<rrgc��eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�Test_find_bindingNc�H�tj|t|��|��Sr)rrir)r$rXr&rps    rrizTest_find_binding.find_binding�s���&�t�U�6�]�]�G�D�D�Drc���|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDza = bz
a = [b, c, d]z	a = foo()za = foo().foo.foo[6][foo]zfoo = azfoo = (a, b, c)�r5rir9r6s r�test_simple_assignmentz(Test_find_binding.test_simple_assignment�s�������)�)�#�w�7�7�8�8�8�����)�)�#��?�?�@�@�@�����)�)�#�{�;�;�<�<�<�����)�)�#�/J�K�K�L�L�L�����*�*�3�	�:�:�;�;�;�����*�*�3�0A�B�B�C�C�C�C�Crc���|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDz(a,) = bz(a, b, c) = [b, c, d]z(c, (d, a), b) = foo()z(a, b) = foo().foo[6][foo]z(foo, b) = (b, a)z(foo, (b, c)) = (a, b, c)r�r6s r�test_tuple_assignmentz'Test_find_binding.test_tuple_assignment�s�������)�)�#�z�:�:�;�;�;�����)�)�#�/F�G�G�H�H�H�����)�)�#�/G�H�H�I�I�I�����)�)�#�/K�L�L�M�M�M�����*�*�3�0C�D�D�E�E�E�����*�*�3�0K�L�L�M�M�M�M�Mrc���|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDz[a] = bz[a, b, c] = [b, c, d]z[c, [d, a], b] = foo()z[a, b] = foo().foo[a][foo]z[foo, b] = (b, a)z[foo, [b, c]] = (a, b, c)r�r6s r�test_list_assignmentz&Test_find_binding.test_list_assignment�s�������)�)�#�y�9�9�:�:�:�����)�)�#�/F�G�G�H�H�H�����)�)�#�/G�H�H�I�I�I�����)�)�#�/K�L�L�M�M�M�����*�*�3�0C�D�D�E�E�E�����*�*�3�0K�L�L�M�M�M�M�Mrc�N�|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDz	foo.a = 5z
foo[a] = 5z
foo(a) = 5z
foo(a, b) = 5�r9rir6s r�test_invalid_assignmentsz*Test_find_binding.test_invalid_assignments�s�������*�*�3��<�<�=�=�=�����*�*�3��=�=�>�>�>�����*�*�3��=�=�>�>�>�����*�*�3��@�@�A�A�A�A�Arc�N�|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDr�r�rvrwr�r6s r�test_simple_importz$Test_find_binding.test_simple_import�s�������)�)�#�z�:�:�;�;�;�����)�)�#�/B�C�C�D�D�D�����*�*�3�
�;�;�<�<�<�����*�*�3�0@�A�A�B�B�B�B�Brc��|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd	����dS)
NrDr{ryr|r~rrrrtrur�r6s r�test_from_importz"Test_find_binding.test_from_import�s&������)�)�#�/@�A�A�B�B�B�����)�)�#�/@�A�A�B�B�B�����)�)�#�/I�J�J�K�K�K�����)�)�#�/B�C�C�D�D�D�����)�)�#�/K�L�L�M�M�M�����*�*�3�0A�B�B�C�C�C�����*�*�3�0C�D�D�E�E�E�����*�*�3�0C�D�D�E�E�E�E�Erc�N�|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)NrDz
import b as azimport b as a, c, a as f, d�
import a as fzimport b, c as f, d as er�r6s r�test_import_asz Test_find_binding.test_import_as�s�������)�)�#��?�?�@�@�@�����)�)�#�/L�M�M�N�N�N�����*�*�3��@�@�A�A�A�����*�*�3�0J�K�K�L�L�L�L�Lrc�D�|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)	NrD�from x import b as a�from x import g as a, d as b�from x.b import t as a�from x.b import g as a, d�from a import b as tzfrom a.d import b as tzfrom d.a import b as tr�r6s r�test_from_import_asz%Test_find_binding.test_from_import_as�s������)�)�#�/E�F�F�G�G�G�����)�)�#�/M�N�N�O�O�O�����)�)�#�/G�H�H�I�I�I�����)�)�#�/J�K�K�L�L�L�����*�*�3�0F�G�G�H�H�H�����*�*�3�0H�I�I�J�J�J�����*�*�3�0H�I�I�J�J�J�J�Jrc�R�|�|�dd����|�|�dd����|�|�ddd����|�|�ddd����dS)NrErvrwrkr�r6s r�test_simple_import_with_packagez1Test_find_binding.test_simple_import_with_package�s�������)�)�#�z�:�:�;�;�;�����)�)�#�/?�@�@�A�A�A�����*�*�3�
�C�@�@�A�A�A�����*�*�3�0@�#�F�F�G�G�G�G�Grc��|�|�ddd����|�|�ddd����|�|�ddd����|�|�ddd����|�|�ddd����|�|�dd	d����|�|�dd
d����|�|�ddd����|�|�ddd
����|�|�ddd
����|�|�ddd����dS)NrDr{rzryzfrom x import *r|r~r}zfrom x.b import *rrrrtrsruzfrom x.y import *rFr�r6s r�test_from_import_with_packagez/Test_find_binding.test_from_import_with_package�s�������)�)�#�/@�#�F�F�G�G�G�����)�)�#�/@�#�F�F�G�G�G�����)�)�#�/@�#�F�F�G�G�G�����)�)�#�/I�3�O�O�P�P�P�����)�)�#�/B�E�J�J�K�K�K�����)�)�#�/B�E�J�J�K�K�K�����)�)�#�/K�U�S�S�T�T�T�����*�*�3�0A�3�G�G�H�H�H�����*�*�3�0C�U�K�K�L�L�L�����*�*�3�0C�U�K�K�L�L�L�����*�*�3�0C�U�K�K�L�L�L�L�Lrc��|�|�ddd����|�|�ddd����|�|�ddd����dS)NrDzimport b.c as azb.cr��fr�r6s r�test_import_as_with_packagez-Test_find_binding.test_import_as_with_package�s{������*�*�3�0A�5�I�I�J�J�J�����*�*�3���E�E�F�F�F�����*�*�3���E�E�F�F�F�F�Frc�R�|�|�ddd����|�|�ddd����|�|�ddd����|�|�ddd����|�|�ddd����|�|�ddd	����|�|�ddd
����dS)NrDr�rzr�r�r}r�r�rE�tr�r6s r� test_from_import_as_with_packagez2Test_find_binding.test_from_import_as_with_package�s��	
����*�*�3�0F��L�L�M�M�M�����*�*�3�0N�PS�T�T�U�U�U�����*�*�3�0H�%�P�P�Q�Q�Q�����*�*�3�0K�U�S�S�T�T�T�����*�*�3�0F��L�L�M�M�M�����*�*�3�0F��L�L�M�M�M�����*�*�3�0F��L�L�M�M�M�M�Mrc��|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����d	}|�|�d|����dS)
NrDz
def a(): passzdef a(b, c, d): passzdef a(): b = 7zdef d(b, (c, a), e): passzdef d(a=7): passzdef d(a): passzdef d(): a = 7zG
            def d():
                def a():
                    passr��r$�ss  r�test_function_defz#Test_find_binding.test_function_def�s1������)�)�#��?�?�@�@�@�����)�)�#�/E�F�F�G�G�G�����)�)�#�/?�@�@�A�A�A�����*�*�3�0K�L�L�M�M�M�����*�*�3�0B�C�C�D�D�D�����*�*�3�0@�A�A�B�B�B�����*�*�3�0@�A�A�B�B�B�
��	
����*�*�3��2�2�3�3�3�3�3rc��|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd	����|�|�dd
����|�|�dd����d}|�|�d|����dS)
NrDz
class a: passzclass a(): passzclass a(b): passzclass a(b, c=8): passz
class d: passzclass d(a): passzclass d(b, a=7): passzclass d(b, *a): passzclass d(b, **a): passzclass d: a = 7zK
            class d():
                class a():
                    passr�r�s  r�test_class_defz Test_find_binding.test_class_defs�������)�)�#��?�?�@�@�@�����)�)�#�/@�A�A�B�B�B�����)�)�#�/A�B�B�C�C�C�����)�)�#�/F�G�G�H�H�H�����*�*�3��@�@�A�A�A�����*�*�3�0B�C�C�D�D�D�����*�*�3�0G�H�H�I�I�I�����*�*�3�0F�G�G�H�H�H�����*�*�3�0G�H�H�I�I�I�����*�*�3�0@�A�A�B�B�B�
��	
����*�*�3��2�2�3�3�3�3�3rc�D�|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����|�|�dd����dS)	NrDzfor a in r: passzfor a, b in r: passzfor (a, b) in r: passzfor c, (a,) in r: passzfor c, (a, b) in r: passzfor c in r: a = czfor c in a: passr�r6s r�test_forzTest_find_binding.test_fors�������)�)�#�/A�B�B�C�C�C�����)�)�#�/D�E�E�F�F�F�����)�)�#�/F�G�G�H�H�H�����)�)�#�/G�H�H�I�I�I�����)�)�#�/I�J�J�K�K�K�����)�)�#�/B�C�C�D�D�D�����*�*�3�0B�C�C�D�D�D�D�Drc��d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d	}|�|�d|����dS)
NzM
            for b in r:
                for a in b:
                    passrDzP
            for b in r:
                for a, c in b:
                    passzR
            for b in r:
                for (a, c) in b:
                    passzP
            for b in r:
                for (a,) in b:
                    passzU
            for b in r:
                for c, (a, d) in b:
                    passzN
            for b in r:
                for c in b:
                    a = 7zN
            for b in r:
                for c in b:
                    d = azN
            for b in r:
                for c in a:
                    d = 7r�r�s  r�test_for_nestedz!Test_find_binding.test_for_nested"sd��
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����*�*�3��2�2�3�3�3�
��	
����*�*�3��2�2�3�3�3�3�3rc��|�|�dd����|�|�dd����dS)NrDzif b in r: a = czif a in r: d = er�r6s r�test_ifzTest_find_binding.test_ifSsP������)�)�#�/A�B�B�C�C�C�����*�*�3�0B�C�C�D�D�D�D�Drc��d}|�|�d|����d}|�|�d|����dS)NzL
            if b in r:
                if c in d:
                    a = crDzL
            if b in r:
                if c in d:
                    c = ar�r�s  r�test_if_nestedz Test_find_binding.test_if_nestedW�`��
��	
����)�)�#�q�1�1�2�2�2�
��	
����*�*�3��2�2�3�3�3�3�3rc��|�|�dd����|�|�dd����dS)NrDzwhile b in r: a = czwhile a in r: d = er�r6s r�
test_whilezTest_find_binding.test_whiledsP������)�)�#�/D�E�E�F�F�F�����*�*�3�0E�F�F�G�G�G�G�Grc��d}|�|�d|����d}|�|�d|����dS)NzR
            while b in r:
                while c in d:
                    a = crDzR
            while b in r:
                while c in d:
                    c = ar�r�s  r�test_while_nestedz#Test_find_binding.test_while_nestedhr�rc�^�d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����dS)NzQ
            try:
                a = 6
            except:
                b = 8rDzQ
            try:
                b = 8
            except:
                a = 6z�
            try:
                b = 8
            except KeyError:
                pass
            except:
                a = 6�Q
            try:
                b = 8
            except:
                b = 6r�r�s  r�test_try_exceptz!Test_find_binding.test_try_exceptus���
��
	
����)�)�#�q�1�1�2�2�2�
��
	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��
	
����*�*�3��2�2�3�3�3�3�3rc�`�d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����dS)	Nz�
            try:
                try:
                    a = 6
                except:
                    pass
            except:
                b = 8rDz�
            try:
                b = 8
            except:
                try:
                    a = 6
                except:
                    passz�
            try:
                b = 8
            except:
                try:
                    pass
                except:
                    a = 6z�
            try:
                try:
                    b = 8
                except KeyError:
                    pass
                except:
                    a = 6
            except:
                passz�
            try:
                pass
            except:
                try:
                    b = 8
                except KeyError:
                    pass
                except:
                    a = 6r�a
            try:
                try:
                    b = 8
                except:
                    c = d
            except:
                try:
                    b = 6
                except:
                    t = 8
                except:
                    o = yr�r�s  r�test_try_except_nestedz(Test_find_binding.test_try_except_nested�s9��
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�	
��	
����)�)�#�q�1�1�2�2�2�	
��	
����)�)�#�q�1�1�2�2�2�
��
	
����*�*�3��2�2�3�3�3�
��	
����*�*�3��2�2�3�3�3�3�3rc�^�d}|�|�d|����d}|�|�d|����d}|�|�d|����d}|�|�d|����dS)Nz|
            try:
                c = 6
            except:
                b = 8
            finally:
                a = 9rDzR
            try:
                b = 8
            finally:
                a = 6zR
            try:
                b = 8
            finally:
                b = 6z|
            try:
                b = 8
            except:
                b = 9
            finally:
                b = 6r�r�s  r�test_try_except_finallyz)Test_find_binding.test_try_except_finally�s���
��	
����)�)�#�q�1�1�2�2�2�
��
	
����)�)�#�q�1�1�2�2�2�
��
	
����*�*�3��2�2�3�3�3�
��	
����*�*�3��2�2�3�3�3�3�3rc��d}|�|�d|����d}|�|�d|����d}|�|�d|����dS)Nz�
            try:
                c = 6
            except:
                b = 8
            finally:
                try:
                    a = 9
                except:
                    b = 9
                finally:
                    c = 9rDz�
            try:
                b = 8
            finally:
                try:
                    pass
                finally:
                    a = 6z�
            try:
                b = 8
            finally:
                try:
                    b = 6
                finally:
                    b = 7r�r�s  r�test_try_except_finally_nestedz0Test_find_binding.test_try_except_finally_nesteds���
��	
����)�)�#�q�1�1�2�2�2�
��	
����)�)�#�q�1�1�2�2�2�
��	
����*�*�3��2�2�3�3�3�3�3rr)r(r)r*rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r+rrr�r��s�������E�E�E�E�D�D�D�N�N�N�N�N�N�B�B�B�C�C�C�F�F�F�M�M�M�K�K�K�H�H�H�M�M�M�G�G�G�

N�
N�
N�
4�
4�
4�4�4�4�$E�E�E�/4�/4�/4�bE�E�E�4�4�4�H�H�H�4�4�4�4�4�4�>K4�K4�K4�Z4�4�4�B!4�!4�!4�!4�!4rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�Test_touch_importc��td��}tjdd|��|�t	|��d��dS)Nz"""foo"""
bar()�fooz"""foo"""
import foo
bar()

�rr�touch_importr"r#�r$r%s  r�test_after_docstringz&Test_touch_import.test_after_docstring'sH���'�(�(�����e�T�2�2�2�����T���$F�G�G�G�G�Grc��td��}tjdd|��|�t	|��d��dS)Nz"""foo"""
import bar
bar()r�z'"""foo"""
import bar
import foo
bar()

r�r�s  r�test_after_importsz$Test_touch_import.test_after_imports,sH���3�4�4�����e�T�2�2�2�����T���$R�S�S�S�S�Src��td��}tjdd|��|�t	|��d��dS)N�bar()r�zimport foo
bar()

r�r�s  r�test_beginningz Test_touch_import.test_beginning1�E���W�~�~�����e�T�2�2�2�����T���$;�<�<�<�<�<rc��td��}tjdd|��|�t	|��d��dS)Nr��html�escapezfrom html import escape
bar()

r�r�s  rr�z"Test_touch_import.test_from_import6sE���W�~�~������$�7�7�7�����T���$H�I�I�I�I�Irc��td��}tjdd|��|�t	|��d��dS)Nr��cgizimport cgi
bar()

r�r�s  r�test_name_importz"Test_touch_import.test_name_import;r�rN)r(r)r*r�r�r�r�r�r+rrr�r�%sh������H�H�H�
T�T�T�
=�=�=�
J�J�J�
=�=�=�=�=rr�c��eZdZd�Zd�ZdS)�Test_find_indentationc���tj}td��}|�||��d��td��}|�||��d��dS)Nznode()�)r�find_indentationrr"�r$�fir%s   r�test_nothingz"Test_find_indentation.test_nothingBsb��
�
(���X���������D���2�&�&�&��R�y�y�������D���2�&�&�&�&�&rc��tj}td��}|�||��d��|�||jdjdjd��d��td��}|�||jdjdjd��d��dS)Nzdef f():
    x()r�rr^r0z    zdef f():
    x()
    y())rr�rr"rr�s   r�test_simplez!Test_find_indentation.test_simpleIs���
�
(���(�)�)�������D���2�&�&�&������D�M�!�,�5�a�8�A�!�D�E�E�v�N�N�N��1�2�2�������D�M�!�,�5�a�8�A�!�D�E�E�v�N�N�N�N�NrN)r(r)r*r�r�r+rrr�r�@s7������'�'�'�O�O�O�O�Orr�N)r)r�r�lib2to3.pytreerr�lib2to3r�lib2to3.fixer_utilrr	r
r�
lib2to3.pgen2rr�TestCaserr-r<rBrNrTrgr�r�r�r+rr�<module>r�sq��-�������&�%�%�%�%�%�%�%�������6�6�6�6�6�6�6�6�6�6�6�6�����������,�,�,�,�,�G�$�,�,�,�
<�
<�
<�
<�
<�G�$�
<�
<�
<� 0�0�0�0�0�7�#�0�0�0�	+�	+�	+�	+�	+�
�	+�	+�	+�4�4�4�4�4�
�4�4�4�I�I�I�I�I�
�I�I�I�2*<�*<�*<�*<�*<�G�,�*<�*<�*<�XP4�P4�P4�P4�P4��(�P4�P4�P4�d=�=�=�=�=��(�=�=�=�6O�O�O�O�O�G�,�O�O�O�O�Or