ó
6j/Qc           @   sj   d  Z  d d l Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d	 „  Z d S(
   s!   Test adapter declaration helpers
iÿÿÿÿNt   Test_adapterc           B   sG   e  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   adapter(   t   zope.component._declarationR   (   t   selfR   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   _getTargetClass   s    c         G   s   |  j  ƒ  | Œ  S(   N(   R   (   R   t
   interfaces(    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   _makeOne   s    c         C   s)   |  j  ƒ  } |  j t | j ƒ g  ƒ d  S(   N(   R   t   assertEqualt   listR   (   R   t   deco(    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_ctor_no_interfaces   s    c         C   sq   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} |  j | | ƒ } |  j t | j ƒ | | g ƒ d  S(   Niÿÿÿÿ(   t	   Interfacet   IFooc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   !   s   t   IBarc           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   #   s   (   t   zope.interfaceR   R   R   R   R   (   R   R   R   R   R	   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_ctor_w_interfaces   s
    c         C   s   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} |  j | | ƒ d t f d „  ƒ  Yƒ } |  j | j | | f ƒ d  S(	   Niÿÿÿÿ(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   *   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ,   s   t   Bazc           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   .   s   (   R   R   R   t   objectR   t   __component_adapts__(   R   R   R   R   R   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test__call___w_class(   s    c         C   s‡   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} |  j | | ƒ d t f d „  ƒ  Yƒ } | ƒ  } |  j t t | d	 ƒ d  S(
   Niÿÿÿÿ(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   5   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   7   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   9   s   t   __component_adapts_(   R   R   R   R   t   assertRaisest   AttributeErrort   getattr(   R   R   R   R   R   t   baz(    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt&   test__call___w_inst_of_decorated_class3   s    		c         C   s   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} d t f d „  ƒ  Y} |  j | | ƒ } | | ƒ  ƒ } |  j | j | | f ƒ d  S(	   Niÿÿÿÿ(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   B   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   D   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   F   s   (   R   R   R   R   R   R   (   R   R   R   R   R   R	   R   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test__call___w_non_class@   s    (	   R   R   R   R   R
   R   R   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR       s   							t   Test_adaptsc           B   s8   e  Z e d  „ Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   B   s¬   d d  l  } e } | j d e ƒ ‚ } | j ƒ  | sb | | | f d  U|  j e | ƒ d ƒ e Sy | | | f d  UWn e k
 r‹ e SX| r¢ |  j d ƒ n  Wd  QXd  S(   Niÿÿÿÿt   recordi    s   Didn't raise TypeError(	   t   warningst   Falset   catch_warningst   Truet   resetwarningsR   t   lent	   TypeErrort   fail(   R   t   codet   globst   locst   fails_under_py3kR   t   PYTHON3t   log(    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   _run_generated_codeO   s    
c            sb   d d l  m ‰ d t f ‡ f d †  ƒ  Y‰  |  j ˆ  j d ƒ ‡  f d †  } |  j t | ƒ d  S(   Niÿÿÿÿ(   t   adaptst   Cc              s   e  Z ˆ  ƒ  RS(    (   R   R   (    (   R.   (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR/   f   s   c              s
   ˆ  ƒ  j  S(   N(   R   (    (   R/   (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   _tryj   s    (    (   R   R.   R   R   R   R   R   (   R   R0   (    (   R/   R.   sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_instances_not_affectedd   s
    c   
      C   så   d d  l  } d d l m } d d l m } d | f d „  ƒ  Y} 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   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   r   s   R.   s   
s
   def foo():s       adapts(IFoo)t   fooR   i    (   R   R   R.   R   R   t   joinR-   R    R!   R"   R#   R   R%   R   R$   (
   R   R   R.   R   R   R(   R)   t   CODER2   R,   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_called_from_functionn   s    

c      	   B   s  d d  l  } d d l m } d d l m } d d l m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} i | d	 6| d 6| d 6} i  } d
 j d d d g ƒ }	 | j d e	 ƒ f }
 | j
 ƒ  y |	 | | f d  UWn0 e k
 r| s|  j e |
 ƒ d ƒ qn X|  j d ƒ Wd  QXd  S(   Niÿÿÿÿ(   R.   (   R   (   R+   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   †   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ˆ   s   R.   s   
s   class Foo(object):s       adapts(IFoo)s       adapts(IBar)R   i    s   Didn't raise TypeError(   R   R   R.   R   R   t   zope.interface._compatR+   R3   R!   R"   R#   R%   R   R$   R&   (   R   R   R.   R   R+   R   R   R(   R)   R4   R,   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_called_twice_from_class   s(    
c   	      C   s­   d d l  m } d d l m } d | f d „  ƒ  Y} 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   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ž   s   R.   s   
s   class Foo(object):s       adapts(IFoo)t   Foo(	   R   R.   R   R   R3   R-   R   R   R   (	   R   R.   R   R   R(   R)   R4   R8   t   spec(    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_called_once_from_class›   s    
	(   R   R   R"   R-   R1   R5   R7   R:   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   M   s
   	
		t   Test_adaptedByc           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	   adaptedBy(   R   R<   (   R   t   objR<   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   _callFUT®   s    c         C   s    |  j  |  j t ƒ  ƒ d  ƒ d  S(   N(   R   R>   R   t   None(   R   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   test_obj_w_no_attr²   s    c            s~   d d l  m } d | f d „  ƒ  Y‰ d | f d „  ƒ  Y‰  d t f ‡  ‡ f d †  ƒ  Y} |  j |  j | ƒ ˆ ˆ  f ƒ d  S(	   Niÿÿÿÿ(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ·   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ¹   s   R   c              s   e  Z ˆ ˆ  f Z RS(    (   R   R   R   (    (   R   R   (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   »   s   (   R   R   R   R   R>   (   R   R   R   (    (   R   R   sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   µ   s
    c            s”   d d l  m } d d l m ‰ d | f d „  ƒ  Y‰ d | f d „  ƒ  Y‰  d t f ‡  ‡ ‡ f d	 †  ƒ  Y} | ƒ  } |  j |  j | ƒ d  ƒ d  S(
   Niÿÿÿÿ(   R   (   t   _adapts_descrR   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Â   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Ä   s   R   c              s   e  Z ˆ ˆ ˆ  f ƒ Z RS(    (   R   R   R   (    (   R   R   RA   (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Æ   s   (   R   R   R   RA   R   R   R>   R?   (   R   R   R   R   (    (   R   R   RA   sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   ¿   s    "	c         C   s   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} d t f d „  ƒ  Y} | ƒ  } | | f | _ |  j |  j | ƒ | | f ƒ d  S(	   Niÿÿÿÿ(   R   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Í   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Ï   s   R   c           B   s   e  Z RS(    (   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Ñ   s   (   R   R   R   R   R   R>   (   R   R   R   R   R   R   (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR   Ë   s    	(   R   R   R>   R@   R   R   R   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyR;   ¬   s
   			
	c           C   s1   t  j t  j t ƒ t  j t ƒ t  j t ƒ f ƒ S(   N(   t   unittestt	   TestSuitet	   makeSuiteR    R   R;   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt
   test_suiteØ   s    (   t   __doc__RB   t   TestCaseR    R   R;   RE   (    (    (    sJ   /usr/lib/python2.7/site-packages/zope/component/tests/test__declaration.pyt   <module>   s
   ;_,