ó
6j/Qc           @   s5  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	 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 e ƒ  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d S(   s   Tests for z.c.hooks
iÿÿÿÿNt   Test_read_propertyc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | S(   Niÿÿÿÿ(   t   read_property(   t   zope.component.hooksR   (   t   selfR   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   _getTargetClass   s    c            sq   d t  f ‡  f d †  ƒ  Y} | ƒ  } ˆ  j | j d ƒ d | _ ˆ  j | j d ƒ | ` ˆ  j | j d ƒ d  S(   Nt   Fooc              s   e  Z ˆ  j ƒ  d  „  ƒ Z RS(   c         S   s   d S(   Nt   BAR(    (   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   bar   s    (   t   __name__t
   __module__R   R   (    (   R   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR      s   R   t   BAZ(   t   objectt   assertEqualR   (   R   R   t   foo(    (   R   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_via_instance   s    		c            sa   d t  f ‡  f d †  ƒ  Y} | j } ˆ  j t | ˆ  j ƒ  ƒ ƒ ˆ  j | j t  ƒ  ƒ d ƒ d  S(   NR   c              s   e  Z ˆ  j ƒ  d  „  ƒ Z RS(   c         S   s   d S(   NR   (    (   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR   '   s    (   R   R	   R   R   (    (   R   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR   &   s   R   (   R   R   t
   assertTruet
   isinstanceR   R   t   func(   R   R   R   (    (   R   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_via_class%   s    	(   R   R	   R   R   R   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR       s   		t   SiteInfoTestsc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | S(   Niÿÿÿÿ(   t   SiteInfo(   R   R   (   R   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR   1   s    c         C   s   |  j  ƒ  ƒ  S(   N(   R   (   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   _makeOne5   s    c         C   sR   d d l  m } | ƒ  } |  j ƒ  } |  j | j d  ƒ |  j | j | k ƒ d  S(   Niÿÿÿÿ(   t   getGlobalSiteManager(   t   zope.component.globalregistryR   R   R   t   sitet   NoneR   t   sm(   R   R   t   gsmt   si(    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_initial8   s
    	c            s»   t  ƒ  ‰ d t  f ‡ f d †  ƒ  Y‰  d t  f ‡  f d †  ƒ  Y} |  j ƒ  } | ƒ  | _ |  j d | j k ƒ |  j | j ˆ k ƒ |  j d | j k ƒ | ` |  j d | j k ƒ d  S(   Nt	   _Registryc              s   e  Z ˆ  Z RS(    (   R   R	   t   adapter_hook(    (   t   _hook(    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR   A   s   t   _SiteManagerc              s   e  Z ˆ  ƒ  Z RS(    (   R   R	   t   adapters(    (   R   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR!   C   s   R   (   R   R   R   t   assertFalset   __dict__R   R   (   R   R!   R   (    (   R   R    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_adapter_hook?   s    	(   R   R	   R   R   R   R%   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR   /   s   			t   Test_setSitec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   t   setSite(   R   R'   (   R   R   R'   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   _callFUTP   s    c         C   sÔ   d d l  m } d d l m } | ƒ  } t ƒ  } t ƒ  } t ƒ  } t ƒ  } | | _ | | _ | | _ t	 | d | ƒ |  j
 d  ƒ Wd  QX|  j | j | k ƒ |  j | j d  k ƒ |  j d | j k ƒ d  S(   Niÿÿÿÿ(   t   hooks(   R   t   siteinfoR   (   t   zope.componentR)   R   R   R   t   _DummySiteInfoR   R   t   adapterhookt   _MonkeyR(   R   R   R#   R$   (   R   R)   R   R   t   _SM2t   _SITEt   _HOOKR*   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_w_NoneT   s    								c            s³   d d l  m } t ƒ  ‰  d t f ‡  f d †  ƒ  Y} t ƒ  } | ƒ  } t | d | ƒ |  j | ƒ Wd  QX|  j | j ˆ  k ƒ |  j | j | k ƒ |  j	 d | j
 k ƒ d  S(   Niÿÿÿÿ(   R)   t   _Sitec              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  S(   N(    (   R   (   R/   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   getSiteManageri   s    (   R   R	   R4   (    (   R/   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR3   h   s   R*   R   (   R+   R)   R   R,   R.   R(   R   R   R   R#   R$   (   R   R)   R3   R*   t   _site(    (   R/   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_w_sitee   s    			(   R   R	   R(   R2   R6   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR&   N   s   		t   Test_getSitec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | ƒ  S(   Niÿÿÿÿ(   t   getSite(   R   R8   (   R   R8   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   v   s    c         C   sh   d d l  m } d d l m } | ƒ  } t ƒ  } t | d | ƒ |  j |  j ƒ  d  k ƒ Wd  QXd  S(   Niÿÿÿÿ(   R)   (   R   R*   (	   R+   R)   R   R   R,   R.   R   R(   R   (   R   R)   R   R   R*   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR2   z   s    		c         C   sŒ   d d l  m } d d l m } | ƒ  } t ƒ  } t ƒ  } t ƒ  } | | _ | | _ t | d | ƒ |  j	 |  j
 ƒ  | k ƒ Wd  QXd  S(   Niÿÿÿÿ(   R)   (   R   R*   (   R+   R)   R   R   R   R,   R   R   R.   R   R(   (   R   R)   R   R   R/   R0   R*   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR6   ‚   s    						(   R   R	   R(   R2   R6   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR7   t   s   		t	   Test_sitec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   R   (   R   R   (   R   t   new_siteR   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   ‘   s    c            s  d d l  m } d d l m } | ƒ  } t ƒ  ‰  d t f ‡  f d †  ƒ  Y} | ƒ  } t ƒ  } |  j | j d  k ƒ |  j | j	 t
 k ƒ t | d | ƒs |  j | ƒ 1 |  j | j | k ƒ |  j | j	 ˆ  k ƒ Wd  QX|  j | j d  k ƒ |  j | j	 | k ƒ Wd  QXd  S(   Niÿÿÿÿ(   R)   (   R   R3   c              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  S(   N(    (   R   (   R/   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR4   ›   s    (   R   R	   R4   (    (   R/   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR3   š   s   R*   (   R+   R)   R   R   R   R,   R   R   R   R   t   _SMR.   R(   (   R   R)   R   R   R3   R5   R*   (    (   R/   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_it•   s    				(   R   R	   R(   R<   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR9      s   	t   Test_getSiteManagerc           B   s/   e  Z d d  „ Z d „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | | ƒ S(   Niÿÿÿÿ(   R4   (   R   R4   (   R   t   contextR4   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   «   s    c         C   sz   d d l  m } d d l m } | ƒ  } t ƒ  } t ƒ  } | | _ t | d | ƒ |  j |  j	 ƒ  | k ƒ Wd  QXd  S(   Niÿÿÿÿ(   R)   (   R   R*   (
   R+   R)   R   R   R   R,   R   R.   R   R(   (   R   R)   R   R   R/   R*   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_default¯   s    				c         C   s€   d d l  m } d d l m } | ƒ  } t ƒ  } t ƒ  } | | _ t | d | ƒ$ |  j |  j	 t ƒ  ƒ | k ƒ Wd  QXd  S(   Niÿÿÿÿ(   R)   (   R   R*   (
   R+   R)   R   R   R   R,   R   R.   R   R(   (   R   R)   R   R   R/   R*   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt+   test_w_explicit_context_no_IComponentLookup¹   s    				c         C   sô   d d l  m } d d l m } d d l m } d d l m } d t f d „  ƒ  Y} | ƒ  } | j	 | | f | d ƒ t ƒ  } t
 ƒ  } | | _ t ƒ  }	 t | d	 | ƒ |  j |	 ƒ }
 Wd  QX|  j t |
 | ƒ ƒ |  j |
 j |	 k ƒ d  S(
   Niÿÿÿÿ(   t	   Interface(   R)   (   R   (   t   IComponentLookupt   _Lookupc           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  d  S(   N(   R>   (   R   R>   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   __init__É   s    (   R   R	   RD   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRC   È   s   t    R*   (   t   zope.interfaceRA   R+   R)   R   R   t   zope.component.interfacesRB   R   t   registerAdapterR,   R   R.   R(   R   R   R>   (   R   RA   R)   R   RB   RC   R   R/   R*   R>   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt*   test_w_explicit_context_w_IComponentLookupÃ   s    					N(   R   R	   R   R(   R?   R@   RI   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR=   ©   s   	
	
t   Test_adapter_hookc           B   s)   e  Z d  d d „ Z d „  Z d „  Z RS(   RE   c         C   s#   d d l  m } | | | | | ƒ S(   Niÿÿÿÿ(   R   (   R   R   (   R   t	   interfaceR   t   namet   defaultR   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   Ù   s    c      	      sû   d d l  m } d d l m } d d l m } d | f d „  ƒ  Y} | ƒ  } t ƒ  ‰  t ƒ  } t ƒ  } g  ‰ ‡  ‡ f d †  } t ƒ  }	 | |	 _ t	 | d |	 ƒ |  j
 | | d	 | ƒ }
 Wd  QX|  j |
 ˆ  k ƒ |  j ˆ | | d	 | f g ƒ d  S(
   Niÿÿÿÿ(   RA   (   R)   (   R   t   IFooc           B   s   e  Z RS(    (   R   R	   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRN   á   s   c            s   ˆ j  |  | | | f ƒ ˆ  S(   N(   t   append(   RK   R   RL   RM   (   t   _ADAPTERt   _called(    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   _adapter_hookè   s    R*   R   (   RF   RA   R+   R)   R   R   R   R,   R   R.   R(   R   R   (   R   RA   R)   R   RN   R   t   _DEFAULTt   _CONTEXTRR   R*   t   adapter(    (   RP   RQ   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_successÝ   s     						c      	      s  d d l  m } d d l m } d d l m } d d l m ‰  d | f d „  ƒ  Y} | ƒ  } t ƒ  } t ƒ  } g  ‰ ‡  ‡ f d †  } t	 ƒ  }	 | |	 _
 t | d	 |	 ƒ |  j | | d
 | ƒ }
 Wd  QX|  j |
 | k ƒ |  j ˆ | | d
 | f g ƒ d  S(   Niÿÿÿÿ(   RA   (   R)   (   R   (   t   ComponentLookupErrorRN   c           B   s   e  Z RS(    (   R   R	   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRN   ÷   s   c            s)   ˆ j  |  | | | f ƒ ˆ  d ƒ ‚ d  S(   Nt   testing(   RO   (   RK   R   RL   RM   (   RW   RQ   (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRR   ý   s    R*   R   (   RF   RA   R+   R)   R   R   RG   RW   R   R,   R   R.   R(   R   R   (   R   RA   R)   R   RN   R   RS   RT   RR   R*   RU   (    (   RW   RQ   sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   test_hook_raisesò   s     					N(   R   R	   R   R(   RV   RY   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRJ   ×   s   	t   Test_setHooksc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   d d l  m } | ƒ  S(   Niÿÿÿÿ(   t   setHooks(   R   R[   (   R   R[   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   
  s    c         C   s£   d d  l  } d d l m } d t f d „  ƒ  Y} | ƒ  } | ƒ  } t | j j d | d | ƒ |  j ƒ  Wd  QX|  j | j	 | j
 ƒ |  j | j	 | j ƒ d  S(   Niÿÿÿÿ(   R)   t   _Hookc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   d  |  _ d  S(   N(   R   t   _hooked(   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRD     s    c         S   s   | |  _  d  S(   N(   R]   (   R   t   value(    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   sethook  s    (   R   R	   RD   R_   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR\     s   	R   R4   (   t   zope.component._apiR+   R)   R   R.   t	   componentt   _apiR(   R   R]   R   R4   (   R   t   zopeR)   R\   R   R4   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR<     s    		
(   R   R	   R(   R<   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRZ     s   	t   Test_resetHooksc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   d d l  m } | ƒ  S(   Niÿÿÿÿ(   t
   resetHooks(   R   Re   (   R   Re   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR(   "  s    c         C   s‡   d d  l  } d t f d „  ƒ  Y} | ƒ  } | ƒ  } t | j j d | d | ƒ |  j ƒ  Wd  QX|  j | j ƒ |  j | j ƒ d  S(   NiÿÿÿÿR\   c           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   t  |  _ d  S(   N(   t   Falset   _reset(   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRD   )  s    c         S   s   t  |  _ d  S(   N(   t   TrueRg   (   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   reset+  s    (   R   R	   RD   Ri   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR\   (  s   	R   R4   (   R`   R   R.   Ra   Rb   R(   R   Rg   (   R   Rc   R\   R   R4   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR<   &  s    		
(   R   R	   R(   R<   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRd      s   	R,   c           B   s   e  Z e Z d  Z RS(   N(   R   R	   R;   R   R   R   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR,   8  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   modulet   dictt   getattrt
   to_restoret   itemst   setattr(   R   Rj   t   kwt   keyR^   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyRD   >  s    	1c         C   s   |  S(   N(    (   R   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt	   __enter__D  s    c         C   s7   x0 |  j  j ƒ  D] \ } } t |  j | | ƒ q Wd  S(   N(   Rm   Rn   Ro   Rj   (   R   t   exc_typet   exc_valt   exc_tbRq   R^   (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   __exit__G  s    (   R   R	   RD   Rr   Rv   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyR.   <  s   		c           C   sy   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 ƒ f	 ƒ S(   N(   t   unittestt	   TestSuitet	   makeSuiteR    R   R&   R7   R9   R=   RJ   RZ   Rd   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt
   test_suiteL  s    (   t   __doc__Rw   t   TestCaseR    R   R&   R7   R9   R=   RJ   RZ   Rd   R   R;   R,   R.   Rz   (    (    (    sC   /usr/lib/python2.7/site-packages/zope/component/tests/test_hooks.pyt   <module>   s   &.1	