
    Ng                         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y)    N)verifyClass)verifyObject)ABCInterface)ABCInterfaceClassc                      y)NT )ifaces    _/var/www/djangounited/venv/lib/python3.12/site-packages/zope/interface/common/tests/__init__.py<lambda>r      s        c              #     K   t               }t        t        j                        }|r|j	                  d      }||v st        |t              s(|j                  |       |j                  t        |j                                | |      sft        |j                               }|t        |j                        z  }|r||f |ry y w)Nr   )setlistr   
dependentspop
isinstancer   addextendgetRegisteredConformers#_ABCInterfaceClass__ignored_classes)	predicateseenstackr	   
registereds        r
   iter_abc_interfacesr      s      5D(()E
		!D=
52C DT%**+,6689
c%CCDD
## s   CC
C
c                 :    fd}t        | t        |             y )Nc                 "    | j                   k(  S N)
__module__)r	   modules    r
   r   z*add_abc_interface_tests.<locals>.predicate0   s    6))r   )add_verify_testsr   )clsr    r   s    ` r
   add_abc_interface_testsr#   /   s    *S-i89r   c                    d | _         |D ]  \  }}|D ]  }||fd}|j                  d|j                  j                  dd      d|j                  }d|z   }||_        t	        | |      rJ |t        | j                        f       t        | ||       ||fd}d|z   }||_        t	        | |      rJ t        | ||         y )Nc                     || j                   v s|j                  | j                   v r| j                  d|z         | j                  | j	                  ||             y )NzUnable to verify %s)UNVERIFIABLE__name__skipTest
assertTrueverify)selfstdlib_classr	   s      r
   testzadd_verify_tests.<locals>.test9   sM    4#4#448M8MQUQbQb8bMM"7,"FGE< @Ar   _.
test_auto_c                    ddl m} ddl m} ddl m} | j	                  t        |j                  |d            |j                          ||      }|j                  }| j                  |d   |       || j                  v}|j                  ||      }	|	j                  |       |	j                  |       | j	                  t        |	      |       y )Nr   )ro)implementedBy)	InterfaceT)strict)zope.interfacer2   r3   r4   assertEqualtuple__sro__assertIsNON_STRICT_ROremoveappend)
r+   r,   r	   r2   r3   r4   
implementssror5   isros
             r
   test_roz!add_verify_tests.<locals>.test_roI   s    -84  "%%d%34MM# +<8
 ((c"gy1 &T-?-??uuZu7I&I&  tc2r   test_auto_ro_)maxDiffr'   r   replacehasattrr   __dict__setattr)	r"   iface_classes_iterr	   registered_classesr,   r-   suffixnamerB   s	            r
   r!   r!   5   s    CK%7 +(!!. *	(L(4E B %%  ((c2F
  &(D DMsD)ED$s||2D+EE)Ct$+7u 3, #V+D#GsD)))Cw'U*	(+(r   c                   0    e Zd Z ee      ZdZdZd Zd Z	y)VerifyClassMixinr   c                     |S r   r   )r+   r	   xs      r
   _adjust_object_before_verifyz-VerifyClassMixin._adjust_object_before_verifyi   s    r   c                 J     | j                   || j                  ||      fi |S r   )verifierrQ   )r+   r	   klasskwargss       r
   r*   zVerifyClassMixin.verifyl   s/    t}}U!>>ueL'%' 	'r   N)
r'   r   __qualname__staticmethodr   rS   r&   r<   rQ   r*   r   r   r
   rN   rN   d   s     K(HLM'r   rN   c                   &    e Zd Z ee      Zi Zd Zy)VerifyObjectMixinc                    | j                   j                  |      }|s| j                   j                  |      }|s%| j                   j                  |j                        }|s|}|t        j                  u r| j                  dt        |      z           |       }t        |d      r| j                  |j                         |S )NzCannot create close)
CONSTRUCTORSgetr'   unittestSkipTestr(   strrF   
addCleanupr[   )r+   r	   rP   constructorresults        r
   rQ   z.VerifyObjectMixin._adjust_object_before_verifyw   s    ''++A.++//6K++//

;KK(+++MM*SV3467#OOFLL)r   N)r'   r   rV   rW   r   rS   r\   rQ   r   r   r
   rY   rY   r   s    L)HLr   rY   )r^   zope.interface.verifyr   r   zope.interface.commonr   r   r   r#   r!   TestCaserN   rY   r   r   r
   <module>rg      sJ     - . . 3 #5 $2:-(^'x(( '( r   