ó
6j/Qc           @   sZ   d  Z  d d l Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d „  Z d „  Z d S(	   s   Tests for z.c.hooks
iÿÿÿÿNt   PersistentAdapterRegistryTestsc           B   sn   e  Z d  „  Z d „  Z d „  Z d „  Z e 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   PersistentAdapterRegistry(   t!   zope.component.persistentregistryR   (   t   selfR   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   _getTargetClass   s    c         O   s   |  j  ƒ  | | Ž  S(   N(   R   (   R   t   argst   kw(    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   _makeOne   s    c         C   s    d t  f d „  ƒ  Y} | | ƒ S(   Nt   _Cachec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s   | |  _  g  |  _ d  S(   N(   t   _jart   _mru(   R   t   jar(    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   __init__    s    	c         S   s   |  j  j | ƒ d  S(   N(   R
   t   append(   R   t   oid(    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   mru#   s    c         S   s   |  j  | _ | | _ d  S(   N(   R	   t   _p_jart   _p_oid(   R   R   t   obj(    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt	   new_ghost%   s    (   t   __name__t
   __module__R   R   R   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR      s   		(   t   object(   R   R   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt
   _makeCache   s    
c         C   sa   d d l  m } d d l m } | | ƒ d t f d „  ƒ  Yƒ } | ƒ  } |  j | ƒ | _ | S(   Niÿÿÿÿ(   t   implementer(   t   IPersistentDataManagert   _Jarc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s   g  |  _  g  |  _ d  S(   N(   t   _loadedt   _registered(   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR   2   s    	c         S   s   |  j  j | j ƒ d  S(   N(   R   R   R   (   R   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   setstate5   s    c         S   s   |  j  j | j ƒ d  S(   N(   R   R   R   (   R   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   register7   s    (   R   R   R   R   R   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR   0   s   		(   t   zope.interfaceR   t   persistent.interfacesR   R   R   t   _cache(   R   R   R   R   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   _makeJar+   s    		c         K   sG   t  d ƒ } |  j |   } |  j ƒ  } | j j | | ƒ | | | f S(   Ns   i   s   (   t   _makeOctetsR   R"   R!   R   (   R   t   dirtyR   t   OIDt   instR   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   _makeOneWithJar>   s
    c         C   sb   |  j  ƒ  \ } } } |  j | j d ƒ | j t ƒ  ƒ |  j | j t ƒ |  j | j d ƒ d  S(   Ni   i   (   R'   t   assertEqualt   _generationt   changedR   t
   _p_changedt   True(   R   t   registryR   R%   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   test_changed_original_is_not_usF   s
    c         C   s_   |  j  ƒ  \ } } } |  j | j d ƒ | j | ƒ |  j | j t ƒ |  j | j d ƒ d  S(   Ni   i   (   R'   R(   R)   R*   R+   R,   (   R   R-   R   R%   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   test_changed_original_is_usP   s
    c         C   sÄ   d d l  m } | j | j f } |  j d | ƒ \ } } } | j ƒ  } |  j | d | ƒ |  j | d d ƒ |  j | d i  ƒ |  j | d g  ƒ |  j | d	 g  ƒ |  j d
 | k ƒ d  S(   Niÿÿÿÿ(   t   globalSiteManagert   basest	   __bases__R)   i   t	   _providedt	   _adapterst   _subscriberst   ro(   t   zope.componentR0   t   adapterst	   utilitiesR'   t   __getstate__R(   t   assertFalse(   R   R0   R1   R-   R   R%   t   state(    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   test___getstate___simpleY   s    c         C   s>   |  j  ƒ  \ } } } d „  | _ |  j d | j ƒ  k ƒ d  S(   Nc          W   s   d d d g S(   Nt   at   bt   c(    (   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   <lambda>g   s    t   names(   R'   RB   R;   R:   (   R   R-   R   R%   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt'   test___getstate___skips_delegated_namese   s    c         C   s}   |  j  ƒ  \ } } } | j ƒ  } |  j d | j k ƒ d  | _ |  j d | j k ƒ | j | ƒ |  j d | j k ƒ d  S(   Nt	   _v_lookup(   R'   R:   t
   assertTruet   __dict__t   NoneR+   R;   t   __setstate__(   R   R-   R   R%   R<   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt$   test___setstate___rebuilds__v_lookupj   s    	c         C   s   d d l  m } | j | j f } |  j d | ƒ \ } } } | j ƒ  } | j | ƒ |  j | j | ƒ |  j | j	 | g t
 | ƒ ƒ d  S(   Niÿÿÿÿ(   R0   R1   (   R7   R0   R8   R9   R'   R:   RH   R(   R2   R6   t   list(   R   R0   R1   R-   R   R%   R<   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   test___setstate___rebuilds__ros   s    (   R   R   R   R   R   R"   t   FalseR'   R.   R/   R=   RC   RI   RK   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR       s   					
						t   PersistentComponentsTestsc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d d l  m } | S(   Niÿÿÿÿ(   t   PersistentComponents(   R   RN   (   R   RN   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR      s    c         O   s   |  j  ƒ  | | Ž  S(   N(   R   (   R   R   R   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR   ƒ   s    c         C   sÖ   d d l  m } d d l m } d d l m } |  j ƒ  } |  j t | j	 | ƒ ƒ |  j t | j
 | ƒ ƒ |  j t | j | ƒ ƒ |  j t | j | ƒ ƒ |  j t | j | ƒ ƒ |  j t | j | ƒ ƒ d  S(   Niÿÿÿÿ(   t   PersistentMapping(   t   PersistentList(   R   (   t   persistent.mappingRO   t   persistent.listRP   R   R   R   RE   t
   isinstanceR8   R9   t   _adapter_registrationst   _utility_registrationst   _subscription_registrationst   _handler_registrations(   R   RO   RP   R   R-   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt2   test_ctor_initializes_registries_and_registrations†   s     




(   R   R   R   R   RX   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyRM   }   s   		c         C   s2   d d  l  } | j d k  r% t |  ƒ St |  d ƒ S(   Niÿÿÿÿi   t   ascii(   i   (   t   syst   version_infot   bytes(   t   sRZ   (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyR#   ˜   s    
c           C   s%   t  j t  j t ƒ t  j t ƒ f ƒ S(   N(   t   unittestt	   TestSuitet	   makeSuiteR    RM   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt
   test_suitež   s    (   t   __doc__R^   t   TestCaseR    RM   R#   Ra   (    (    (    sP   /usr/lib/python2.7/site-packages/zope/component/tests/test_persistentregistry.pyt   <module>   s
   j	