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

�Kew'��*�dZddlZGd�d��ZGd�de��ZGd�de��ZGd	�d
ee��ZGd�de��ZGd
�de��ZGd�de��ZGd�dej	��Z
edkrej��dSdS)z9Unit tests for zero-argument super() & related machinery.�Nc�*�eZdZd�Zed���ZdS)�Ac��dS�Nr���selfs �9/usr/local/apps/python3/lib/python3.11/test/test_super.py�fzA.fs���s�c�
�|dfSrr)�clss r
�cmzA.cm	s���S�z�rN)�__name__�
__module__�__qualname__r�classmethodrrrr
rrs<�������������[���rrc�8��eZdZ�fd�Ze�fd���Z�xZS)�Bc�J��t�����dzS�Nr��superr�r	�	__class__s �r
rzB.f�����w�w�y�y�{�{�S� � rc�J��|t�����dfSr�rr�rrs �r
rzB.cm�����U�W�W�Z�Z�\�\�3�'�'r�rrrrrr�
__classcell__�rs@r
rr
�[�������!�!�!�!�!��(�(�(�(��[�(�(�(�(�(rrc�8��eZdZ�fd�Ze�fd���Z�xZS)�Cc�J��t�����dzS�Nr&rrs �r
rzC.frrc�J��|t�����dfSr(rrs �r
rzC.cmr rr!r#s@r
r&r&r$rr&c�(��eZdZ�fd�Z�fd�Z�xZS)�Dc�J��t�����dzS�Nr+rrs �r
rzD.frrc�J��|t�����dfSr-rrs �r
rzD.cms����U�W�W�Z�Z�\�\�3�'�'r)rrrrrr"r#s@r
r+r+sQ�������!�!�!�!�!�(�(�(�(�(�(�(�(�(rr+c��eZdZdS)�EN�rrrrrr
r0r0!��������Drr0c��eZdZejZdS)�FN)rrrr0rrrr
r4r4$s������	��A�A�Arr4c��eZdZdS)�GNr1rrr
r6r6'r2rr6c���eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
�fd	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Z�fd�Zd�Z�fd�Z�fd�Z�fd�Z�xZS)�	TestSuperc���t�dS�N)r8rs �r
�tearDownzTestSuper.tearDown-s����	�	�	rc�n�|�t�����d��dS�N�ABCD��assertEqualr+rrs r
�test_basics_workingzTestSuper.test_basics_working2s*������������&�)�)�)�)�)rc�z�|�t�t����d��dSr=r?rs r
�test_class_getattr_workingz$TestSuper.test_class_getattr_working5s,��������Q�S�S���6�*�*�*�*�*rc���|�t�����d��|�t�t����d��dSr=)r@r0rrs r
�!test_subclass_no_override_workingz+TestSuper.test_subclass_no_override_working8�N������������&�)�)�)�������Q�S�S���6�*�*�*�*�*rc���|�t�����d��|�t�t����d��dSr=)r@r4rrs r
�$test_unbound_method_transfer_workingz.TestSuper.test_unbound_method_transfer_working<rFrc���|�t���tdf��|�t�����tdf��|�t���tdf��|�t�����tdf��dSr)r@rrr6rs r
� test_class_methods_still_workingz*TestSuper.test_class_methods_still_working@s�����������!�S��*�*�*�����������A�s�8�,�,�,���������!�S��*�*�*�����������A�s�8�,�,�,�,�,rc�F�t��}|�|���|tttdfdfdfdf��t��}|�|���|tttdfdfdfdf��dS)Nrrr&r+)r+r@rr0)r	�d�es   r
�#test_super_in_class_methods_workingz-TestSuper.test_super_in_class_methods_workingFs���
�C�C����������!�a�!�a��X�s�);�S�%A�3�!G�H�H�H�
�C�C����������!�a�!�a��X�s�);�S�%A�3�!G�H�H�H�H�Hrc��Gd�dt��}|�|�����d��dS)Nc���eZdZ�fd�Z�xZS)�,TestSuper.test_super_with_closure.<locals>.Ec�V����fd�}t�����dzS)Nc����dSr:rrs�r
�nestedz>TestSuper.test_super_with_closure.<locals>.E.f.<locals>.nestedQs����D�D�Drr0r)r	rTrs` �r
rz.TestSuper.test_super_with_closure.<locals>.E.fPs4����������w�w�y�y�{�{�S�(�(r�rrrrr"r#s@r
r0rQOs8�������
)�
)�
)�
)�
)�
)�
)�
)�
)rr0�AE)rr@r)r	r0s  r
�test_super_with_closurez!TestSuper.test_super_with_closureLsX��	)�	)�	)�	)�	)��	)�	)�	)�	
�����������$�'�'�'�'�'rc�6��Gd�dt��}|��}|�|���d��|�|jd��G�fd�d��}|�|jt
|����|�t��5}tdt��i��ddd��n#1swxYwY|�t
|j��t��Gd�d��}|�t��dd	��t��d=|�d|j
��G�fd
�d��}|��d	��dS)Nc�"��eZdZ�fd�ZdZ�xZS)�7TestSuper.test_various___class___pathologies.<locals>.Xc�D��t�����Sr:rrs �r
rz9TestSuper.test_various___class___pathologies.<locals>.X.fZs����w�w�y�y�{�{�"r�)rrrrrr"r#s@r
�XrZYs1�������
#�
#�
#�
#�
#��I�I�I�I�Irr]rr\c�$���eZdZ�Z�fd�Z�xZS)rZc����dSr:rr#s�r
rz9TestSuper.test_various___class___pathologies.<locals>.X.fb�����	�	�	r)rrr�xrr"�rrs@�r
r]z7TestSuper.test_various___class___pathologies.<locals>.X`s>���������A�
�
�
�
�
�
�
�
�
rzYclass X:
                __class__
                def f():
                    __class__c�"��eZdZda�fd�Z�xZS)rZ�*c����dSr:rr#s�r
rz9TestSuper.test_various___class___pathologies.<locals>.X.fnr`r)rrrrrr"r#s@r
r]z7TestSuper.test_various___class___pathologies.<locals>.Xks=��������I�
�
�
�
�
�
�
�
�
rrrdc�$���eZdZd��fd�Z�xZS)rZrdc����dSr:rr#s�r
rz9TestSuper.test_various___class___pathologies.<locals>.X.fvr`rrUrbs@�r
r]z7TestSuper.test_various___class___pathologies.<locals>.Xss>���������I�
�
�
�
�
�
�
�
�
r)rr@rr�assertIsra�type�assertRaises�	NameError�exec�globals�	exception�assertNotIn�__dict__)r	r]rarMrs    �r
�"test_various___class___pathologiesz,TestSuper.test_various___class___pathologiesWs%���	�	�	�	�	��	�	�	�
�A�C�C�����������$�$�$������c�*�*�*�	�	�	�	�	�	�	�	�	�	�	
�
�
�a�c�4��:�:�&�&�&�
�
�
�y�
)�
)�	1�Q��!�#*�)�)�R�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�
	
�
�
�d�1�;�'�'��3�3�3�	�	�	�	�	�	�	�	�
	
������;�/��4�4�4��I�I�k�"�����a�j�1�1�1�	�	�	�	�	�	�	�	�	�	�
	
����B�'�'�'�'�'s�3C�C!�$C!c��Gd�d��}|�|�����|��dS)Nc���eZdZ�fd�Z�xZS)�2TestSuper.test___class___instancemethod.<locals>.Xc����Sr:rrs �r
rz4TestSuper.test___class___instancemethod.<locals>.X.f}�	��� � rrUr#s@r
r]rt|�8�������
!�
!�
!�
!�
!�
!�
!�
!�
!rr]�rhr�r	r]s  r
�test___class___instancemethodz'TestSuper.test___class___instancemethodzsT��	!�	!�	!�	!�	!�	!�	!�	!�	
�
�
�a�a�c�c�e�e�g�g�q�!�!�!�!�!rc�p�Gd�d��}|�|���|��dS)Nc�.��eZdZe�fd���Z�xZS)�/TestSuper.test___class___classmethod.<locals>.Xc����Sr:rrs �r
rz1TestSuper.test___class___classmethod.<locals>.X.f��	��� � r)rrrrrr"r#s@r
r]r}�sB�������
�
!�
!�
!�
!��[�
!�
!�
!�
!�
!rr]rxrys  r
�test___class___classmethodz$TestSuper.test___class___classmethod��N��	!�	!�	!�	!�	!�	!�	!�	!�	
�
�
�a�c�c�e�e�Q�����rc�p�Gd�d��}|�|���|��dS)Nc�.��eZdZe�fd���Z�xZS)�0TestSuper.test___class___staticmethod.<locals>.Xc����Sr:rr#s�r
rz2TestSuper.test___class___staticmethod.<locals>.X.f�rr�rrr�staticmethodrr"r#s@r
r]r���B�������
�
!�
!�
!�
!��\�
!�
!�
!�
!�
!rr]rxrys  r
�test___class___staticmethodz%TestSuper.test___class___staticmethod�r�rc���d�G�fd�dt��}Gd�d|���}|��|��dS)Nc�"���eZdZ��fd�Z�xZS)�*TestSuper.test___class___new.<locals>.Metac�x��t���||||��}|����|Sr:)r�__new__r)r�name�bases�	namespacer	r�
test_classs     ��r
r�z2TestSuper.test___class___new.<locals>.Meta.__new__�s0����w�w���s�D�%��C�C��!�V�V�X�X�
��r�rrrr�r"�rr�s@�r
�Metar��s>��������
�
�
�
�
�
�
�
�
�
rr�c�.��eZdZe�fd���Z�xZS)�'TestSuper.test___class___new.<locals>.Ac����Sr:rr#s�r
rz)TestSuper.test___class___new.<locals>.A.f�rrr�r#s@r
rr��r�rr��	metaclass�rirh�r	r�rr�s   @r
�test___class___newzTestSuper.test___class___new�s�����
�	�	�	�	�	�	�	�4�	�	�	�	!�	!�	!�	!�	!�$�	!�	!�	!�	!�
	
�
�
�j�!�$�$�$�$�$rc����d�G�fd�dt��}Gd�d|���}|�|d��tdd���}|�|���|��dS)Nc���eZdZ�fd�ZdS)�.TestSuper.test___class___delayed.<locals>.Metac���|�dSr:r)rr�r�r��test_namespaces    �r
r�z6TestSuper.test___class___delayed.<locals>.Meta.__new__�s
���!*���trN)rrrr�)r�s�r
r�r��s.�������
�
�
�
�
�
�
rr�c�.��eZdZe�fd���Z�xZS)�+TestSuper.test___class___delayed.<locals>.Ac����Sr:rr#s�r
rz-TestSuper.test___class___delayed.<locals>.A.f�rrr�r#s@r
rr��r�rrr�rr)rirhr)r	r�rrr�s    @r
�test___class___delayedz TestSuper.test___class___delayed�s������	�	�	�	�	�	�	�4�	�	�	�	!�	!�	!�	!�	!�$�	!�	!�	!�	!�
	
�
�
�a�������b�.�)�)���
�
�a�c�c�e�e�Q�����rc���d�Gd�dt��}G�fd�d|���}|��|��dS)Nc���eZdZ�fd�Z�xZS)�*TestSuper.test___class___mro.<locals>.Metac�n��|jd��t�����S)Nr)rpr�mrors �r
r�z.TestSuper.test___class___mro.<locals>.Meta.mro�s*���"��
�c�"�$�$�$��w�w�{�{�}�}�$r)rrrr�r"r#s@r
r�r��s8�������
%�
%�
%�
%�
%�
%�
%�
%�
%rr�c�"���eZdZ��fd�Z�xZS)�'TestSuper.test___class___mro.<locals>.Ac�����dSr:rr�s��r
rz)TestSuper.test___class___mro.<locals>.A.f�s���&�
�
�
rrUr�s@�r
rr��s>��������
'�
'�
'�
'�
'�
'�
'�
'�
'�
'rrr�r�r�s   @r
�test___class___mrozTestSuper.test___class___mro�s�����
�	%�	%�	%�	%�	%�4�	%�	%�	%�	'�	'�	'�	'�	'�	'�	'�$�	'�	'�	'�	'�
	
�
�
�j�!�$�$�$�$�$rc���G�fd�dt��}d�Gd�d|���}|�d���d�Gd�d|���}�d}|jj}|�t|��d	��|�||d
��|�t��5|j	ddd��dS#1swxYwYdS)Nc�"���eZdZ��fd�Z�xZS)�=TestSuper.test___classcell___expected_behaviour.<locals>.Metac�t��|����t���||||��Sr:)�copyrr�)rr�r�r�r�namespace_snapshots    ��r
r�zETestSuper.test___classcell___expected_behaviour.<locals>.Meta.__new__�s/���%.�^�^�%5�%5�"��w�w���s�D�%��C�C�Crr�)rr�s@�r
r�r��sH��������
D�
D�
D�
D�
D�
D�
D�
D�
D�
Drr�c��eZdZdS)�HTestSuper.test___classcell___expected_behaviour.<locals>.WithoutClassRefNr1rrr
�WithoutClassRefr����������Drr�r�r"c���eZdZ�fd�Z�xZS)�ETestSuper.test___classcell___expected_behaviour.<locals>.WithClassRefc����Sr:rrs �r
rzGTestSuper.test___classcell___expected_behaviour.<locals>.WithClassRef.f�rvrrUr#s@r
�WithClassRefr��rwrr��r)
riror�__closure__r@�lenrhrj�AttributeErrorr")r	r�r�r��
class_cell�method_closurer�s      @r
�%test___classcell___expected_behaviourz/TestSuper.test___classcell___expected_behaviour�s����	D�	D�	D�	D�	D�	D�	D�4�	D�	D�	D�"��	�	�	�	�	��	�	�	�	�����*<�=�=�=�
"��	!�	!�	!�	!�	!�T�	!�	!�	!�	!�(��8�
�%��3������^�,�,�a�0�0�0��
�
�j�.��"3�4�4�4�
�
�
�~�
.�
.�	'�	'��&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's�<C�C�Cc���Gd�dt��}Gd�d|���}d}|�t|��5Gd�d|���}ddd��dS#1swxYwYdS)	Nc���eZdZ�fd�Z�xZS)�2TestSuper.test___classcell___missing.<locals>.Metac�x��|�dd��t���||||��S�Nr")�poprr�)rr�r�r�rs    �r
r�z:TestSuper.test___classcell___missing.<locals>.Meta.__new__�s3����
�
�o�t�4�4�4��w�w���s�D�%��C�C�Crr�r#s@r
r�r���A�������
D�
D�
D�
D�
D�
D�
D�
D�
Drr�c��eZdZdS)�=TestSuper.test___classcell___missing.<locals>.WithoutClassRefNr1rrr
r�r��r�rr�r�z+__class__ not set.*__classcell__ propagatedc���eZdZ�fd�Z�xZS)�:TestSuper.test___classcell___missing.<locals>.WithClassRefc����Sr:rrs �r
rz<TestSuper.test___classcell___missing.<locals>.WithClassRef.f��	���$�$rrUr#s@r
r�r���8�������%�%�%�%�%�%�%�%�%rr�)ri�assertRaisesRegex�RuntimeError)r	r�r��expected_errorr�s     r
�test___classcell___missingz$TestSuper.test___classcell___missing�s��	D�	D�	D�	D�	D�4�	D�	D�	D�	�	�	�	�	��	�	�	�	�G��
�
#�
#�L�.�
A�
A�	%�	%�
%�
%�
%�
%�
%��
%�
%�
%�
%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s�A�A!�$A!c	�6�Gd�dt��}dddt��fD]r}|�|���5|�t��5Gd�d||���}ddd��n#1swxYwYddd��n#1swxYwY�sdS)	Nc���eZdZ�fd�Z�xZS)�4TestSuper.test___classcell___overwrite.<locals>.Metac�V��||d<t���||||��Sr�)rr�)rr�r�r��cellrs     �r
r�z<TestSuper.test___classcell___overwrite.<locals>.Meta.__new__s)���-1�	�/�*��w�w���s�D�%��C�C�Crr�r#s@r
r�r�r�rr�r�)�bad_cellc��eZdZdS)�1TestSuper.test___classcell___overwrite.<locals>.ANr1rrr
rr�
s�������rr)r�r�)ri�object�subTestrj�	TypeError)r	r�r�rs    r
�test___classcell___overwritez&TestSuper.test___classcell___overwrite�s`��	D�	D�	D�	D�	D�4�	D�	D�	D�
�q�"�f�h�h�/�	�	�H����x��0�0�
�
��&�&�y�1�1��������d������������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s5�B
�A6�*B
�6A:�:B
�=A:�>B
�
B	�B	c��Gd�dt��}|�t��5Gd�d|���}ddd��dS#1swxYwYdS)Nc���eZdZ�fd�Z�xZS)�5TestSuper.test___classcell___wrong_cell.<locals>.Metac�r��t���||||��}tdd|��}|S)Nrr)rr�ri)rr�r�r�rrs     �r
r�z=TestSuper.test___classcell___wrong_cell.<locals>.Meta.__new__s4����g�g�o�o�c�4��	�B�B����b�)�,�,���
rr�r#s@r
r�r�s8�������
�
�
�
�
�
�
�
�
rr�c���eZdZ�fd�Z�xZS)�2TestSuper.test___classcell___wrong_cell.<locals>.Ac����Sr:rrs �r
rz4TestSuper.test___classcell___wrong_cell.<locals>.A.fr�rrUr#s@r
rr�r�rrr�)rirjr�)r	r�rs   r
�test___classcell___wrong_cellz'TestSuper.test___classcell___wrong_cell
s���	�	�	�	�	�4�	�	�	��
�
�y�
)�
)�	%�	%�
%�
%�
%�
%�
%�d�
%�
%�
%�
%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s�A�A�Ac�����fd�}|�t|���fd�}|�t|d��Gd�d��}|�t|��j��dS)Nc�$��t��dSr:�rr#s�r
rz.TestSuper.test_obscure_super_errors.<locals>.fs����G�G�G�G�Grc�&��~t��dSr:r��rars �r
rz.TestSuper.test_obscure_super_errors.<locals>.fs�����G�G�G�G�Grc���eZdZ�fd�Z�xZS)�.TestSuper.test_obscure_super_errors.<locals>.Xc�&���t��dSr:r�r�s �r
rz0TestSuper.test_obscure_super_errors.<locals>.X.f$s���������rrUr#s@r
r]r�#s8�������
�
�
�
�
�
�
�
�
rr])rjr�r)r	rr]rs   �r
�test_obscure_super_errorsz#TestSuper.test_obscure_super_errorss����	�	�	�	�	����,��*�*�*�	�	�	�	�	�	
���,��4�0�0�0�	�	�	�	�	�	�	�	�
	
���,������.�.�.�.�.rc���Gd�d����fd�}|��jd}|�t�j|��dS)Nc���eZdZ�fd�Z�xZS)�&TestSuper.test_cell_as_self.<locals>.Xc�$��t��dSr:r�rs �r
�methz+TestSuper.test_cell_as_self.<locals>.X.meth,s��������r)rrrr�r"r#s@r
r]r�+s8�������
�
�
�
�
�
�
�
�
rr]c�(��������fd�}|S)Nc����Sr:r)�ks�r
�gz1TestSuper.test_cell_as_self.<locals>.f.<locals>.g1s����rr)r�r�r]s @�r
rz&TestSuper.test_cell_as_self.<locals>.f/s-��������A�
�
�
�
�
��Hrr)r�rjr�r�)r	r�cr]s   @r
�test_cell_as_selfzTestSuper.test_cell_as_self*sx���	�	�	�	�	�	�	�	�	�	�	�	�	�

�A�C�C�O�A������)�Q�V�Q�/�/�/�/�/rc���ttd��}td��D]#}t�|t|���$dS)Ng�?i�)r�float�range�__init__�int)r	�sp�irs   �r
�test_super_init_leakszTestSuper.test_super_init_leaks7sL���
�5�#�
�
���t���	'�	'�A��N�N�2�s�A�&�&�&�&�	'�	'rc���|�td��5tttt��ddd��dS#1swxYwYdS)Nzexpected at most�r�r�rrrs �r
�test_super_argcountzTestSuper.test_super_argcount@s����
�
#�
#�I�/A�
B�
B�	!�	!��#�s�C� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�!A�A�Ac���|�td��5tdt��ddd��dS#1swxYwYdS)Nzargument 1 must be a typer�r	rs �r
�test_super_argtypezTestSuper.test_super_argtypeDs����
�
#�
#�I�/J�
K�
K�	�	��!�S�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�A)rrrr;rArCrErHrJrNrWrqrzr�r�r�r�r�r�r�r�r�r�r�rr
rr"r#s@r
r8r8+s�������������
*�*�*�+�+�+�+�+�+�+�+�+�-�-�-�I�I�I�	(�	(�	(�!(�!(�!(�!(�!(�F"�"�"� � � � � � �%�%�%�& � � �(%�%�%�"'�'�'�>%�%�%�.���%�%�%�
/�
/�
/�
/�
/�0�0�0�'�'�'�'�'�!�!�!�!�!���������rr8�__main__)
�__doc__�unittestrrr&r+r0r4r6�TestCaser8r�mainrrr
�<module>rs���?�?�������������(�(�(�(�(��(�(�(�(�(�(�(�(��(�(�(�(�(�(�(�(��1�(�(�(�	�	�	�	�	��	�	�	����������	�	�	�	�	��	�	�	�[�[�[�[�[��!�[�[�[�|�z����H�M�O�O�O�O�O��r