ó
6j/Qc           @   s8   d  Z  d d l Z d e j f d     YZ d   Z d S(   s   Pure-Python hookable tests
i˙˙˙˙Nt   HookableTestsc           B   sk   e  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 } |  j t |  d  S(   Ni˙˙˙˙(   t   hookable(   t   zope.component.hookableR   t   assertRaisest	   TypeError(   t   selfR   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_ctor_no_func   s    c         C   sU   d d l  m } d   } | |  } |  j | j | k  |  j | j | k  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   foo   s    (   R   R   t
   failUnlesst   originalt   implementation(   R   R   R   t   hooked(    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_ctor_simple   s
    	c         C   s3   d d l  m } d   } |  j t | | |  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   #   s    (   R   R   R   R   (   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_ctor_extra_arg!   s    	c         C   s6   d d l  m } d   } |  j t | | d | d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   )   s    t   nonesuch(   R   R   R   R   (   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_ctor_extra_arg_miss'   s    	c         C   sk   d d l  m } d   } d   } | |  } | j |  |  j | j | k  |  j | j | k  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   /   s    c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   bar1   s    (   R   R   t   sethookR   R	   R
   (   R   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_sethook-   s    		c         C   su   d d l  m } d   } d   } | |  } | j |  | j   |  j | j | k  |  j | j | k  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   :   s    c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   <   s    (   R   R   R   t   resetR   R	   R
   (   R   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt
   test_reset8   s    		
c         C   sp   d d l  m } d   } d   } | |  } y | | _ Wn! t k
 rN n t k
 r^ n X|  j d  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   F   s    c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   H   s    s   Assigned original(   R   R   R	   R   t   AttributeErrort   fail(   R   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_cant_assign_originalD   s    		c         C   sd   d d l  m } d   } | |  } y
 | ` Wn! t k
 rB n t k
 rR n X|  j d  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   V   s    s   Deleted original(   R   R   R	   R   R   R   (   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_cant_delete_originalT   s    	
c         C   sp   d d l  m } d   } d   } | |  } y | | _ Wn! t k
 rN n t k
 r^ n X|  j d  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   d   s    c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   f   s    s   Assigned implementation(   R   R   R
   R   R   R   (   R   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_cant_assign_implementationb   s    		c         C   sd   d d l  m } d   } | |  } y
 | ` Wn! t k
 rB n t k
 rR n X|  j d  d  S(   Ni˙˙˙˙(   R   c           S   s   d  S(   N(    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR   t   s    s   Deleted implementation(   R   R   R
   R   R   R   (   R   R   R   R   (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_cant_delete_implementationr   s    	
c            sh   d d l  m } g      f d   } | |  } | d d d d |  j   d i d d 6f g  d  S(	   Ni˙˙˙˙(   R   c             s     j  |  | f  d  S(   N(   t   append(   t   argst   kw(   t   _called(    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR      s    t   onet   twoR   t   baz(   R   R    (   R   R   t   assertEqual(   R   R   R   R   (    (   R   sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   test_ctor___call__   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R   R#   (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyR       s   										c           C   s   t  j t  j t  f  S(   N(   t   unittestt	   TestSuitet	   makeSuiteR    (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt
   test_suite   s    (   t   __doc__R&   t   TestCaseR    R)   (    (    (    sF   /usr/lib/python2.7/site-packages/zope/component/tests/test_hookable.pyt   <module>   s   w