
    Of                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d fdZd Zd	 Z	 G d
 de j
                  Z G d de          ZdS )    N)ABCInterface)ABCInterfaceClass)verifyClass)verifyObjectc                     dS )NT )ifaces    V/var/www/html/env/lib/python3.11/site-packages/zope/interface/common/tests/__init__.py<lambda>r      s         c              #     K   t                      }t          t          j                  }|r|                    d          }||v st          |t                    s1|                    |           |                    t          |j                              | |          syt          |	                                          }|t          |j
                  z  }|r||fV  |d S d S )Nr   )setlistr   
dependentspop
isinstancer   addextendgetRegisteredConformers#_ABCInterfaceClass__ignored_classes)	predicateseenstackr	   
registereds        r
   iter_abc_interfacesr      s       55D E  $		!D==
52C D D=T%*++,,,y 	668899
c%CDDD
 	$####  $ $ $ $ $r   c                 L    fd}t          | t          |                     d S )Nc                     | j         k    S N)
__module__)r	   modules    r
   r   z*add_abc_interface_tests.<locals>.predicate2   s    6))r   )add_verify_testsr   )clsr    r   s    ` r
   add_abc_interface_testsr#   1   s;    * * * * *S-i8899999r   c           
         d | _         |D ]\  }}|D ]}||fd}d                    |j                            dd          |j        |j                            dd          |j                  }d|z   }||_        t          | |          rJ |t          | j                  f            t          | ||           ||fd}d|z   }||_        t          | |          rJ t          | ||           ݌d S )Nc                     || j         v s|j        | j         v r|                     d|z             |                     |                     ||                     d S )NzUnable to verify %s)UNVERIFIABLE__name__skipTest
assertTrueverify)selfstdlib_classr	   s      r
   testzadd_verify_tests.<locals>.test;   s_     D$555 )T->>>MM"7,"FGGGE< @ @AAAAAr   z{}_{}_{}_{}._
test_auto_c                    ddl m} ddl m} ddl m} |                     t          |                    |d                    |j                    ||          }|j        }|                     |d         |           || j        vro|| j	        v}|                    ||          }	|	
                    |           |	                    |           |                     t          |	          |           d S d S )Nr   )	Interface)implementedBy)roT)strict)zope.interfacer2   r3   r4   assertEqualtuple__sro__assertIsUNVERIFIABLE_RONON_STRICT_ROremoveappend)
r+   r,   r	   r2   r3   r4   
implementssror5   isros
             r
   test_roz!add_verify_tests.<locals>.test_roO   s!   444444888888------  "%%d%3344M# # # +]<88
 (c"gy111t';;;
 *1CCF55F5;;DKK	***KK	***$$U4[[#66666 <;r   test_auto_ro_)	maxDiffformatr   replacer'   hasattrr   __dict__setattr)	r"   iface_classes_iterr	   registered_classesr,   r-   suffixnamerC   s	            r
   r!   r!   7   sR   CK%7 0( 0(!!. /	( /	(L(4E B B B B #))'//S99% ((c22	 F  &(D DMsD))EED$s|2D2D+EEE)Ct$$$+7u 7 7 7 7. #V+D#GsD)))))Cw''''_/	(0( 0(r   c                   <    e Zd Z ee          ZdZdZdZd Z	d Z
dS )VerifyClassMixinr   c                     |S r   r   )r+   r	   xs      r
   _adjust_object_before_verifyz-VerifyClassMixin._adjust_object_before_verifyr   s    r   c                 H     | j         ||                     ||          fi |S r   )verifierrS   )r+   r	   klasskwargss       r
   r*   zVerifyClassMixin.verifyu   s:    t}U!>>ueLL' '%' ' 	'r   N)r'   r   __qualname__staticmethodr   rU   r&   r=   r<   rS   r*   r   r   r
   rP   rP   l   sP        |K((HLMO  ' ' ' ' 'r   rP   c                   .    e Zd Z ee          Zi Zd ZdS )VerifyObjectMixinc                    | j                             |          }|s| j                             |          }|s| j                             |j                  }|s|}|t          j        u r%|                     dt          |          z              	  |            }n%# t          $ r}t          d|           |d }~ww xY wt          |d          r| 
                    |j                   |S )NzCannot create zFailed to create instance of close)CONSTRUCTORSgetr'   unittestSkipTestr(   str	Exception	TypeErrorrH   
addCleanupr]   )r+   r	   rR   constructorresultes         r
   rS   z.VerifyObjectMixin._adjust_object_before_verify   s   '++A.. 	7+//66K 	<+//
;;K 	K(+++MM*SVV3444	F []]FF 	F 	F 	F===? ?DEF	F 67## 	*OOFL)))s   
B 
B=%B88B=N)r'   r   rX   rY   r   rU   r^   rS   r   r   r
   r[   r[   {   s9        |L))HL    r   r[   )r`   zope.interface.commonr   r   zope.interface.verifyr   r   r   r#   r!   TestCaserP   r[   r   r   r
   <module>rl      s     . . . . . . 3 3 3 3 3 3 - - - - - - . . . . . . #5"4 $ $ $ $8: : :2( 2( 2(j' ' ' ' 'x( ' ' '    (     r   