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

�Ke8=���dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZ
ddlmZddlmZd�ZGd	�d
ej��Zd�ZGd�d
ej��ZGd�d��ZGd�d��ZGd�d��ZGd�de��ZGd�d��ZGd�dej��Zedkrej��dSdS)z3
  Test cases for the repr module
  Nick Mathewson
�N)�verbose)�create_empty_file)�repr)�Repr)�recursive_reprc�4�d}t|��D]}|f}�|S)N�)�range)�nesting�t�is   �;/usr/local/apps/python3/lib/python3.11/test/test_reprlib.py�nestedTuplers*��
�A�
�7�^�^����
�D����H�c�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�	ReprTestsc��|j}|td��d��|td��d��d}t|��dd�dzt|��dd�z}|t|��|��|td	��td	����d
}t|��dd�dzt|��dd�z}|t|��|��dS)N�abcz'abc'�abcdefghijklmnopz'abcdefghijklmnop'�<aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb�
�...��z"'z�""""""""""""""""""""""""""""""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''��assertEqual�rr)�self�eq�s�expecteds    r�test_stringzReprTests.test_strings���
�
��
��1�U�8�8�W����
��1�
� � �!5�6�6�6�����7�7�3�B�3�<�%�'�$�q�'�'�#�$�$�-�7��
��1�Q�4�4�����
��1�U�8�8�T�%�[�[�!�!�!�����7�7�3�B�3�<�%�'�$�q�'�'�#�$�$�-�7��
��1�Q�4�4������rc���|j}|td��d��d}|t|��d��t��}d|_t	|��dd�dz}||�|��|��t��}d|_d|_t	|��dd�d	z}||�|��|��dS)
N���(1,)�r$���	(1, 2, 3)r'���z...)�+++z+++))rrr�maxtupler�	fillvalue)rr�t3�r2r �r3s      r�
test_tuplezReprTests.test_tuple*s���
�
��
��1�T�7�7�F����
��
��1�R�5�5�+����
�V�V�������8�8�C�R�C�=�6�)��
��2�7�7�2�;�;��!�!�!��V�V����������8�8�C�R�C�=�6�)��
��2�7�7�2�;�;��!�!�!�!�!rc	�6�ddlm}ddlm}|j}|t	d��d��|t	d��d��|t	d��d	��|t	d
��d��|t	d��d
��|t	g��d��|t	dg��d��|t	gd���d��|t	gd
���d��|t	gd���d��|t	tg����d��|t	tdg����d��|t	tgd�����d��|t	tgd
�����d��|t	tgd�����d��|t	t
g����d��|t	t
dg����d��|t	t
gd�����d��|t	t
gd
�����d��|t	t
gd�����d��|t	|gd�����d��|t	i��d��dd d!d"d#�}|t	|��d$��d|d%<|t	|��d&��|t	|d'����d(��|t	|d'dg����d)��|t	|d'dd g����d*��|t	|d'gd�����d+��|t	|d'gd,�����d-��|t	|d'gd.�����d/��|t	|d'gd
�����d0��dS)1Nr)�array)�dequer	z()r#r%r&r))r$r'r(���z(1, 2, 3, 4, 5, 6))r$r'r(r5r6r7�z(1, 2, 3, 4, 5, 6, ...)z[]r$z[1]z	[1, 2, 3]z[1, 2, 3, 4, 5, 6]z[1, 2, 3, 4, 5, 6, ...]zset()�{1}�	{1, 2, 3}�{1, 2, 3, 4, 5, 6}�{1, 2, 3, 4, 5, 6, ...}zfrozenset()�frozenset({1})�frozenset({1, 2, 3})�frozenset({1, 2, 3, 4, 5, 6})�"frozenset({1, 2, 3, 4, 5, 6, ...})zdeque([1, 2, 3, 4, 5, 6, ...])z{}r'r(r5)�alice�bob�charles�davez/{'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}�arthurz6{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}r
z
array('i')zarray('i', [1])zarray('i', [1, 2])zarray('i', [1, 2, 3]))r$r'r(r5zarray('i', [1, 2, 3, 4]))r$r'r(r5r6zarray('i', [1, 2, 3, 4, 5])z array('i', [1, 2, 3, 4, 5, ...]))r3�collectionsr4rr�set�	frozenset)rr3r4r�ds     r�test_containerzReprTests.test_container=sx��������%�%�%�%�%�%�
�
��
��1�R�5�5�$����
��1�T�7�7�F����
��1�Y�<�<��%�%�%�
��1�
� � �"6�7�7�7�
��1�
"�#�#�%>�?�?�?�	��1�R�5�5�$����
��1�a�S�6�6�5����
��1�Y�Y�Y�<�<��%�%�%�
��1�
�
�
� � �"6�7�7�7�
��1�
"�
"�
"�#�#�%>�?�?�?�	��1�S��W�W�:�:�w����
��1�S�!��X�X�;�;�����
��1�S����^�^���k�*�*�*�
��1�S�#�#�#�
$�
$�%�%�';�<�<�<�
��1�S�&�&�&�
'�
'�(�(�*C�D�D�D�	��1�Y�r�]�]���]�+�+�+�
��1�Y��s�^�^���.�/�/�/�
��1�Y�y�y�y�
!�
!�"�"�$:�;�;�;�
��1�Y�)�)�)�
*�
*�+�+�-L�M�M�M�
��1�Y�,�,�,�
-�
-�.�.�0T�U�U�U�	��1�U�U�(�(�(�
)�
)�*�*�,L�M�M�M�	��1�R�5�5�$������a��;�;��
��1�Q�4�4�B�C�C�C���(��
��1�Q�4�4�I�J�J�J�	��1�U�U�3�Z�Z�=�=�,�'�'�'�
��1�U�U�3���_�_���0�1�1�1�
��1�U�U�3��A��
�
� � �"6�7�7�7�
��1�U�U�3�	�	�	�
"�
"�#�#�%<�=�=�=�
��1�U�U�3����
%�
%�&�&�(B�C�C�C�
��1�U�U�3����
(�
(�)�)�+H�I�I�I�
��1�U�U�3�*�*�*�
+�
+�,�,�5�	7�	7�	7�	7�	7rc���|j}|tdh��d��|thd���d��|thd���d��|thd���d��dS)	Nr$r9�r$r'r(r:�r$r'r(r5r6r7r;�r$r'r(r5r6r7r8r<)rr�rrs  r�test_set_literalzReprTests.test_set_literalrs���
�
��
��1�a�S�6�6�5����
��1�Y�Y�Y�<�<��%�%�%�
��1�
�
�
� � �"6�7�7�7�
��1�
"�
"�
"�#�#�%>�?�?�?�?�?rc�R�|j}|ttdh����d��|tthd�����d��|tthd�����d��|tthd�����d��dS)	Nr$r=rLr>rMr?rNr@)rrrHrOs  r�test_frozensetzReprTests.test_frozensetys���
�
��
��1�Y��s�^�^���.�/�/�/�
��1�Y�y�y�y�
!�
!�"�"�$:�;�;�;�
��1�Y�)�)�)�
*�
*�+�+�-L�M�M�M�
��1�Y�,�,�,�
-�
-�.�.�0T�U�U�U�U�Urc��|j}|td��td����|td��td����|td��td����ddz}t|��dd�dzt|��dd�z}|t|��|��dS)N�{gUUUUUU�?�
�d�ri��r)rr�nr s    r�test_numberszReprTests.test_numbers�s���
�
��
��1�S�6�6�4��9�9����
��1�S�6�6�4��9�9����
��1�U�8�8�T�%�[�[�!�!�!���G����7�7�3�B�3�<�%�'�$�q�'�'�#�$�$�-�7��
��1�Q�4�4������rc��|j}td��}|t|��t|����td��}t|��dd�dzt|��dd�z}|t|��|��t	��}|t|��dt|��z��tt��}|�|�d����|�|�d����|�	|�
d��d	dg��dS)
N�a��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrrz&<ClassWithFailingRepr instance at %#x>z<class �>�)r�
ClassWithReprrr�ClassWithFailingRepr�id�
assertTrue�
startswith�endswith�assertIn�find)rr�i1�i2r �i3rs       r�
test_instancezReprTests.test_instance�s$��
�
��
�3�
�
��
��1�R�5�5�$�r�(�(����
�8�
$�
$����8�8�C�R�C�=�5�(�4��8�8�C�D�D�>�9��
��1�R�5�5�(����
!�
#�
#��
��1�R�5�5�;�B�r�F�F�B�D�D�D�
�"�#�#��������Y�/�/�0�0�0�����
�
�3���(�(�(��
�
�a�f�f�U�m�m�b�"�X�.�.�.�.�.rc�n�td���}|�|jd��|��dS)Nc��|S�Nr	��xs r�<lambda>z'ReprTests.test_lambda.<locals>.<lambda>�s��1�rz0<function ReprTests.test_lambda.<locals>.<lambda)rrbrc)rrs  r�test_lambdazReprTests.test_lambda�s9��������������%W�X�X�Z[�\�\�\�\�\rc���|j}|tt��d��|�tdj���d����dS)Nz<built-in function hash>�z*<built-in method split of str object at 0x)rr�hashrb�splitrcrOs  r�test_builtin_functionzReprTests.test_builtin_function�s`��
�
��
��4��:�:�1�2�2�2�����R�X���1�1�8�:�:�	;�	;�	;�	;�	;rc	��|j}|ttd����d��|ttdd����d��|ttddd����d��dS)Nr$zrange(0, 1)r'zrange(1, 2)r5r(zrange(1, 4, 3))rrr
rOs  r�
test_rangezReprTests.test_range�su��
�
��
��4��a���>�>�=�)�)�)�
��4��a������m�,�,�,�
��4��a��A�����!1�2�2�2�2�2rc�|�|j}|tggggggg��d��|tgggggggg��d��|ttd����d��|ttd����d��|ttd��td��i��d��|ttd��td��i��d	��|tigggggg��d
��|tiggggggg��d��dS)Nz[[[[[[[]]]]]]]z[[[[[[[...]]]]]]]r7z(((((((),),),),),),)r8z(((((((...),),),),),),)r6z&{((((((),),),),),): ((((((),),),),),)}z,{((((((...),),),),),): ((((((...),),),),),)}z[[[[[[{}]]]]]])rrrrOs  r�test_nestingzReprTests.test_nesting�sZ��
�
��
��1�2�$���z�l�^���.�/�/�/�
��1�B�4�&��
�|�n�
��� 3�4�4�4�
��1�[��^�^���4�5�5�5�
��1�[��^�^���7�8�8�8�
��1�{�1�~�~��A���
0�1�1�3�	5�	5�	5�
��1�{�1�~�~��A���
0�1�1�9�	;�	;�	;�	��1�2�$���z�l�^���.�/�/�/�
��1�B�4�&��
�|�n�
��� 3�4�4�4�4�4rc���d�}|��jd}|�t|��d��|�t|��d��dS)Nc���d��fd�}|S)N�*c����Srmr	rns�r�innerz4ReprTests.test_cell.<locals>.get_cell.<locals>.inner�s����rr	)rros @r�get_cellz%ReprTests.test_cell.<locals>.get_cell�s&����A�
�
�
�
�
��Lrrz6<cell at 0x[0-9A-Fa-f]+: int object at 0x[0-9A-Fa-f]+>z<cell at 0x.*\.\.\..*>)�__closure__�assertRegexrr)rr�ros   r�	test_cellzReprTests.test_cell�sr��	�	�	�

�H�J�J�"�1�%������a���#C�	D�	D�	D�����1���8�9�9�9�9�9rc�t�|j}|ttj��d��Gd�d��}t	|j��}|�t|��d|j�d���t
|j��}|�t|��d|j�d���dS)Nz"<method 'items' of 'dict' objects>c��eZdZd�ZdS)�%ReprTests.test_descriptors.<locals>.Cc��dSrmr	)�clss r�fooz)ReprTests.test_descriptors.<locals>.C.foo�s���rN)�__name__�
__module__�__qualname__r�r	rr�Cr��s����������rr�z<staticmethod(z)>z
<classmethod()rr�dict�items�staticmethodr��classmethod)rrr�ros    r�test_descriptorszReprTests.test_descriptors�s���
�
��
��4��
���A�B�B�B�
	�	�	�	�	�	�	�	�����������a���">�1�5�">�">�">�?�?�?�����������a���"=�!�%�"=�"=�"=�>�>�>�>�>rc��tgd���}t|��}ddd�}t|��t|��t|��dS)N)��?�@y@r$r')r�r�)rGrHr)rro�y�zs    r�test_unsortablezReprTests.test_unsortable�sP��
��������a�L�L����N�N��	�!����	�!����	�!�����rN)r�r�r�r!r1rJrPrRrYrjrqrvrxrzr�r�r�r	rrrrs����������"�"�"�&37�37�37�j@�@�@�V�V�V����/�/�/�"]�]�]�
;�;�;�3�3�3�5�5�5�"	:�	:�	:�
?�
?�
?�
�
�
�
�
rrc��t|dd���5}|�|��ddd��dS#1swxYwYdS)N�w�ASCII)�encoding)�open�write)�path�text�fps   r�
write_filer��s���	
�d�C�'�	*�	*�	*��b�
���������������������������s�6�:�:c��eZdZdZd�Zd�Zd�Zd�Zd�Ze	j
d��d���Zd	�Zd
�Z
d�Ze	j
d��d
���ZdS)�LongReprTest�3areallylongpackageandmodulenametotestreprtruncationc���tj�|j��|_tj�|j|j��|_t
j|jd���tj|j��ttj�|jd����t
j|jd���tj|j��ttj�|jd����tj
��|_tj�
d|j��tj��dS)NT)�
ignore_errorsz__init__.pyr)�osr��join�longname�pkgname�
subpkgname�shutil�rmtree�mkdirr�getcwd�here�sys�insert�	importlib�invalidate_caches�rs r�setUpzLongReprTest.setUp�s���w�|�|�D�M�2�2����'�,�,�t�}�d�m�D�D����
�d�l�$�7�7�7�7�
��������"�'�,�,�t�|�]�C�C�D�D�D��
�d�o�T�:�:�:�:�
����!�!�!��"�'�,�,�t��
�F�F�G�G�G��I�K�K��	������4�9�%�%�%�	�#�%�%�%�%�%rc��g}tj|j��D]A\}}}||zD]5}|�tj�||�����6�B|�|j��|���|���|D]J}tj�|��rtj	|���6tj
|���Ktjd=dS)Nr)r��walkr��appendr�r��sort�reverse�isdir�rmdir�remover�)r�actions�dirpath�dirnames�	filenames�name�ps       r�tearDownzLongReprTest.tearDown�s�����,.�G�D�L�,A�,A�	<�	<�(�G�X�y� �9�,�
<�
<�����r�w�|�|�G�T�:�:�;�;�;�;�
<����t�|�$�$�$��������������	�	�A��w�}�}�Q���
���������	�!������H�Q�K�K�Krc���t|j��}|dt|j��dzzz
}|t|��dztd��zz
}|ttj�d����ztd��z
}tjdkr |dkr|�d|z��dStjdkrtrtd|��dSdSdS)	Nr'r$�.pyzx.py�ntizDtest paths too long (%d characters) for Windows' 260 character limitzcached_path_len =)�lenr�r�r��util�cache_from_sourcer�r��skipTestr�print)r�module_name�source_path_len�cached_path_lens    r�_check_path_limitationsz$LongReprTest._check_path_limitations
s����d�i�.�.���1��D�M� 2� 2�Q� 6�7�7���3�{�+�+�a�/�#�e�*�*�<�<��*��	��0�0��8�8�9�9�:�<?��K�K�H��
�7�d�?�?��#�5�5�
�M�M�`�+�,�
-�
-�
-�
-�
-�
�W��_�_��_��%��7�7�7�7�7��_�_�_rc��d|_|�|j��ttj�|j|jdz����tj	��ddl
m}|}|�t|��d|j�d|j�d���|�tt ��d��dS)Nr�r)r�z<module z from r]z<module 'sys' (built-in)>)�maxDiffr�r�rr�r�r�r�r�r��gareallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncationr�rrr��__file__r�)rr��modules   r�test_modulezLongReprTest.test_modules�������$�$�T�\�2�2�2��"�'�,�,�t����u�8L�M�M�N�N�N��#�%�%�%�	p�	p�	p�	p�	p�	p�D������f��������QW�Q`�Q`�Q`�'a�b�b�b�����c���$?�@�@�@�@�@rc�"�|�d��|j}ttj�|jd��d��tj��ddl	m
}|t|j
��d|jz��dS)Nr�zfoo.pyzclass foo(object):
    pass
r)r�z<class '%s.foo'>)
r�rr�r�r�r�r�r�r�r�r�rr�)rrr�s   r�	test_typezLongReprTest.test_type&s����$�$�U�+�+�+�
�
���2�7�<�<����:�:�=�	�	�	�	�#�%�%�%�������
��4���=�=�!�C�L�0�	2�	2�	2�	2�	2rzneed a suitable objectc��dSrmr	r�s r�test_objectzLongReprTest.test_object2s	��	
�rc�(�|�d��ttj�|jd��d��t
j��ddlm	}|�
t|j	��d|jz��dS)N�barzbar.pyzclass bar:
    pass
r)r�z<class '%s.bar'>)
r�r�r�r�r�r�r�r�r�r�rrr�)rr�s  r�
test_classzLongReprTest.test_class8s����$�$�U�+�+�+��2�7�<�<����:�:�=�	�	�	�	�#�%�%�%�����������c�g���(:�S�\�(I�J�J�J�J�Jrc�j�|�d��ttj�|jd��d��t
j��ddlm	}|�	��}|�
t|���d|j
z����dS)N�bazzbaz.pyzclass baz:
    pass
r)r�z<%s.baz object at 0x)r�r�r�r�r�r�r�r�r�r�rbrrcr�)rr��ibazs   rrjzLongReprTest.test_instanceCs����$�$�U�+�+�+��2�7�<�<����:�:�=�	�	�	�	�#�%�%�%��������w�w�y�y������T�
�
�-�-�"�S�\�1�3�3�	4�	4�	4�	4�	4rc��|�d��|j}ttj�|jd��d��tj��ddl	m
}t|jj
��}|�|jd��|��|���}t|j
��}|�|jd|j�d���|��dS)	N�quxzqux.pyz�class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
    def amethod(self): pass
r)r�z�<function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethodz�<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <z�.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa object at 0x)r�rr�r�r�r�r�r�r�r�r�r��aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�amethodrbrcr�)rrr�r�iquxs     r�test_methodzLongReprTest.test_methodOs2���$�$�U�+�+�+�
�
���2�7�<�<����:�:�=�	�	�	�	�#�%�%�%���������^�f�
g�
g��������&B�C�C�EF�	G�	G�	G��\�\�^�^����������������|�|�|�
� � �!"�	$�	$�	$�	$�	$rz1needs a built-in function with a really long namec��dSrmr	r�s rrvz"LongReprTest.test_builtin_functionbs	��	
�rN)r�r�r�r�r�r�r�r�r��unittest�skipr�r�rjr�rvr	rrr�r��s�������D�H�&�&�&�"
�
�
�8�8�8�$A�A�A�
2�
2�
2��X�]�+�,�,�
�
�-�,�
�
	K�	K�	K�
4�
4�
4�$�$�$�&�X�]�F�G�G�
�
�H�G�
�
�
rr�c��eZdZd�Zd�ZdS)r_c��||_dSrm�r)rrs  r�__init__zClassWithRepr.__init__hs
������rc��d|jzS)NzClassWithRepr(%r)r�r�s r�__repr__zClassWithRepr.__repr__js��"�T�V�+�+rN)r�r�r�r�r�r	rrr_r_gs2���������,�,�,�,�,rr_c��eZdZd�ZdS)r`c� �td���)Nz+This should be caught by Repr.repr_instance)�	Exceptionr�s rr�zClassWithFailingRepr.__repr__os���E�F�F�FrN)r�r�r�r�r	rrr`r`ns(������G�G�G�G�Grr`c�D�eZdZdZd�Zd�Ze��d���ZdS)�MyContainerz"Helper class for TestRecursiveReprc�.�t|��|_dSrm)�list�values)rr�s  rr�zMyContainer.__init__ts���6�l�l����rc�:�|j�|��dSrm)r�r�)r�values  rr�zMyContainer.appendvs������5�!�!�!�!�!rc�h�dd�tt|j����zdzS�N�<z, r]�r��map�strr�r�s rr�zMyContainer.__repr__x�*���T�Y�Y�s�3���4�4�5�5�5��;�;rN)r�r�r��__doc__r�r�rr�r	rrr�r�rsZ������(�(�#�#�#�"�"�"��^���<�<���<�<�<rr�c�6�eZdZed��d���ZdS)�MyContainer2r+c�h�dd�tt|j����zdzSr�r�r�s rr�zMyContainer2.__repr__}rrN)r�r�r�rr�r	rrrr|s8�������^�E���<�<���<�<�<rrc�>�eZdZd�ZeZe��e��ZdS)�MyContainer3c��dS)zTest document contentNr	r�s rr�zMyContainer3.__repr__�s���rN)r�r�r�r��wrappedr�wrapperr	rrrr�s;������
�
�
��G��n�n���w�'�'�G�G�Grrc��eZdZd�Zd�ZdS)�TestRecursiveReprc��ttd����}|�|��|�d��|�|��|�t	|��d��ttd����}|�|��|�d��|�|��|�t	|��d��dS)N�abcderoz<a, b, c, d, e, ..., x, ...>z<a, b, c, d, e, +++, x, +++>)r�r�r�rrr)r�ms  r�test_recursive_reprz%TestRecursiveRepr.test_recursive_repr�s�����W�
�
�&�&��	�������	����
�
�
�	�����������a���"@�A�A�A���g���'�'��	�������	����
�
�
�	�����������a���"@�A�A�A�A�Arc��ddlm}tj}tj}|D]4}|�t
||��t
||�����5dS)Nr)�WRAPPER_ASSIGNMENTS)�	functoolsrrr
r�assertIs�getattr)r�assignedr
rr�s     r�test_assigned_attributesz*TestRecursiveRepr.test_assigned_attributes�sl��=�=�=�=�=�=��&���&���	J�	J�D��M�M�'�'�4�0�0�'�'�4�2H�2H�I�I�I�I�	J�	JrN)r�r�r�rrr	rrr
r
�s:������
B�
B�
B�J�J�J�J�Jrr
�__main__)rr�r�r�r��importlib.utilr��test.supportr�test.support.os_helperr�reprlibrrrrr�TestCaserr�r�r_r`r�rrr
r��mainr	rr�<module>r s^����
�
�
�
�	�	�	�	�
�
�
�
������������� � � � � � �4�4�4�4�4�4�������������"�"�"�"�"�"�
�
�
�G
�G
�G
�G
�G
��!�G
�G
�G
�R���~
�~
�~
�~
�~
�8�$�~
�~
�~
�@,�,�,�,�,�,�,�,�G�G�G�G�G�G�G�G�<�<�<�<�<�<�<�<�<�<�<�<�<�;�<�<�<�
(�(�(�(�(�(�(�(�J�J�J�J�J��)�J�J�J�(�z����H�M�O�O�O�O�O��r