HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-38.pyc
U

ؒ�]I�@s`dZddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddl
mZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Ze�deji�ZGdd�de�ZGdd�de�Ze
ee�Gdd �d ee�Ze
ee�Gd!d"�d"ej�ZdS)#z�Test interface declarations against ExtensionClass-like classes.

These tests are to make sure we do something sane in the presence of
classic ExtensionClass classes and instances.
�N)�odd)�	Interface)�implementer)�directlyProvides)�
providedBy)�directlyProvidedBy)�classImplements)�classImplementsOnly)�
implementedBy)�_skip_under_py3kc@seZdZdS)�I1N��__name__�
__module__�__qualname__�rr�L/usr/lib/python3/dist-packages/zope/interface/tests/test_odd_declarations.pyr src@seZdZdS)�I2Nr
rrrrr!src@seZdZdS)�I3Nr
rrrrr"src@seZdZdS)�I31Nr
rrrrr#src@seZdZdS)�I4Nr
rrrrr$src@seZdZdS)�I5Nr
rrrrr%src@seZdZdS)�OddNr
rrrrr'src@seZdZeZdS)�BN)rrrr�__implemented__rrrrr,src@seZdZdS)�ANr
rrrrr4src@seZdZdS)�CNr
rrrrr8src@sHeZdZdd�Zdd�Zdd�Zdd�Zed	d
��Zdd�Z	d
d�Z
dS)�Testc	Cs�t�}t|t�|�dd�t|�D�ddddg�|�dd�t|���D�dddddd	g�|�tt|�k�|�t	t|�k�|�t|��
t	��|�t|��
t��|�t|��
t��Gd
d�dt
t�}t|t�Gdd
�d
|�}t|t�t|t�|�}t|t�|�dd�t|�D�dddg�|�dd�t|���D�ddddd	g�|�tt|�k�|�t	t|�k�|�t|��
t	��|�t|��
t��|�t|��
t��|�t|��
t��Gdd�dt
t�}Gdd
�d
|�}t|t�t|t�|�}t|t�|�dd�t|�D�dddg�|�dd�t|���D�ddddd	g�|�tt|�k�|�t	t|�k�|�t|��
t	��|�t|��
t��|�t|��
t��|�t|��
t��dS)NcSsg|]}|���qSr�ZgetName��.0�irrr�
<listcomp>Bsz1Test.test_ObjectSpecification.<locals>.<listcomp>rrrrcSsg|]}|���qSrrrrrrr"Esrrc@seZdZdS�z,Test.test_ObjectSpecification.<locals>.COnlyNr
rrrr�COnlyNsr$c@seZdZdS�z(Test.test_ObjectSpecification.<locals>.DNr
rrrr�DRsr&cSsg|]}|���qSrrrrrrr"ZsrcSsg|]}|���qSrrrrrrr"\sc@seZdZeZdSr#)rrrrrrrrrr$esc@seZdZdSr%r
rrrrr&fscSsg|]}|���qSrrrrrrr"mscSsg|]}|���qSrrrrrrr"os)rrr�assertEqualrZ	flattened�
assertTruer�assertFalserZextendsrrrrr	r)�self�cr$r&rrr�test_ObjectSpecification?sd

��



��


��zTest.test_ObjectSpecificationcCs�tt�Gdd�dt��}tt�Gdd�dt��}Gdd�d||�}t|tt�|�dd�t|�D�d	d
ddg�t|t	�|�d
d�t|�D�d	d
dddg�dS)Nc@seZdZdS)z$Test.test_classImplements.<locals>.ANr
rrrrrzsrc@seZdZdS)z$Test.test_classImplements.<locals>.BNr
rrrrr~src@seZdZdS)z$Test.test_classImplements.<locals>.CNr
rrrrr�srcSsg|]}|���qSrrrrrrr"�sz-Test.test_classImplements.<locals>.<listcomp>rrrrcSsg|]}|���qSrrrrrrr"�sr)
rrrrrrrr'r
r�r*rrrrrr�test_classImplementsxs
�
�zTest.test_classImplementscCsptt�Gdd�dt��}tt�Gdd�dt��}Gdd�d||�}t|tt�|�dd�t|�D�d	d
g�dS)Nc@seZdZdS)z(Test.test_classImplementsOnly.<locals>.ANr
rrrrr�src@seZdZdS)z(Test.test_classImplementsOnly.<locals>.BNr
rrrrr�src@seZdZdS)z(Test.test_classImplementsOnly.<locals>.CNr
rrrrr�srcSsg|]
}|j�qSr)rrrrrr"�sz1Test.test_classImplementsOnly.<locals>.<listcomp>rr)	rrrrr	rrr'r
r-rrr�test_classImplementsOnly�s�zTest.test_classImplementsOnlyc	Cs~Gdd�dt�}Gdd�dt�}Gdd�dt�}Gdd�dt�}Gd	d
�d
t�}t|||�Gdd�dt�}t||�Gd
d�d||�}t||�|�}t|tt�|�tt|�k�|�tt|�k�|�|t|�k�|�|t|�k�|�|t|�k�|�|t|�k�t|t|�t�|�tt|�k�|�	tt|�k�|�	tt|�k�t|t|�t�|�tt|�k�dS)Nc@seZdZdS)z'Test.test_directlyProvides.<locals>.IA1Nr
rrrr�IA1�sr0c@seZdZdS)z'Test.test_directlyProvides.<locals>.IA2Nr
rrrr�IA2�sr1c@seZdZdS)z&Test.test_directlyProvides.<locals>.IBNr
rrrr�IB�sr2c@seZdZdS)z&Test.test_directlyProvides.<locals>.ICNr
rrrr�IC�sr3c@seZdZdS)z%Test.test_directlyProvides.<locals>.ANr
rrrrr�src@seZdZdS)z%Test.test_directlyProvides.<locals>.BNr
rrrrr�src@seZdZdS)z%Test.test_directlyProvides.<locals>.CNr
rrrrr�sr)
rrrrrrr(rrr))	r*r0r1r2r3rrr�obrrr�test_directlyProvides�s0

zTest.test_directlyProvidescCs|�tttt�dS)N)ZassertRaises�	TypeErrorrrr)r*rrr�)test_directlyProvides_fails_for_odd_class�sz.Test.test_directlyProvides_fails_for_odd_classcCsfGdd�dt�}Gdd�dt�}t||�Gdd�d|�}t|t�|�dd�t|�D�d	dg�dS)
Nc@seZdZdS)z#Test.test_implementedBy.<locals>.I2Nr
rrrrr�src@seZdZdS)z#Test.test_implementedBy.<locals>.C1Nr
rrrr�C1�sr8c@seZdZdS)z#Test.test_implementedBy.<locals>.C2Nr
rrrr�C2�sr9cSsg|]}|���qSrrrrrrr"�sz+Test.test_implementedBy.<locals>.<listcomp>r)rrrrr'r
)r*rr8r9rrr�test_implementedBy�s

�zTest.test_implementedBycCsTGdd�dt�}t�d|j|j�}Gdd�dt�}t�d|j|j�}Gdd�d||�}|�|j||f�|�}|�}|�|jd�|�|jd�d|_|�|jd�|�|jd�|�}|�|jd�|�|jd�d|_|�|jd�d|_|�|jd�|jzd	d
l	m
}Wntk
�r(YnXt|t
|f��r>t�|�|jj|j�dS)Nc@seZdZdZdS)z<Test.test_odd_metaclass_that_doesnt_subclass_type.<locals>.A�N)rrr�arrrrr�src@seZdZdZdS)z<Test.test_odd_metaclass_that_doesnt_subclass_type.<locals>.Br;N)rrr�brrrrr�src@seZdZdS)z<Test.test_odd_metaclass_that_doesnt_subclass_type.<locals>.CNr
rrrrr�srr;�r)�	ClassType)�objectr�	MetaClass�	__bases__�__dict__r'r<r=r+�typesr?�ImportError�
isinstance�type�AssertionErrorZassertIs�	__class__)r*rrrr<Zaar+r?rrr�,test_odd_metaclass_that_doesnt_subclass_type�s6z1Test.test_odd_metaclass_that_doesnt_subclass_typeN)rrrr,r.r/r5rr7r:rJrrrrr=s9"
r)�__doc__ZunittestZzope.interface.testsrZzope.interfacerrrrrrr	r
Zzope.interface._compatrrrrrrrr@rrArBrrrZTestCaserrrrr�<module>s2