ó
„DìPc           @   sN   d  Z  d d l Z d e j f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d S(   s$   Test the hookable support Extension
iÿÿÿÿNt   PyHookableTestsc           B   sb   e  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   _py_hookable(   t   zope.hookableR   (   t   selft   argst   kwR   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   _callFUT   s    c         C   s[   d „  } |  j  | ƒ } |  j | j | k ƒ |  j | j | k ƒ |  j | ƒ  d ƒ d  S(   Nc           S   s   d S(   Nt   FOO(    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   _foo   s    R   (   R   t
   assertTruet   originalt   implementationt   assertEqual(   R   R   t   hooked(    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_before_hook   s
    	c         C   s†   d „  } d „  } |  j  | ƒ } | j | ƒ } |  j | | k ƒ |  j | j | k ƒ |  j | j | k ƒ |  j | ƒ  d ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   !   s    c           S   s   d S(   Nt   BAR(    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   _bar#   s    R   (   R   t   sethookR	   R
   R   R   (   R   R   R   R   t   old(    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_after_hook    s    		c         C   s   d „  } d „  } |  j  | ƒ } | j | ƒ } | j ƒ  |  j | | k ƒ |  j | j | k ƒ |  j | j | k ƒ |  j | ƒ  d ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   -   s    c           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   /   s    R   (   R   R   t   resetR	   R
   R   R   (   R   R   R   R   R   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_after_hook_and_reset,   s    		
c            sA   d „  } |  j  | ƒ ‰  ‡  f d †  } |  j t t f | ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   :   s    c              s
   ˆ  `  d  S(   N(   R
   (    (   R   (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   _try=   s    (   R   t   assertRaisest	   TypeErrort   AttributeError(   R   R   R   (    (   R   sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_original_cannot_be_deleted9   s    	c            sA   d „  } |  j  | ƒ ‰  ‡  f d †  } |  j t t f | ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   B   s    c              s
   ˆ  `  d  S(   N(   R   (    (   R   (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   E   s    (   R   R   R   R   (   R   R   R   (    (   R   sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt%   test_implementation_cannot_be_deletedA   s    	c         C   s   |  j  t |  j ƒ d  S(   N(   R   R   R   (   R   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_no_argsI   s    c         C   s&   d „  } |  j  t |  j | | ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   M   s    (   R   R   R   (   R   R   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_too_many_argsL   s    	c         C   s^   d „  } |  j  d | ƒ } |  j | j | k ƒ |  j | j | k ƒ |  j | ƒ  d ƒ d  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   R   s    R   R   (   R   R	   R
   R   R   (   R   R   R   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_w_implementation_kwargQ   s
    	c         C   s&   d „  } |  j  t |  j d | ƒd  S(   Nc           S   s   d S(   NR   (    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   Z   s    t   nonesuch(   R   R   R   (   R   R   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   test_w_unknown_kwargY   s    	(   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R    (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR       s   									t   HookableTestsc           B   s   e  Z d  „  Z RS(   c         O   s   d d l  m } | | | Ž  S(   Niÿÿÿÿ(   t   hookable(   R   R$   (   R   R   R   R$   (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR   a   s    (   R!   R"   R   (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyR#   _   s   c           C   s%   t  j t  j t ƒ t  j t ƒ f ƒ S(   N(   t   unittestt	   TestSuitet	   makeSuiteR    R#   (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt
   test_suitef   s    (   t   __doc__R%   t   TestCaseR    R#   R(   (    (    (    sE   /usr/lib/python2.7/dist-packages/zope/hookable/tests/test_hookable.pyt   <module>   s   M