
2(Vc           @   s_  d  Z  d d l Z d d l m Z m Z d e f d     YZ d e j f d     YZ d e j f d	     YZ	 d
 e j f d     YZ
 d e j f d     YZ d e f d     YZ d e j f d     YZ d e j f d     YZ d e j f d     YZ d e j f d     YZ d e j f d     YZ d e j e f d     YZ d e j e f d     YZ d e j f d     YZ d  e j f d!     YZ d" e j f d#     YZ d$ e j f d%     YZ d& e j f d'     YZ d( e j f d)     YZ d* e f d+     YZ d, e j f d-     YZ d. e j f d/     YZ d0 e j e f d1     YZ d2 e j f d3     YZ d4 e j f d5     YZ d6 e j f d7     YZ  d8 e  f d9     YZ! d: e j f d;     YZ" d< e" f d=     YZ# d> e j f d?     YZ$ d@ e$ f dA     YZ% dB e f dC     YZ& dD e f dE     YZ' dF   Z( d S(G   s@   Test the new API for making and checking interface declarations
iN(   t   _skip_under_py3kt   _ut   _Py3ClassAdvicec           B   s   e  Z e d   Z RS(   c      	   B   s   d d  l  } d d l m } | j d e  t } | j   | se | | | U|  j e |  d  e Sy | | | UWn e k
 r e	 SX| r |  j
 d  n  Wd  QXd  S(   Ni(   t   PYTHON3t   recordi    s   Didn't raise TypeError(   t   warningst   zope.interface._compatR   t   catch_warningst   Truet   resetwarningst   assertEqualt   lent	   TypeErrort   Falset   fail(   t   selft   codet   globst   locst   fails_under_py3kR   R   t   log(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _run_generated_code   s    

(   t   __name__t
   __module__R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR      s   t
   NamedTestsc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   sU   d d l  m } | t d   d t f d     Y } |  j | j t d   d  S(   Ni(   t   namedt   foot   Fooc           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   1   s   (   t   zope.interface.declarationsR   R   t   objectR
   t   __component_name__(   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt
   test_class.   s    c         C   sH   d d l  m } | t d   d    } |  j | j t d   d  S(   Ni(   R   R   c         S   s   d  S(   N(    (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   doFoo:   s    (   R   R   R   R
   R   (   R   R   R    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_function7   s    c         C   sb   d d l  m } d t f d     Y} |   } | t d   |  |  j | j t d   d  S(   Ni(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   C   s   R   (   R   R   R   R   R
   R   (   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_instance@   s
    	(   R   R   R   R!   R"   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ,   s   				t   DeclarationTestsc           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   Declaration(   R   R$   (   R   R$   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _getTargetClassM   s    c         O   s   |  j    | |   S(   N(   R%   (   R   t   argst   kw(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _makeOneQ   s    c         C   s)   |  j    } |  j t | j  g   d  S(   N(   R(   R
   t   listt	   __bases__(   R   t   decl(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_ctor_no_basesT   s    c         C   sK   d d l  m } | d  } |  j |  } |  j t | j  | g  d  S(   Ni(   t   InterfaceClasst   IFoo(   t   zope.interface.interfaceR-   R(   R
   R)   R*   (   R   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_ctor_w_interface_in_basesX   s    c         C   sH   d d l  m } |   } |  j |  } |  j t | j  | g  d  S(   Ni(   t
   Implements(   R   R1   R(   R
   R)   R*   (   R   R1   t   implR+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_ctor_w_implements_in_bases^   s    	c         C   s3   |  j    } | j |  |  j d | j k  d  S(   Nt   _v_attrs(   R(   t   changedt   assertFalset   __dict__(   R   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt!   test_changed_wo_existing__v_attrsd   s    c         C   s?   |  j    } t   | _ | j |  |  j d | j k  d  S(   NR4   (   R(   R   R4   R5   R6   R7   (   R   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt    test_changed_w_existing__v_attrsi   s    c         C   s?   d d l  m } | d  } |  j   } |  j | | k  d  S(   Ni(   R-   R.   (   R/   R-   R(   R6   (   R   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___contains__w_selfo   s    c         C   s?   d d l  m } | d  } |  j   } |  j | | k  d  S(   Ni(   R-   R.   (   R/   R-   R(   R6   (   R   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test___contains__w_unrelated_ifaceu   s    c         C   sB   d d l  m } | d  } |  j |  } |  j | | k  d  S(   Ni(   R-   R.   (   R/   R-   R(   t
   assertTrue(   R   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt!   test___contains__w_base_interface{   s    c         C   s&   |  j    } |  j t |  g   d  S(   N(   R(   R
   R)   (   R   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___iter___empty   s    c         C   sH   d d l  m } | d  } |  j |  } |  j t |  | g  d  S(   Ni(   R-   R.   (   R/   R-   R(   R
   R)   (   R   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___iter___single_base   s    c         C   sZ   d d l  m } | d  } | d  } |  j | |  } |  j t |  | | g  d  S(   Ni(   R-   R.   t   IBar(   R/   R-   R(   R
   R)   (   R   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___iter___multiple_bases   s
    c         C   sZ   d d l  m } | d  } | d | f  } |  j |  } |  j t |  | g  d  S(   Ni(   R-   R.   R@   (   R/   R-   R(   R
   R)   (   R   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___iter___inheritance   s
    c         C   s`   d d l  m } | d  } | d  } |  j | | | f  } |  j t |  | | g  d  S(   Ni(   R-   R.   R@   (   R/   R-   R(   R
   R)   (   R   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt'   test___iter___w_nested_sequence_overlap   s
    c         C   s?   d d l  m } |  j   } |  j t | j    | g  d  S(   Ni(   t	   Interface(   R/   RD   R(   R
   R)   t	   flattened(   R   RD   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_flattened_empty   s    c         C   sa   d d l  m } d d l  m } | d  } |  j |  } |  j t | j    | | g  d  S(   Ni(   RD   (   R-   R.   (   R/   RD   R-   R(   R
   R)   RE   (   R   RD   R-   R.   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_flattened_single_base   s
    c         C   ss   d d l  m } d d l  m } | d  } | d  } |  j | |  } |  j t | j    | | | g  d  S(   Ni(   RD   (   R-   R.   R@   (   R/   RD   R-   R(   R
   R)   RE   (   R   RD   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_flattened_multiple_bases   s    c         C   sv   d d l  m } d d l  m } | d  } | d | f  } |  j |  } |  j t | j    | | | g  d  S(   Ni(   RD   (   R-   R.   R@   (   R/   RD   R-   R(   R
   R)   RE   (   R   RD   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_flattened_inheritance   s    c         C   sy   d d l  m } d d l  m } | d  } | d  } |  j | | | f  } |  j t | j    | | | g  d  S(   Ni(   RD   (   R-   R.   R@   (   R/   RD   R-   R(   R
   R)   RE   (   R   RD   R-   R.   R@   R+   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt(   test_flattened_w_nested_sequence_overlap   s    c         C   sz   d d l  m } | d  } | d  } |  j |  } | | } |  j t | |  j     |  j t |  | g  d  S(   Ni(   R-   R.   R@   (   R/   R-   R(   R<   t
   isinstanceR%   R
   R)   (   R   R-   R.   R@   t   beforet   after(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt    test___sub___unrelated_interface   s    
c         C   sO   d d l  m } | d  } |  j |  } | | } |  j t |  g   d  S(   Ni(   R-   R.   (   R/   R-   R(   R
   R)   (   R   R-   R.   RL   RM   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___sub___related_interface   s
    
c         C   sa   d d l  m } | d  } | d | f  } |  j |  } | | } |  j t |  g   d  S(   Ni(   R-   R.   R@   (   R/   R-   R(   R
   R)   (   R   R-   R.   R@   RL   RM   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt-   test___sub___related_interface_by_inheritance   s    
c         C   s}   d d l  m } | d  } | d  } |  j |  } | | } |  j t | |  j     |  j t |  | | g  d  S(   Ni(   R-   R.   R@   (   R/   R-   R(   R<   RK   R%   R
   R)   (   R   R-   R.   R@   RL   RM   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt    test___add___unrelated_interface   s    
c         C   s   d d l  m } | d  } | d  } | d  } |  j | |  } |  j | |  } | | } |  j t |  | | | g  d  S(   Ni(   R-   R.   R@   t   IBaz(   R/   R-   R(   R
   R)   (   R   R-   R.   R@   RR   RL   t   otherRM   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___add___related_interface   s    
(   R   R   R%   R(   R,   R0   R3   R8   R9   R:   R;   R=   R>   R?   RA   RB   RC   RF   RG   RH   RI   RJ   RN   RO   RP   RQ   RT   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR#   K   s2   																											t   ImplementsTestsc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   R1   (   R   R1   (   R   R1   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%      s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(      s    c         C   sb   |  j    } |  j | j d   |  j | j d  |  j | j d  |  j t | j  g   d  S(   Nt   ?(    (   R(   R
   t   inheritt   Nonet   declaredR   R)   R*   (   R   R2   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR,      s
    c         C   s/   |  j    } d | _ |  j t |  d  d  S(   Nt   Testings   <implementedBy Testing>(   R(   R   R
   t   repr(   R   R2   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___repr__  s    	c         C   s<   d d l  m } |  j   } |  j | j   | d f  d  S(   Ni(   t   implementedBy(   N(   R   R]   R(   R
   t
   __reduce__RX   (   R   R]   R2   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___reduce__  s    (   R   R   R%   R(   R,   R\   R_   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRU      s
   				t   Test_implementedByFallbackc           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   implementedByFallback(   R   Ra   (   R   R&   R'   Ra   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _callFUT  s    c         C   sK   d t  f d     Y} |   } d  | _ |  j t |  j |   g   d  S(   NR   c           B   s   e  Z d Z RS(   t   __implemented__(   s   __implemented__(   R   R   t	   __slots__(    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   RX   Rc   R
   R)   Rb   (   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt5   test_dictless_wo_existing_Implements_wo_registrations  s    		c         C   s9   d t  f d     Y} |   } |  j t |  j |  d  S(   NR   c           B   s2   e  Z d    Z d   Z e e e  Z d   Z RS(   c         S   s   d  S(   N(   RX   (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt	   _get_impl  s    c         S   s
   t   d  S(   N(   R   (   R   t   val(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt	   _set_impl  s    c         S   s   d  S(   N(    (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   __call__  s    (   R   R   Rf   Rh   t   propertyRc   Ri   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		(   R   t   assertRaisesR   Rb   (   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt@   test_dictless_wo_existing_Implements_cant_assign___implemented__  s    	c         C   s   d d l  m } d t f d     Y} |   } d  | _ t   } t | d  - } | | | <|  j |  j |  | k  Wd  QXd  S(   Ni(   t   declarationsR   c           B   s   e  Z d Z RS(   Rc   (   s   __implemented__(   R   R   Rd   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   $  s   t#   BuiltinImplementationSpecifications(   t   zope.interfaceRm   R   RX   Rc   t   _MonkeyDictR<   Rb   (   R   Rm   R   R   t   regt   specs(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt4   test_dictless_wo_existing_Implements_w_registrations"  s    			
c         C   sa   d d l  m } |   } d t f d     Y} |   } | | _ |  j |  j |  | k  d  S(   Ni(   R1   R   c           B   s   e  Z d Z RS(   Rc   (   s   __implemented__(   R   R   Rd   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   1  s   (   R   R1   R   Rc   R<   Rb   (   R   R1   R2   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt#   test_dictless_w_existing_Implements.  s    			c         C   sm   d d l  m } d t f d     Y} |   } | d  } | f | _ |  j t |  j |   | g  d  S(   Ni(   R-   R   c           B   s   e  Z d Z RS(   Rc   (   s   __implemented__(   R   R   Rd   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   9  s   R.   (   R/   R-   R   Rc   R
   R)   Rb   (   R   R-   R   R   R.   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt'   test_dictless_w_existing_not_Implements7  s    	c            sU   d d l  m } |     d t f   f d     Y} |  j |  j |    k  d  S(   Ni(   R1   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R2   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   C  s   (   R   R1   R   R<   Rb   (   R   R1   R   (    (   R2   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test_w_existing_attr_as_Implements@  s    	c      
   C   s  d d l  m } d d l m } d d l m } t | d   } |  j t |  j	 t
   g   |  j t |  j	 t   g   |  j t |  j	 t   g   xZ t
 t t f D]I } | | } |  j t | |   |  j t |  d | | j f  q WWd  QXd  S(   Ni(   Rm   (   R1   (   t	   _BUILTINSRn   s   <implementedBy %s.%s>(   Ro   Rm   R   R1   R   Rw   Rp   R
   R)   Rb   t   tuplet   dictR<   RK   R[   R   (   R   Rm   R1   Rw   Rr   t   typt   spec(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_builtins_added_to_cacheG  s    
c         C   s   d d l  m } t   t   t   } } } t | d  y } | | t <| | t <| | t <|  j |  j t  | k  |  j |  j t  | k  |  j |  j t  | k  Wd  QXd  S(   Ni(   Rm   Rn   (	   Ro   Rm   R   Rp   Rx   R)   Ry   R<   Rb   (   R   Rm   t   t_spect   l_spect   d_specRr   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_builtins_w_existing_cacheW  s    


c         C   s6   d d d     Y} |  j  t |  j |   g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   e  s   (    (   R
   R)   Rb   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt!   test_oldstyle_class_no_assertionsc  s    c         C   s9   d t  f d     Y} |  j t |  j |   g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   k  s   (   R   R
   R)   Rb   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_no_assertionsi  s    c         C   s9   d t  f d     Y} |   } |  j t |  j |  d  S(   NR   c           B   s   e  Z d  Z RS(   N(   R   R   RX   Rc   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   p  s   (   R   Rk   R   Rb   (   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt    test_w_None_no_bases_not_factoryo  s    	c         C   s   d d l  m } d t f d     Y} |   } d | _ |  j |  } |  j | j d  |  j | j | k  |  j | j | k  |  j | j	 | k  |  j
 d | j k  d  S(   Ni(   t   objectSpecificationDescriptorR   c           B   s   e  Z d Z d    Z RS(   c         S   s   d  S(   N(    (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRi   y  s    N(   R   R   RX   Rc   Ri   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   w  s   R   s*   zope.interface.tests.test_declarations.foot   __provides__(   R   R   R   R   Rb   R
   R<   RW   Rc   t   __providedBy__R6   R7   (   R   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_None_no_bases_w_factoryu  s    		c         C   s   d d l  m } d t f d     Y} |  j |  } |  j | j d  |  j | j | k  |  j | j | k  |  j t	 | j
 |   |  j t	 | j |   |  j | j | j
  d  S(   Ni(   t   ClassProvidesR   c           B   s   e  Z d  Z RS(   N(   R   R   RX   Rc   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   s*   zope.interface.tests.test_declarations.Foo(   R   R   R   Rb   R
   R   R<   RW   Rc   RK   R   R   (   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_None_no_bases_w_class  s    c            sU   d d l  m } |     d t f   f d     Y} |  j |  j |    k  d  S(   Ni(   R1   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R2   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R1   R   R<   Rb   (   R   R1   R   (    (   R2   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_existing_Implements  s    	(   R   R   Rb   Re   Rl   Rs   Rt   Ru   Rv   R|   R   R   R   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR`     s   																	t   Test_implementedByc           B   s   e  Z d    Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   R]   (   R   R]   (   R   R&   R'   R]   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    (   R   R   Rb   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   t   Test_classImplementsOnlyc           B   s#   e  Z d    Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   classImplementsOnly(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    c         C   s   d d l  m } d d l m } d t f d     Y} | d  } |  j | |  | j } |  j | j d  |  j	 | j
 d  k  |  j	 | j | k  |  j	 t | j |   |  j	 t | j |   |  j | j | j  d  S(   Ni(   R   (   R-   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R.   s*   zope.interface.tests.test_declarations.Foo(   R   R   R/   R-   R   Rb   Rc   R
   R   R<   RW   RX   RK   R   R   (   R   R   R-   R   t   ifooR{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_no_existing  s    	c            s   d d l  m } d d l m } | d  } | d  } | |    | f   _ d t f   f d     Y} |   _ |  j | |  |  j | j	   k  |  j
   j d   |  j
   j | f  d  S(   Ni(   R1   (   R-   R.   R@   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R2   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R1   R/   R-   RY   R   RW   Rb   R<   Rc   R
   RX   (   R   R1   R-   R.   R@   R   (    (   R2   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    	(   R   R   Rb   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		t   Test_classImplementsc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   classImplements(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    c         C   s   d d l  m } d d l m } d t f d     Y} | d  } |  j | |  | j } |  j | j d  |  j	 | j
 | k  |  j	 | j | k  |  j	 t | j |   |  j	 t | j |   |  j | j | j  d  S(   Ni(   R   (   R-   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R.   s*   zope.interface.tests.test_declarations.Foo(   R   R   R/   R-   R   Rb   Rc   R
   R   R<   RW   RK   R   R   (   R   R   R-   R   R.   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    	c            s   d d l  m } d d l m } | d  } | d  } | |    | f   _ d t f   f d     Y} |   _ |  j | |  |  j | j	   k  |  j
   j |  |  j
   j | | f  d  S(   Ni(   R1   (   R-   R.   R@   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R2   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R1   R/   R-   RY   R   RW   Rb   R<   Rc   R
   (   R   R1   R-   R.   R@   R   (    (   R2   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    	c   	         s=  d d l  m } d d l m } | d  } | d  } | d |  } | |    | |   | f  _ d t f   f d     Y} d	 t f   f d
     Y} d | | f  f d     Y} |  _ |  j | |  |  j | j	  k  |  j
  j |  |  j
  j | | f  |  j
  j | |   f  d  S(   Ni(   R1   (   R-   R.   R@   RR   t   Base1c              s   e  Z   Z RS(    (   R   R   Rc   (    (   t   b_impl(    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   t   Base2c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R2   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R1   R/   R-   RY   R   RW   Rb   R<   Rc   R
   R*   (	   R   R1   R-   R.   R@   RR   R   R   R   (    (   R   R2   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test_w_existing_Implements_w_bases  s"    	(   R   R   Rb   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   			t   Test__implements_advicec           B   s   e  Z d    Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   _implements_advice(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   	  s    c            s   d d l  m  d d l  m } d d l m } | d    d t f    f d     Y} |  j |  |  j d | j k  |  j	 t
 | j |   |  j t | j    g  d  S(	   Ni(   R   (   R1   (   R-   R.   R   c              s   e  Z   f  f Z RS(    (   R   R   t   __implements_advice_data__(    (   R.   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   (   R   R   R1   R/   R-   R   Rb   R6   R7   R<   RK   Rc   R
   R)   (   R   R1   R-   R   (    (   R.   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_no_existing_implements  s    (   R   R   Rb   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   	t   Test_implementerc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   implementer(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(      s    c         C   s  d d l  m } d d l m } | d  } d d d     Y} |  j |  } | |  } |  j | | k  | j } |  j | j d  |  j | j	 | k  |  j | j | k  |  j t
 | j |   |  j t
 | j |   |  j | j | j  d  S(	   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   (  s   s*   zope.interface.tests.test_declarations.Foo(    (   R   R   R/   R-   R(   R<   Rc   R
   R   RW   RK   R   R   (   R   R   R-   R.   R   t	   decoratort   returnedR{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_oldstyle_class#  s    	c         C   s  d d l  m } d d l m } | d  } d t f d     Y} |  j |  } | |  } |  j | | k  | j } |  j | j	 d  |  j | j
 | k  |  j | j | k  |  j t | j |   |  j t | j |   |  j | j | j  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   :  s   s*   zope.interface.tests.test_declarations.Foo(   R   R   R/   R-   R   R(   R<   Rc   R
   R   RW   RK   R   R   (   R   R   R-   R.   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_newstyle_class6  s    	c         C   sE   d d l  m } | d  } |  j |  } |  j t | t    d  S(   Ni(   R-   R.   (   R/   R-   R(   Rk   R   R   (   R   R-   R.   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt    test_nonclass_cannot_assign_attrH  s    c         C   s   d d l  m } | d  } d t f d     Y} |   } |  j |  } | |  } |  j | | k  | j } |  j | j d  |  j | j d  k  |  j | j | k  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   Q  s   RV   (
   R/   R-   R   R(   R<   Rc   R
   R   RW   RX   (   R   R-   R.   R   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_nonclass_can_assign_attrN  s    		(   R   R   R%   R(   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   					t   Test_implementer_onlyc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   implementer_only(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%   _  s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(   c  s    c         C   sK   d d l  m } | d  } |  j |  } d   } |  j t | |  d  S(   Ni(   R-   R.   c           S   s   d  S(   N(    (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt	   _functionj  s    (   R/   R-   R(   Rk   t
   ValueError(   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR!   f  s
    	c         C   sX   d d l  m } | d  } |  j |  } d d d     Y} |  j t | | j  d  S(   Ni(   R-   R.   t   Barc           B   s   e  Z d    Z RS(   c           S   s   d  S(   N(    (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _methodr  s    (   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   q  s   (    (   R/   R-   R(   Rk   R   R   (   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_methodm  s
    c   	         s   d d l  m } d d l m } | d  } | d  } | |    d d	   f d     Y} |  j |  } | |  } |  j | | k  | j } |  j | j d  |  j | j	 d  k  |  j | j | k  d  S(
   Ni(   R1   (   R-   R.   R@   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   t   old_spec(    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   |  s   RV   (    (   R   R1   R/   R-   R(   R<   Rc   R
   R   RW   RX   (	   R   R1   R-   R.   R@   R   R   R   R{   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   u  s    	c   	         s   d d l  m } d d l m } | d  } | d  } | |    d t f   f d     Y} |  j |  } | |  } |  j | | k  | j } |  j | j	 d  |  j | j
 d  k  |  j | j | k  d  S(	   Ni(   R1   (   R-   R.   R@   R   c              s   e  Z   Z RS(    (   R   R   Rc   (    (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   RV   (   R   R1   R/   R-   R   R(   R<   Rc   R
   R   RW   RX   (	   R   R1   R-   R.   R@   R   R   R   R{   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    	(   R   R   R%   R(   R!   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ]  s   					t   Test_implementsOnlyc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   implementsOnly(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _getFUT  s    c      	   B   s#  d d  l  } d d l m } d d l m } d d l m } | d  } i | d 6| d 6} i  } d j d g  } | j d	 e	   }	 | j
   y | | | UWn e k
 r | s  qnY X| r |  j d
  n  | d }
 |
 j } |  j e |  | g  |  j e |	  d  Wd  QXd  S(   Ni(   R   (   R   (   R-   R.   R   s   
s*   class Foo(object):    implementsOnly(IFoo)R   s   Didn't raise TypeErrorR   i    (   R   R   R   R   R   R/   R-   t   joinR   R   R	   R   R   Rc   R
   R)   R   (   R   R   R   R   R-   R.   R   R   t   CODER   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_simple  s.    




	c         C   s   d d l  m } d d l  m } d d l m } | d  } | d  } i | d 6| d 6| d 6| d 6} i  } d	 j d
 d d g  } |  j | | |  r | d }	 |	 j }
 |  j t	 |
  | g  n  d  S(   Ni(   t
   implements(   R   (   R-   R.   R@   R   R   s   
s   class Foo(object):s       implements(IFoo)s'   class Bar(Foo):    implementsOnly(IBar)R   (
   R   R   R   R/   R-   R   R   Rc   R
   R)   (   R   R   R   R-   R.   R@   R   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt#   test_called_once_from_class_w_bases  s$    


	(   R   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		t   Test_implementsc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   R   (   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    c   
      C   s   d d  l  } d d l m } d d l m } | d  } i | d 6| d 6} i  } d j d d g  } |  j | | | t  r | d	 } | j d
 t	  7 }	 | j
   |  j t |  |  j t |	  d  Wd  QXn  d  S(   Ni(   R   (   R-   R.   R   s   
s
   def foo():s       implements(IFoo)R   R   i    (   R   R   R   R/   R-   R   R   R   R   R   R	   Rk   R   R
   R   (
   R   R   R   R-   R.   R   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_called_from_function  s    

c      	   B   s  d d  l  } d d l m } d d l m } d d l m } | d  } | d  } i | d 6| d 6| d 6} i  } d j d	 d
 d g  }	 | j d e	  _ }
 | j
   y |	 | | UWn0 e k
 r | s |  j e |
  d  q n X|  j d  Wd  QXd  S(   Ni(   R   (   R-   (   R   R.   R@   R   s   
s   class Foo(object):s       implements(IFoo)s       implements(IBar)R   i    s   Didn't raise TypeError(   R   R   R   R/   R-   R   R   R   R   R   R	   R   R
   R   R   (   R   R   R   R-   R   R.   R@   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_called_twice_from_class  s(    
c   	      C   s   d d l  m } d d l m } | d  } i | d 6| d 6} i  } d j d d g  } |  j | | |  r | d	 } | j } |  j t |  | g  n  d  S(
   Ni(   R   (   R-   R.   R   s   
s   class Foo(object):s       implements(IFoo)R   (	   R   R   R/   R-   R   R   Rc   R
   R)   (	   R   R   R-   R.   R   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_called_once_from_class  s    
	(   R   R   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   			t   ProvidesClassTestsc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   ProvidesClass(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(     s    c         C   sa   d d l  m } | d  } d t f d     Y} |  j | |  } |  j t |  | g  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR      s   (   R/   R-   R   R(   R
   R)   (   R   R-   R.   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_simple_class_one_interface  s
    c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |  j | |  } | j   \ } } |  j | | k  |  j | | | f  d  S(   Ni(   t   Provides(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   )  s   (	   R   R   R/   R-   R   R(   R^   R<   R
   (   R   R   R-   R.   R   R{   t   klassR&   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR_   %  s    c         C   sg   d d l  m } | d  } d t f d     Y} |  j | |  } | | _ |  j | j | k  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   3  s   (   R/   R-   R   R(   R   R<   (   R   R-   R.   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___get___class0  s    	c            sp   d d l  m } | d  } d t f d     Y  |  j   |  } |   _   f d   } |  j t |  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   <  s   c             s       }  |  j  S(   N(   R   (   R   (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   _test@  s    	(   R/   R-   R   R(   R   Rk   t   AttributeError(   R   R-   R.   R{   R   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test___get___instance9  s    	(   R   R   R%   R(   R   R_   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   						t   Test_Providesc           B   s#   e  Z d    Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   R   (   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   H  s    c         C   s   d d l  m } d d l m } | d  } i  } d t f d     Y} t | d |  |  j | |  } Wd  QX|  j t |  | g  |  j	 | | | f | k  d  S(   Ni(   Rm   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   Q  s   t   InstanceDeclarations(
   Ro   Rm   R/   R-   R   t   _MonkeyRb   R
   R)   R<   (   R   Rm   R-   R.   t   cacheR   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_no_cached_specL  s    c         C   s   d d l  m } d d l m } | d  } t   } d t f d     Y} i | | | f 6} t | d |  |  j | |  } Wd  QX|  j | | k  d  S(   Ni(   Rm   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ]  s   R   (   Ro   Rm   R/   R-   R   R   Rb   R<   (   R   Rm   R-   R.   t   priorR   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_cached_specX  s    	(   R   R   Rb   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   F  s   		t   Test_directlyProvidesc           B   s;   e  Z d    Z d   Z d   Z e d    Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   directlyProvides(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   g  s    c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |   } |  j | |  |  j t | j |   |  j	 t
 | j  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   o  s   (   R   R   R/   R-   R   Rb   R<   RK   R   R
   R)   (   R   R   R-   R.   R   t   obj(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_normal_objectk  s    	c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |  j | |  |  j t | j |   |  j	 t
 | j  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   z  s   (   R   R   R/   R-   R   Rb   R<   RK   R   R
   R)   (   R   R   R-   R.   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_classv  s    c            st   d d l  m } | d  } d t f d     Y  d t f   f d     Y} |   } |  j t |  j | |  d  S(   Ni(   R-   R.   t	   MetaClassc           B   s   e  Z d    Z RS(   c         S   s    | d k r |  St  j |  |  S(   Nt	   __class__(   t   typet   __getattribute__(   R   t   name(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    (   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   c              s   e  Z   Z RS(    (   R   R   t   __metaclass__(    (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R/   R-   R   R   Rk   R   Rb   (   R   R-   R.   R   R   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt%   test_w_non_descriptor_aware_metaclass  s    	c            s   d d l  m } d d l m } | d  } i    d t f   f d     Y} |   } |  j | |  |  j t   d |   |  j t	   d  | g  d  S(   Ni(   R   (   R-   R.   R   c              s&   e  Z   f d    Z   f d   Z RS(   c            s@   | d k r d  Sy   | SWn t k
 r; t |   n Xd  S(   NR   (   RX   t   KeyErrorR   (   R   R   (   t   the_dict(    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    c            s   |   | <d  S(   N(    (   R   R   t   value(   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   __setattr__  s    (   R   R   R   R   (    (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   (
   R   R   R/   R-   R   Rb   R<   RK   R
   R)   (   R   R   R-   R.   R   R   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_classless_object  s    	(   R   R   Rb   R   R   R    R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   e  s
   			
t   Test_alsoProvidesc           B   s#   e  Z d    Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   alsoProvides(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |   } |  j | |  |  j t | j |   |  j	 t
 | j  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R/   R-   R   Rb   R<   RK   R   R
   R)   (   R   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_wo_existing_provides  s    	c         C   s   d d l  m } d d l  m } d d l m } | d  } | d  } d t f d     Y} |   } | | |  |  j | |  |  j t | j	 |   |  j
 t | j	  | | g  d  S(	   Ni(   R   (   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R   R/   R-   R   Rb   R<   RK   R   R
   R)   (   R   R   R   R-   R.   R@   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_existing_provides  s    	(   R   R   Rb   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		t   Test_noLongerProvidesc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   noLongerProvides(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    c         C   sh   d d l  m } | d  } d t f d     Y} |   } |  j | |  |  j t | j  g   d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R/   R-   R   Rb   R
   R)   R   (   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    	c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |   } | | |  |  j | |  |  j t | j  g   d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (	   R   R   R/   R-   R   Rb   R
   R)   R   (   R   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_existing_provides_hit  s    	c         C   s   d d l  m } d d l m } | d  } | d  } d t f d     Y} |   } | | |  |  j | |  |  j t | j  | g  d  S(   Ni(   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (	   R   R   R/   R-   R   Rb   R
   R)   R   (   R   R   R-   R.   R@   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_existing_provides_miss  s    	c         C   st   d d l  m } d d l m } | d  } | |  d t f d     Y } |   } |  j t |  j | |  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R/   R-   R   Rk   R   Rb   (   R   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt!   test_w_iface_implemented_by_class  s    	(   R   R   Rb   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s
   					t   ClassProvidesBaseFallbackTestsc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   ClassProvidesBaseFallback(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    c         C   s)   d |  j    f d     Y} | | |  S(   Nt   Derivedc           B   s   e  Z d    Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   t   _clst   _implements(   R   t   kt   i(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   __init__  s    	(   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR      s   (   R%   (   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(     s    c         C   se   d d l  m } | d  } d t f d     Y} |  j | |  } | _ |  j | j | k  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   	  s   (   R/   R-   R   R(   R   R<   (   R   R-   R.   R   t   cpbp(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_same_class_via_class  s
    c         C   sn   d d l  m } | d  } d t f d     Y} |   } |  j | |  } | _ |  j | j | k  d  S(   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R/   R-   R   R(   R   R<   (   R   R-   R.   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_same_class_via_instance  s    	c         C   s   d d l  m } | d  } d t f d     Y} d | f d     Y} |   } |  j | |  } | _ |  j t t | d  |  j t t | d  d  S(	   Ni(   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   R   (   R/   R-   R   R(   R   Rk   R   t   getattr(   R   R-   R.   R   R   t   barR   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_different_class  s    	(   R   R   R%   R(   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s
   						t   ClassProvidesBaseTestsc           B   s   e  Z d    Z RS(   c         C   s   d d l  m } | S(   Ni(   t   ClassProvidesBase(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%   '  s    (   R   R   R%   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   $  s   t   ClassProvidesTestsc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   R   (   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%   .  s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(   2  s    c         C   s   d d l  m } d d l m } | d  } | d  } | |  d t f d     Y } |  j | t |  |  } | _ |  j | j | k  |  j	 t
 |   j  | g  d  S(   Ni(   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   :  s   (   R   R   R/   R-   R   R(   R   R   R<   R
   R)   (   R   R   R-   R.   R@   R   t   cp(    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_simple_metaclass5  s    "c         C   s   d d l  m } d d l m } | d  } | d  } | |  d t f d     Y } |  j | t |  |  } | _ |  j | j	   |  j
   | t |  | f f  d  S(   Ni(   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   F  s   (   R   R   R/   R-   R   R(   R   R   R
   R^   R%   (   R   R   R-   R.   R@   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR_   A  s    "(   R   R   R%   R(   R   R_   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ,  s   			t   Test_directlyProvidedByc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   directlyProvidedBy(   R   R   (   R   R&   R'   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   P  s    c         C   sB   d t  f d     Y} |   } |  j t |  j |   g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   U  s   (   R   R
   R)   Rb   (   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt)   test_wo_declarations_in_class_or_instanceT  s    	c         C   sz   d d l  m } d d l m } | d  } | |  d t f d     Y } |   } |  j t |  j |   g   d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ^  s   (   R   R   R/   R-   R   R
   R)   Rb   (   R   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt-   test_w_declarations_in_class_but_not_instanceZ  s    	c         C   s~   d d l  m } d d l m } | d  } d t f d     Y} |   } | | |  |  j t |  j |   | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   h  s   (   R   R   R/   R-   R   R
   R)   Rb   (   R   R   R-   R.   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt-   test_w_declarations_in_instance_but_not_classd  s    	c         C   s   d d l  m } d d l  m } d d l m } | d  } | d  } | |  d t f d     Y } |   } | | |  |  j t |  j |   | g  d  S(	   Ni(   R   (   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   t  s   (	   R   R   R   R/   R-   R   R
   R)   Rb   (   R   R   R   R-   R.   R@   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt)   test_w_declarations_in_instance_and_classn  s    	(   R   R   Rb   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   N  s
   			
	
t   Test_classProvidesc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   classProvides(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ~  s    c         B   s   d d  l  } d d l m } d d l m } d d l m } | d  } i | d 6| d 6} i  } d j d d	 g  } | | | U| d
 }	 | j d e	  @ }
 | j
   |  j e |	  | s |  j e |
  d  n  Wd  QXd  S(   Ni(   R   (   R-   (   R   R.   R   s   
s
   def foo():s       classProvides(IFoo)R   R   i    (   R   R   R   R/   R-   R   R   R   R   R   R	   Rk   R   R
   R   (   R   R   R   R-   R   R.   R   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s"    


c      	   B   s  d d  l  } d d l m } d d l m } d d l m } | d  } | d  } i | d 6| d 6| d 6} i  } d j d	 d
 d g  }	 | j d e	  _ }
 | j
   y |	 | | UWn0 e k
 r | s |  j e |
  d  q n X|  j d  Wd  QXd  S(   Ni(   R   (   R-   (   R   R.   R@   R   s   
s   class Foo(object):s       classProvides(IFoo)s       classProvides(IBar)R   i    s   Didn't raise TypeError(   R   R   R   R/   R-   R   R   R   R   R   R	   R   R
   R   R   (   R   R   R   R-   R   R.   R@   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s(    
c   	      C   s   d d l  m } d d l m } | d  } i | d 6| d 6} i  } d j d d g  } |  j | | |  r | d	 } | j } |  j t |  | g  n  d  S(
   Ni(   R   (   R-   R.   R   s   
s   class Foo(object):s       classProvides(IFoo)R   (	   R   R   R/   R-   R   R   R   R
   R)   (	   R   R   R-   R.   R   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    
	(   R   R   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   |  s   			t   Test_providerc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   provider(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(     s    c         C   s   d d l  m } d d l m } | d  } |  j |  d t f d     Y } |  j t | j |   |  j	 t
 | j  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R/   R-   R(   R   R<   RK   R   R
   R)   (   R   R   R-   R.   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    (   R   R   R%   R(   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		t   Test_moduleProvidesc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t   moduleProvides(   R   R   (   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    c         B   s   d d l  m } d d l m } | d  } i d d 6| d 6| d 6} i  } d j d	 d
 g  } | | | U| d } |  j e |  d  S(   Ni(   R   (   R-   R.   s   zope.interface.tests.fooR   R   s   
s
   def foo():s       moduleProvides(IFoo)R   (   R   R   R/   R-   R   Rk   R   (   R   R   R-   R.   R   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s    


c         B   s   d d l  m } d d l m } | d  } i d d 6| d 6| d 6} i  } d j d	 d
 g  } y | | | UWn e k
 r n Xe s t d   d  S(   Ni(   R   (   R-   R.   s   zope.interface.tests.fooR   R   s   
s   class Foo(object):s       moduleProvides(IFoo)s   TypeError not raised(   R   R   R/   R-   R   R   R   t   AssertionError(   R   R   R-   R.   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_called_from_class  s    
c         B   s   d d l  m } d d l m } | d  } i d d 6| d 6| d 6} d j d	 g  } | | U| d
 } |  j e |  | g  d  S(   Ni(   R   (   R-   R.   s   zope.interface.tests.fooR   R   s   
s   moduleProvides(IFoo)R   (   R   R   R/   R-   R   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test_called_once_from_module_scope  s    

c         B   s   d d l  m } d d l m } | d  } i d d 6| d 6| d 6} i  } d j d	 d	 g  } y | | UWn e k
 r n Xe s t d
   d  S(   Ni(   R   (   R-   R.   s   zope.interface.tests.fooR   R   s   
s   moduleProvides(IFoo)s   TypeError not raised(   R   R   R/   R-   R   R   R   R   (   R   R   R-   R.   R   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt#   test_called_twice_from_module_scope  s    
(   R   R   R   R   R   R  R  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s
   				t#   Test_getObjectSpecificationFallbackc           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   getObjectSpecificationFallback(   R   R  (   R   R&   R'   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    c            sT   i    d t  f   f d     Y} |   } |  j |  } |  j t |  g   d  S(   NR   c              s&   e  Z   f d    Z   f d   Z RS(   c            sK   | d k r t  |   n  y   | SWn t k
 rF t  |   n Xd  S(   NR   (   R   R   (   R   R   (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   $  s    c            s   |   | <d  S(   N(    (   R   R   R   (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   ,  s    (   R   R   R   R   (    (   R   (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   #  s   (   R   Rb   R
   R)   (   R   R   R   R{   (    (   R   sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt#   test_wo_existing_provides_classless!  s
    	c         C   sk   d d l  m } d d l m } | d  } d   } | | |  |  j |  } |  j | | j k  d  S(   Ni(   R   (   R-   R.   c           S   s   d  S(   N(    (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   6  s    (   R   R   R/   R-   Rb   R<   R   (   R   R   R-   R.   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_existing_provides_is_spec2  s    	c         C   s>   d   } t    | _ |  j |  } |  j t |  g   d  S(   Nc           S   s   d  S(   N(    (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   =  s    (   R   R   Rb   R
   R)   (   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test_existing_provides_is_not_spec<  s    	c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |   } | | |  |  j |  } |  j t |  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   G  s   (   R   R   R/   R-   R   Rb   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_existing_providesC  s    	c         C   s   d d l  m } d d l m } | d  } | |  d t f d     Y } |   } |  j |  } |  j t |  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   R  s   (   R   R   R/   R-   R   Rb   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt&   test_wo_provides_on_class_w_implementsN  s    	c         C   sH   d t  f d     Y} |   } |  j |  } |  j t |  g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   Z  s   (   R   Rb   R
   R)   (   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt'   test_wo_provides_on_class_wo_implementsY  s    	(	   R   R   Rb   R  R  R  R  R	  R
  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR    s   			
			t   Test_getObjectSpecificationc           B   s   e  Z d    Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   getObjectSpecification(   R   R  (   R   R&   R'   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   d  s    (   R   R   Rb   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR  a  s   t   Test_providedByFallbackc           B   sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         O   s   d d l  m } | | |   S(   Ni(   t   providedByFallback(   R   R  (   R   R&   R'   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb   k  s    c         C   sH   d t  f d     Y} |   } |  j |  } |  j t |  g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   p  s   (   R   Rb   R
   R)   (   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt)   test_wo_providedBy_on_class_wo_implementso  s    	c         C   s   d d l  m } d d l m } | d  } d t f d     Y} |   } | | |  | _ |  j |  } |  j t |  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR   z  s   (	   R   R   R/   R-   R   R   Rb   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_providedBy_valid_specv  s    	c         C   sT   d t  f d     Y} |   } t    | _ |  j |  } |  j t |  g   d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   Rb   R
   R)   (   R   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_w_providedBy_invalid_spec  s
    	c         C   s   d d l  m } d d l m } | d  } | |  d t f d     Y } |   } t   | _ |  j |  } |  j t |  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (	   R   R   R/   R-   R   R   Rb   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt1   test_w_providedBy_invalid_spec_class_w_implements  s    	c         C   sa   d t  f d     Y} |   } t    | _ t    } | _ |  j |  } |  j | | k  d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R   Rb   R<   (   R   R   R   t   expectedR{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt>   test_w_providedBy_invalid_spec_w_provides_no_provides_on_class  s    	c         C   sm   d t  f d     Y} |   } t    | _ t    } | _ t    | _ |  j |  } |  j | | k  d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R   Rb   R<   (   R   R   R   R  R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt@   test_w_providedBy_invalid_spec_w_provides_diff_provides_on_class  s    	c         C   s   d d l  m } d d l m } | d  } | |  d t f d     Y } |   } t   | _ t   | _ | _ |  j |  } |  j t	 |  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (
   R   R   R/   R-   R   R   R   Rb   R
   R)   (   R   R   R-   R.   R   R   R{   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt@   test_w_providedBy_invalid_spec_w_provides_same_provides_on_class  s    	(
   R   R   Rb   R  R  R  R  R  R  R  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR  i  s   								
t   Test_providedByc           B   s   e  Z d    Z RS(   c         O   s   d d l  m } | | |   S(   Ni(   t
   providedBy(   R   R  (   R   R&   R'   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRb     s    (   R   R   Rb   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR    s   t*   ObjectSpecificationDescriptorFallbackTestsc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d l  m } | S(   Ni(   t%   ObjectSpecificationDescriptorFallback(   R   R  (   R   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    c         O   s   |  j    | |   S(   N(   R%   (   R   R&   R'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR(     s    c         C   s   d d l  m } d d l m } | d  } d t f d     Y} | | |  | _ |  j   | _ |  j t	 | j  | g  d  S(   Ni(   R   (   R-   R.   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (
   R   R   R/   R-   R   R   R(   R   R
   R)   (   R   R   R-   R.   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   test_accessed_via_class  s    c         C   s   d d l  m } d d l  m } d d l m } | d  } | d  } | |  d t f d     Y } | | |  | _ |  j   | _ |   } |  j	 t
 | j  | g  d  S(	   Ni(   R   (   R   (   R-   R.   R@   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R   R/   R-   R   R   R(   R   R
   R)   (   R   R   R   R-   R.   R@   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt"   test_accessed_via_inst_wo_provides  s    	c   
      C   s   d d l  m } d d l  m } d d l  m } d d l m } | d  } | d  } | d  } | |  d	 t f d
     Y } | | |  | _ |  j   | _	 |   }	 | |	 |  |  j
 t |	 j	  | | g  d  S(   Ni(   R   (   R   (   R   (   R-   R.   R@   RR   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   (   R   R   R   R   R/   R-   R   R   R(   R   R
   R)   (
   R   R   R   R   R-   R.   R@   RR   R   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt!   test_accessed_via_inst_w_provides  s    	(   R   R   R%   R(   R  R  R  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR    s
   			
	t"   ObjectSpecificationDescriptorTestsc           B   s   e  Z d    Z RS(   c         C   s   d d l  m } | S(   Ni(   t   ObjectSpecificationDescriptor(   R   R  (   R   R  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%     s    (   R   R   R%   (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR    s   R   c           B   s#   e  Z d    Z d   Z d   Z RS(   c         K   sk   | |  _  t g  | D] } | t | |  f ^ q  |  _ x* | j   D] \ } } t | | |  qG Wd  S(   N(   t   moduleRy   R   t
   to_restoret   itemst   setattr(   R   R   R'   t   keyR   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR      s    	1c         C   s   |  S(   N(    (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt	   __enter__  s    c         C   s7   x0 |  j  j   D] \ } } t |  j | |  q Wd  S(   N(   R!  R"  R#  R   (   R   t   exc_typet   exc_valt   exc_tbR$  R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   __exit__	  s    (   R   R   R   R%  R)  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s   		Rp   c           B   s#   e  Z d    Z d   Z d   Z RS(   c         K   sN   | |  _  t | |  |  _ |  j j   |  _ |  j j   |  j j |  d  S(   N(   R   R   t   targett   copyR!  t   cleart   update(   R   R   t   attrnameR'   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR     s
    	c         C   s   |  j  S(   N(   R*  (   R   (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR%    s    c         C   s$   |  j  j   |  j  j |  j  d  S(   N(   R*  R,  R-  R!  (   R   R&  R'  R(  (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyR)    s    (   R   R   R   R%  R)  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyRp     s   		c           C   s]  t  j t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t	  t  j t
  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  t  j t  f  S(   N(   t   unittestt	   TestSuitet	   makeSuiteR#   RU   R`   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt
   test_suite  s:    ()   t   __doc__R/  R   R    R   R   R   t   TestCaseR   R#   RU   R`   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R   Rp   R2  (    (    (    sJ   /usr/lib/python2.7/dist-packages/zope/interface/tests/test_declarations.pyt   <module>   sJ   '>C<;@2A 1-".DGFM4