Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_asdl_parser.cpython-311.pyc
�

�Ke���H�dZddlZddlZddlZddlmZddlZddlZddl	Z	ej
��se	jd���eeee������Z
ej�e
d��ZGd�de	j��Zedkre	j��dSdS)	z+Tests for the asdl parser in Parser/asdl.py�N)�dirnamez'test irrelevant for an installed Python�Parserc�d�eZdZed���Zed���Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
S)�TestAsdlParserc�v�tj�dt��tj�dtj�td����}tj	�
d|��}tj	�|��}|�|��||_
|j
�tj�td����|_|�|j
�|j��d��dS)Nr�asdlzasdl.pyzPython.asdlzModule validation failed)�sys�path�insert�
parser_dir�	importlib�	machinery�SourceFileLoader�os�join�util�spec_from_loader�module_from_spec�exec_moduler�parse�mod�
assertTrue�check)�cls�loader�spec�modules    �?/usr/local/apps/python3/lib/python3.11/test/test_asdl_parser.py�
setUpClasszTestAsdlParser.setUpClasss���	�����:�&�&�&��$�5�5������Z��;�;�=�=���~�.�.�v�v�>�>����0�0��6�6�����6�"�"�"�����(�.�.�����j�-�!H�!H�I�I������s�x�~�~�c�g�.�.�0J�K�K�K�K�K�c� �tjd=dS)Nr)r	r
)rs r�
tearDownClasszTestAsdlParser.tearDownClass%s���H�Q�K�K�Kr c�l�tj|_tj|_|jj|_dS�N)rrr�types��selfs r�setUpzTestAsdlParser.setUp)s%��"�'��	�!�%����X�^��
�
�
r c���|�|jjd��|�d|j��|�d|j��|�d|j��dS)N�Python�stmt�exprr)�assertEqualr�name�assertInr%r&s r�test_modulezTestAsdlParser.test_module/sd���������1�1�1��
�
�f�d�j�)�)�)��
�
�f�d�j�)�)�)��
�
�e�T�Z�(�(�(�(�(r c�l�|jj}|�|d|jj��|�|dj|jj��|�|jd|jj��|�|jd|jj��dS)Nr�withitem�alias)	r�dfns�assertIsInstancer�Type�value�Sumr%�Product)r'�defss  r�test_definitionszTestAsdlParser.test_definitions5s����x�}�����d�1�g�t�y�~�6�6�6����d�1�g�m�T�Y�]�;�;�;����d�j��4�d�i�6G�H�H�H����d�j��1�4�9�3D�E�E�E�E�Er c�f�|jd}|�t|��d��dS)Nr3z�Product([Field(identifier, name), Field(identifier, asname, opt=True)], [Field(int, lineno), Field(int, col_offset), Field(int, end_lineno, opt=True), Field(int, end_col_offset, opt=True)]))r%r-�str)r'r3s  r�test_productzTestAsdlParser.test_product=sD���
�7�#�������J�J�
W�	X�	X�	X�	X�	Xr c���|jd}|�t|j��d��|�t	|jd��d��|�t	|jd��d��|�t	|jd��d��|�t	|jd	��d
��dS)Nr+�rzField(int, lineno)�zField(int, col_offset)�z Field(int, end_lineno, opt=True)�z$Field(int, end_col_offset, opt=True))r%r-�len�
attributes�repr)r'r+s  r�test_attributeszTestAsdlParser.test_attributesEs����z�&�!������T�_�-�-�q�1�1�1�����d�o�a�0�1�1�3G�H�H�H�����d�o�a�0�1�1�3K�L�L�L�����d�o�a�0�1�1�3U�V�V�V�����d�o�a�0�1�1�3Y�Z�Z�Z�Z�Zr c���|jd}|�t|j��d��|�t|j��d��|jd}|�||jj��|�t|j��d��|jd}|�|jd��|�|j	d��|�
|j��|jd}|�|jd��|�|j	d	��|�
|j��|jd
}|�|jd��|�|j	d��|�|j��|�
|j
��dS)
N�
excepthandlerrAr@rrCr,�type�
identifierr.rBr+�body)r%r-rDrEr5r�Constructor�fieldsrJr.r�opt�assertFalse�seq)r'�ehandler�cons�f0�f1�f2s      r�test_constructor_fieldsz&TestAsdlParser.test_constructor_fieldsMs����:�o�.������X�^�,�,�a�0�0�0�����X�0�1�1�1�5�5�5��~�a� �����d�D�I�$9�:�:�:�����T�[�)�)�1�-�-�-�
�[��^�������&�)�)�)������&�)�)�)���������
�[��^�������,�/�/�/������&�)�)�)���������
�[��^�������&�)�)�)������&�)�)�)������ � � ����������r c���Gd�d|jj��}|��}|�|jd��|�|jgd���dS)Nc�6��eZdZ�fd�Zd�Zd�Zd�Zd�Z�xZS)�2TestAsdlParser.test_visitor.<locals>.CustomVisitorc�V��t�����g|_dSr$)�super�__init__�names_with_seq)r'�	__class__s �rr]z;TestAsdlParser.test_visitor.<locals>.CustomVisitor.__init__hs'������ � �"�"�"�&(��#�#�#r c�D�|jD]}|�|���dSr$)r4�visit)r'r�dfns   r�visitModulez>TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitModulels.���8�$�$�C��J�J�s�O�O�O�O�$�$r c�:�|�|j��dSr$)rar7)r'rJs  r�	visitTypez<TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitTypeps���
�
�4�:�&�&�&�&�&r c�D�|jD]}|�|���dSr$)r%ra)r'�sum�ts   r�visitSumz;TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitSumss.����"�"�A��J�J�q�M�M�M�M�"�"r c�f�|jD](}|jr|j�|j���)dSr$)rNrQr^�appendr.)r'rS�fs   r�visitConstructorzCTestAsdlParser.test_visitor.<locals>.CustomVisitor.visitConstructorwsA����>�>�A��u�>��+�2�2�4�9�=�=�=��>�>r )	�__name__�
__module__�__qualname__r]rcrerirm�
__classcell__)r_s@r�
CustomVisitorrZgst�������
)�
)�
)�
)�
)�
$�
$�
$�
'�
'�
'�
"�
"�
"�
>�
>�
>�
>�
>�
>�
>r rrr)�Modulers�Interactive�FunctionType)r�VisitorBaserar%r-r^)r'rr�vs   r�test_visitorzTestAsdlParser.test_visitorfs���	>�	>�	>�	>�	>�D�I�1�	>�	>�	>�*
�M�O�O��	����
�5�!�"�"�"�����)�L�L�L�	N�	N�	N�	N�	Nr N)
rnrorp�classmethodrr"r(r0r;r>rGrWrx�r rrrs��������
L�
L��[�
L�����[��$�$�$�)�)�)�F�F�F�X�X�X�[�[�[� � � �2N�N�N�N�Nr r�__main__)�__doc__�importlib.machineryr
�importlib.utilr�os.pathrr	�	sysconfig�unittest�is_python_build�SkipTest�__file__�src_baser
rr�TestCaserrn�mainrzr r�<module>r�s"��1�1���������	�	�	�	�������
�
�
�
���������!�y� �"�"�G�
�(�
�E�
F�
F�F��7�7�7�7�7�8�,�,�-�-�.�.��
�W�\�\�(�H�
-�
-�
�kN�kN�kN�kN�kN�X�&�kN�kN�kN�\�z����H�M�O�O�O�O�O��r