;
Íâ"Ic               @   sc  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z e a	 Gd „  d ƒ Z
 Gd „  d ƒ Z d „  Z d „  Z Gd	 „  d
 e j ƒ Z Gd „  d e ƒ Z Gd „  d e ƒ Z Gd „  d ƒ Z Gd „  d e ƒ Z d  d l m Z Gd „  d e j ƒ Z Gd „  d e j ƒ Z d Z i e d 6Z d „  Z e d k o e ƒ  n d S(   i    N(   u   supportc             B   s   |  Ee  Z d  „  Z d S(   c             C   s   d  S(   N(    (   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   method   s    N(   u   __name__u
   __module__u   method(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C   s   
u   Cc             B   s   |  Ee  Z d Z d  „  Z d S(   c             C   s   | |  _  d  S(   N(   u   bar(   u   selfu   x(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __call__   s    N(   u   __name__u
   __module__u   Noneu   baru   __call__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Callable   s   
u   Callablec              C   s   d „  }  |  S(   Nc               S   s   d  S(   N(    (    (    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   f   s    (    (   u   f(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   create_function   s    	c               C   s
   t  ƒ  j S(   N(   u   Cu   method(    (    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   create_bound_method   s    c             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             C   s   d |  _  d  S(   Ni    (   u   cbcalled(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   setUp#   s    c             C   s   |  j  d 7_  d  S(   Ni   (   u   cbcalled(   u   selfu   ref(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   callback&   s    N(   u   __name__u
   __module__u   setUpu   callback(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   TestBase!   s   
	u   TestBasec             B   sI  |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# S($   c             C   sZ   |  j  t ƒ |  j  t ƒ |  j  t ƒ t ƒ  } t j | ƒ } t | ƒ ~ t | ƒ d  S(   N(   u   check_basic_refu   Cu   create_functionu   create_bound_methodu   weakrefu   refu   repr(   u   selfu   ou   wr(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_basic_ref,   s    	
c             C   s+   |  j  t ƒ |  j  t ƒ |  j  t ƒ d  S(   N(   u   check_basic_callbacku   Cu   create_functionu   create_bound_method(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_basic_callback:   s    c             C   s…   t  ƒ  } t j | |  j ƒ } t j | |  j ƒ } ~ |  j | ƒ  d  k d ƒ |  j | ƒ  d  k d ƒ |  j |  j d k d ƒ d  S(   Nu$   expected reference to be invalidatedi   u-   callback not called the right number of times(   u   Cu   weakrefu   refu   callbacku   assert_u   Noneu   cbcalled(   u   selfu   ou   ref1u   ref2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_multiple_callbacks?   s    	c             C   sC   |  d „ } t  ƒ  } t j | | ƒ |  _ t j | | ƒ } ~ d  S(   Nc             S   s   | j  ƒ  d  S(   N(   u   ref(   u   objectu   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   callbackV   s    (   u   Cu   weakrefu   ref(   u   selfu   callbacku   cu   ref1(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_multiple_selfref_callbacksK   s
    	c             C   s¤   t  ƒ  } d | _ t j | |  j ƒ } t j | |  j ƒ } ~ d „  } |  j t | | ƒ |  j t | | ƒ |  j t t t j t  ƒ  ƒ ƒ |  j |  j	 d ƒ d  S(   Ni   c             S   s   |  j  d  S(   N(   u   bar(   u   proxy(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   checkd   s    i   (
   u   Cu   baru   weakrefu   proxyu   callbacku   assertRaisesu   ReferenceErroru   boolu   assertEqualu   cbcalled(   u   selfu   ou   ref1u   ref2u   check(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_ref]   s    			c             C   sT   | ƒ  } t  j | ƒ } |  j | ƒ  d  k	 d ƒ | ƒ  } |  j | | k d ƒ d  S(   Nu,   weak reference to live object should be liveu-   <ref>() should return original object if live(   u   weakrefu   refu   assert_u   None(   u   selfu   factoryu   ou   refu   o2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_basic_refl   s    		c             C   s`   d |  _  | ƒ  } t j | |  j ƒ } ~ |  j |  j  d k d ƒ |  j | ƒ  d  k d ƒ d  S(   Ni    i   u(   callback did not properly set 'cbcalled'u3   ref2 should be dead after deleting object reference(   u   cbcalledu   weakrefu   refu   callbacku   assert_u   None(   u   selfu   factoryu   ou   ref(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_basic_callbacku   s    		c             C   sÝ   t  ƒ  } t j | ƒ } t j | ƒ } t j | ƒ } |  j | | k d ƒ t  ƒ  } t j | ƒ } t j | ƒ } t j | ƒ } |  j | | k d ƒ |  j t j | ƒ d k d ƒ ~ |  j t j | ƒ d k d ƒ d  S(   Nu1   reference object w/out callback should be re-usedi   u   wrong weak ref count for objecti   u4   wrong weak ref count for object after deleting proxy(   u   Cu   weakrefu   refu   proxyu   assert_u   getweakrefcount(   u   selfu   ou   ref1u   proxyu   ref2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_ref_reuse   s"    		c             C   sP   t  ƒ  } t j | ƒ } t j | ƒ } t j | ƒ } |  j | | k d ƒ d  S(   Nu4   proxy object w/out callback should have been re-used(   u   Cu   weakrefu   proxyu   refu   assert_(   u   selfu   ou   proxy1u   refu   proxy2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_reuse•   s    	c             C   sð  t  ƒ  } |  j | t j | ƒ ƒ t j ƒ  } t j | ƒ } |  j | d ƒ | j d ƒ |  j t	 | ƒ d ƒ |  j
 | d ƒ d d g | d  d  … <|  j t	 | ƒ d ƒ |  j t	 | ƒ d ƒ |  j
 d | k d ƒ d | d <|  j | d d ƒ |  j | d d ƒ t j | ƒ } t j | ƒ } |  j | | ƒ t j t d	 ƒ ƒ } t j | ƒ } |  j | d  d  … | d  d  … ƒ |  j | d d  … | d d  … ƒ |  j | d  d … | d  d … ƒ |  j | d d … | d d … ƒ d  S(
   Nu(   proxy for empty UserList should be falsei   i   u+   proxy for non-empty UserList should be truei   i   u,   proxy didn't support __contains__() properlyi   i
   (   u   Cu   check_proxyu   weakrefu   proxyu   collectionsu   UserListu   failIfu   appendu   assertEqualu   lenu
   failUnlessu   range(   u   selfu   ou   Lu   pu   L2u   p2u   L3u   p3(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_basic_proxy   s2    	
$$$c             C   sE   Gd „  d ƒ } | ƒ  } t  j | ƒ } |  j t j | ƒ d ƒ d  S(   Nc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Ni
   (    (   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   __index__¼   s    N(   u   __name__u
   __module__u	   __index__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C»   s   
u   Ci
   (   u   weakrefu   proxyu   assertEqualu   operatoru   index(   u   selfu   Cu   ou   p(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_indexº   s    	c             C   sZ   Gd „  d ƒ } | ƒ  } t  j | ƒ } |  j | d d ƒ | d } |  j | d ƒ d  S(   Nc             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             S   s   d S(   Ni*   (    (   u   selfu   other(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __floordiv__Ä   s    c             S   s   d S(   Ni   (    (   u   selfu   other(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __ifloordiv__Æ   s    N(   u   __name__u
   __module__u   __floordiv__u   __ifloordiv__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   CÃ   s   
	u   Ci   i*   i   (   u   weakrefu   proxyu   assertEqual(   u   selfu   Cu   ou   p(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_divÂ   s    	
c             C   s   |  j  t j ƒ d  S(   N(   u   check_shared_without_callbacku   weakrefu   ref(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu    test_shared_ref_without_callbackÖ   s    c             C   s   |  j  t j ƒ d  S(   N(   u   check_shared_without_callbacku   weakrefu   proxy(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu"   test_shared_proxy_without_callbackÙ   s    c             C   sæ   t  d ƒ } | | d  ƒ } | | d  ƒ } |  j | | k d ƒ ~ ~ | | ƒ } | | d  ƒ } |  j | | k d ƒ ~ ~ | | ƒ } | | ƒ } |  j | | k d ƒ ~ ~ | | d  ƒ } | | ƒ } |  j | | k d ƒ d  S(   Ni   u%   both callbacks were None in the C APIu&   callbacks were NULL, None in the C APIu%   both callbacks were NULL in the C APIu&   callbacks were None, NULL in the C API(   u   Objectu   Noneu   assert_(   u   selfu   makerefu   ou   p1u   p2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_shared_without_callbackÜ   s     c             C   s½   t  ƒ  } t j | ƒ } |  j | | ƒ |  j t | ƒ t j k d ƒ | d ƒ |  j | j d k d ƒ | d d ƒ |  j | j d k d ƒ |  j t	 | ƒ |  j t	 | d d d ƒ d  S(	   Nu   proxy is not of callable typeu	   twinkies!u1   call through proxy not passed through to originalu   xu   Splat.i   i   i   (
   u   Callableu   weakrefu   proxyu   check_proxyu   assert_u   typeu   CallableProxyTypeu   baru   assertRaisesu	   TypeError(   u   selfu   ou   ref1(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callable_proxyî   s    	
c             C   sÌ   d | _  |  j | j  d k d ƒ d | _  |  j | j  d k d ƒ | `  |  j t | d ƒ d ƒ d | _  |  j | j  d k d ƒ d | _  |  j | j  d k d ƒ | `  |  j t | d ƒ d	 ƒ d  S(
   Ni   u)   proxy does not reflect attribute additioni   u-   proxy does not reflect attribute modificationu   foou(   proxy does not reflect attribute removalu4   object does not reflect attribute addition via proxyu8   object does not reflect attribute modification via proxyu3   object does not reflect attribute removal via proxy(   u   foou   assert_u   hasattr(   u   selfu   ou   proxy(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_proxy  s&    				c             C   sF   Gd „  d ƒ } | ƒ  } t  j | ƒ } | d =|  j | j d ƒ d  S(   Nc             B   s   |  Ee  Z d Z d  „  Z d S(   c             S   s   | |  _  d  S(   N(   u   result(   u   selfu   accessor(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __delitem__  s    N(   u   __name__u
   __module__u   Noneu   resultu   __delitem__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Foo  s   
u   Fooi    (   u   weakrefu   proxyu   assertEqualu   result(   u   selfu   Foou   gu   f(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_deletion  s
    	c             C   sE   Gd „  d t  ƒ } | ƒ  } |  j t t j | ƒ ƒ t | ƒ ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   List&  s   
 u   List(   u   listu   assertEqualu   boolu   weakrefu   proxy(   u   selfu   Listu   lyst(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_proxy_bool$  s    	c             C   sÝ   t  ƒ  } t j | ƒ } t j | |  j ƒ } |  j t j | ƒ d k d ƒ t j | ƒ } t j | |  j ƒ } |  j t j | ƒ d k d ƒ ~ ~ ~ ~ |  j t j | ƒ d k d ƒ |  j t j d ƒ d k d ƒ d  S(   Ni   u*   got wrong number of weak reference objectsi   i    uA   weak reference objects not unlinked from referent when discarded.i   u2   got wrong number of weak reference objects for int(   u   Cu   weakrefu   refu   callbacku   assert_u   getweakrefcountu   proxy(   u   selfu   ou   ref1u   ref2u   proxy1u   proxy2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_getweakrefcount*  s    	c             C   sõ   t  ƒ  } t j | |  j ƒ } t j | |  j ƒ } ~ |  j t j | ƒ | g k d ƒ t  ƒ  } t j | |  j ƒ } t j | |  j ƒ } ~ |  j t j | ƒ | g k d ƒ ~ |  j t j | ƒ g  k d ƒ |  j t j d ƒ g  k d ƒ d  S(   Nu   list of refs does not matchu   list of refs not clearedi   u#   list of refs does not match for int(   u   Cu   weakrefu   refu   callbacku   assert_u   getweakrefs(   u   selfu   ou   ref1u   ref2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_getweakrefs?  s"    		c             C   s`   Gd „  d t  ƒ } | d ƒ } t j | ƒ } |  j | d d k ƒ |  j d | d k ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   FW  s   
u   Fg       @g      ð?g      @(   u   floatu   weakrefu   proxyu   assert_(   u   selfu   Fu   fu   p(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_newstyle_number_opsV  s
    c                sŸ   Gd „  d t  ƒ ‰  i  ‰ ‡ f d †  ‰ ‡  ‡ ‡ f d †  } y | ƒ  Wn ˆ  k
 o Yn X|  j d ƒ y | ƒ  Wn ˆ  k
 o Yn X|  j d ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu
   BogusErrora  s   
u
   BogusErrorc                s   ˆ  |  =d  S(   N(    (   u   k(   u   data(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   removed  s    c                 s)   d „  }  d  ˆ t j |  ˆ ƒ <ˆ  ‚ d  S(   Nc               S   s   d  S(   (    (    (    (    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   <lambda>g  s    (   u   Noneu   weakrefu   ref(   u   f(   u
   BogusErroru   removeu   data(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   encapsulatef  s    	u   exception not properly restored(   u	   Exceptionu   fail(   u   selfu   encapsulate(    (   u
   BogusErroru   datau   removeu.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callbacks_protected^  s    c                s˜   d d  l  ‰  Gd „  d t ƒ } | ƒ  } t j | ‡  f d †  ƒ } ~ ~ | ƒ  } | ƒ  | _ t j | j ‡  f d †  ƒ } | ƒ  } | | _ ~ ~ d  S(   Ni    c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C„  s   
u   Cc                s
   ˆ  j  ƒ  S(    (   u   collect(   u   ignore(   u   gc(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   <lambda>ˆ  s    c                s
   ˆ  j  ƒ  S(    (   u   collect(   u   ignore(   u   gc(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   <lambda>  s    (   u   gcu   objectu   weakrefu   refu   iu   c1(   u   selfu   Cu   cu   wru   c1u   c2(    (   u   gcu.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_sf_bug_840829w  s    					c             C   ss   d d  l  } Gd „  d t ƒ } Gd „  d t ƒ } | ƒ  } | | _ t j | | j ƒ | _ ~ ~ ~ | j ƒ  d  S(   Ni    c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   J¢  s   
u   Jc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   |  j  d  S(   N(   u   J(   u   selfu   ignore(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   acallback¦  s    N(   u   __name__u
   __module__u	   acallback(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   II¥  s   
u   II(   u   gcu   objectu   Ju   weakrefu   refu	   acallbacku   wru   collect(   u   selfu   gcu   Ju   IIu   I(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callback_in_cycle_1Ÿ  s    			c             C   sp   d d  l  } Gd „  d t ƒ } Gd „  d ƒ } | ƒ  } | | _ t j | | j ƒ | _ ~ ~ ~ | j ƒ  d  S(   Ni    c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   JÖ  s   
u   Jc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   |  j  d  S(   N(   u   J(   u   selfu   ignore(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   acallbackÚ  s    N(   u   __name__u
   __module__u	   acallback(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   IIÙ  s   
u   II(   u   gcu   objectu   Ju   weakrefu   refu	   acallbacku   wru   collect(   u   selfu   gcu   Ju   IIu   I(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callback_in_cycle_2Ç  s    			c             C   sm   d d  l  } Gd „  d ƒ } | ƒ  | ƒ  } } | | _ | | _ t j | | j ƒ | _ ~ ~ | j ƒ  d  S(   Ni    c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   |  j  |  j |  j d  S(   N(   u   meu   c1u   wr(   u   selfu   ignore(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   cbî  s    N(   u   __name__u
   __module__u   cb(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Cí  s   
u   C(   u   gcu   meu   c1u   weakrefu   refu   cbu   wru   collect(   u   selfu   gcu   Cu   c1u   c2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callback_in_cycle_3ä  s    		c             C   s†   d d  l  } Gd „  d t ƒ } Gd „  d ƒ } | ƒ  | ƒ  } } | | _ | | _ t j | | j ƒ | _ ~ ~ ~ ~ | j ƒ  d  S(   Ni    c             B   s   |  Ee  Z d  „  Z d S(   c             S   s   |  j  |  j |  j d  S(   N(   u   meu   c1u   wr(   u   selfu   ignore(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   cb  s    N(   u   __name__u
   __module__u   cb(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C  s   
u   Cc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   D  s   
u   D(	   u   gcu   objectu   meu   c1u   weakrefu   refu   cbu   wru   collect(   u   selfu   gcu   Cu   Du   c1u   c2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callback_in_cycle_4ü  s    			c                s  d d  l  } g  ‰  G‡  f d †  d t ƒ } | d ƒ | d ƒ } } | | _ | | _ t j | | j ƒ | _ t j | | j ƒ | _ ‡  f d †  } t j | | ƒ } ~ ~ ~ |  j ˆ  g  ƒ | j ƒ  |  j ˆ  d g ƒ |  j | ƒ  d  ƒ ˆ  d  d  … =| j ƒ  |  j ˆ  g  ƒ d  S(   Ni    c                s&   |  Ee  Z d  „  Z ‡  f d †  Z d S(   c             S   s   | |  _  d  S(   N(   u	   attribute(   u   selfu   value(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __init__&  s    c                s   ˆ  j  |  j ƒ d  S(   N(   u   appendu   c(   u   selfu   ignore(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   acallback)  s    N(   u   __name__u
   __module__u   __init__u	   acallback(   u
   __locals__(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C%  s   
	u   Ci   i   c                s   ˆ  j  d ƒ d  S(   Nu   C went away(   u   append(   u   ignore(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C_went_away2  s    u   C went away(
   u   gcu   objectu   cu   weakrefu   refu	   acallbacku   wru   assertEqualu   collectu   None(   u   selfu   gcu   Cu   c1u   c2u   C_went_awayu   wr(    (   u   alistu.   /mit/python/lib/python3.0/test/test_weakref.pyu#   test_callback_in_cycle_resurrection  s$    			

c                s4  d d  l  } g  ‰  ‡  f d †  } G‡  f d †  d t ƒ } | ƒ  | ƒ  } } | | _ | | _ | j } t j | | ƒ | _ t j | | j ƒ | _ t j | | ƒ } |  j | ƒ  | k ƒ ~ ~ ~ ~ |  j ˆ  g  ƒ | j	 ƒ  |  j ˆ  d g ƒ |  j | ƒ  d  ƒ ˆ  d  d  … =| j	 ƒ  |  j ˆ  g  ƒ d  S(   Ni    c                s   ˆ  j  d ƒ d  S(   Nu   safe_callback called(   u   append(   u   ignore(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   safe_callbackK  s    c                s   |  Ee  Z ‡  f d  †  Z d S(   c                s   ˆ  j  d ƒ d  S(   Nu	   cb called(   u   append(   u   selfu   ignore(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   cbO  s    N(   u   __name__u
   __module__u   cb(   u
   __locals__(   u   alist(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   CN  s   
u   Cu   safe_callback called(   u   gcu   objectu   otheru   cbu   weakrefu   refu   wru   assert_u   assertEqualu   collectu   None(   u   selfu   gcu   safe_callbacku   Cu   cu   du   callbacku   external_wr(    (   u   alistu.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_callbacks_on_callbackF  s(    				

c             C   s   |  j  t j ƒ d  S(   N(   u   check_gc_during_creationu   weakrefu   ref(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_gc_during_ref_creationl  s    c             C   s   |  j  t j ƒ d  S(   N(   u   check_gc_during_creationu   weakrefu   proxy(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_gc_during_proxy_creationo  s    c          	   C   sž   t  j ƒ  } t  j d d d ƒ t  j ƒ  Gd „  d ƒ } d „  } | ƒ  } | ƒ  } | | _ | | ƒ | _ z | ƒ  } t j | | ƒ Wd  t  j | Œ  Xd  S(   Ni   c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Av  s   
u   Ac              W   s   d  S(   N(    (   u   args(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   callbacky  s    (   u   gcu   get_thresholdu   set_thresholdu   collectu   au   wru   weakrefu   ref(   u   selfu   makerefu
   thresholdsu   Au   callbacku
   referencedu   a(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_gc_during_creationr  s    
					c             C   s    Gd „  d t  ƒ } | ƒ  } d  S(   Nc             B   s   |  Ee  Z d  „  Z d S(   c             S   s   t  j |  ƒ a d  S(   N(   u   weakrefu   refu   ref_from_del(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __del__‘  s    N(   u   __name__u
   __module__u   __del__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Target  s   
u   Target(   u   object(   u   selfu   Targetu   w(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_ref_created_during_del‹  s    c             C   s?   t  j t ƒ } |  j t | j d d d d d ƒ t j ƒ  d  S(   Ni    (   u   weakrefu   refu	   Exceptionu   assertRaisesu	   TypeErroru   __init__u   gcu   collect(   u   selfu   r(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   test_init—  s    "N(%   u   __name__u
   __module__u   test_basic_refu   test_basic_callbacku   test_multiple_callbacksu   test_multiple_selfref_callbacksu   test_proxy_refu   check_basic_refu   check_basic_callbacku   test_ref_reuseu   test_proxy_reuseu   test_basic_proxyu   test_proxy_indexu   test_proxy_divu    test_shared_ref_without_callbacku"   test_shared_proxy_without_callbacku   check_shared_without_callbacku   test_callable_proxyu   check_proxyu   test_proxy_deletionu   test_proxy_boolu   test_getweakrefcountu   test_getweakrefsu   test_newstyle_number_opsu   test_callbacks_protectedu   test_sf_bug_840829u   test_callback_in_cycle_1u   test_callback_in_cycle_2u   test_callback_in_cycle_3u   test_callback_in_cycle_4u#   test_callback_in_cycle_resurrectionu   test_callbacks_on_callbacku   test_gc_during_ref_creationu   test_gc_during_proxy_creationu   check_gc_during_creationu   test_ref_created_during_delu	   test_init(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   ReferencesTestCase*   sF   
								
																	(	(				.	&				u   ReferencesTestCasec             B   s;   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sš   Gd „  d t  j ƒ } t d ƒ } | | d d ƒ} |  j | ƒ  | k ƒ |  j | j ƒ |  j | j d ƒ ~ |  j | ƒ  d  k ƒ |  j | j ƒ d  S(   Nc                s2   |  Ee  Z d d  ‡  f d † Z ‡  f d †  Z ‡  S(   i*   c                s    | |  _  t ƒ  j | | ƒ d  S(   N(   u   valueu   superu   __init__(   u   selfu   obu   callbacku   value(   u	   __class__(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __init__¤  s    	c                s   d |  _ t ƒ  j ƒ  S(   NT(   u   Trueu   calledu   superu   __call__(   u   self(   u	   __class__(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __call__§  s    	N(   u   __name__u
   __module__u   Noneu   __init__u   __call__(   u
   __locals__(    (   u	   __class__u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MyRef£  s   
u   MyRefu   foou   valuei   (   u   weakrefu   refu   Objectu   assert_u   calledu   assertEqualu   valueu   None(   u   selfu   MyRefu   ou   mr(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_subclass_refs¢  s    c             C   s'  Gd „  d t  j ƒ } t d ƒ } | | ƒ } t  j | ƒ } |  j | | k	 ƒ |  j t  j | ƒ | | g ƒ |  j t  j | ƒ d ƒ | | ƒ } |  j t  j | ƒ d ƒ t  j | ƒ } |  j t | ƒ d ƒ |  j | | d k ƒ |  j | | d d  … k ƒ |  j | | d d  … k ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MyRef´  s   
u   MyRefi*   i   i   i    i   (   u   weakrefu   refu   Objectu   assert_u   assertEqualu   getweakrefsu   getweakrefcountu   len(   u   selfu   MyRefu   ou   r1u   r2u   r3u   refs(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu-   test_subclass_refs_dont_replace_standard_refs³  s    c             C   sŒ   Gd „  d t  j ƒ } t d ƒ } | | t ƒ } | | t ƒ } |  j | | k	 ƒ t  j | ƒ } |  j | | k ƒ |  j | | k ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MyRefÅ  s   
u   MyRefi*   (   u   weakrefu   refu   Objectu   idu   stru   assert_u   getweakrefs(   u   selfu   MyRefu   ou   r1u   r2u   refs(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu*   test_subclass_refs_dont_conflate_callbacksÄ  s    c             C   s   Gd „  d t  j ƒ } t d ƒ } | | d  d d ƒ } |  j | j d ƒ |  j | j d ƒ |  j | j ƒ  d ƒ |  j t	 | d ƒ ƒ d  S(   Nc             B   s/   |  Ee  Z d Z d „  Z d „  Z d „  Z d S(   u   slot1u   slot2c             S   s   t  j j |  | | ƒ S(   N(   u   weakrefu   refu   __new__(   u   typeu   obu   callbacku   slot1u   slot2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __new__Ò  s    c             S   s   | |  _  | |  _ d  S(   N(   u   slot1u   slot2(   u   selfu   obu   callbacku   slot1u   slot2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __init__Ô  s    	c             S   s   |  j  |  j S(   N(   u   slot1u   slot2(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   meth×  s    N(   u   slot1u   slot2(   u   __name__u
   __module__u	   __slots__u   __new__u   __init__u   meth(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MyRefÐ  s   
		u   MyRefi*   u   abcu   defu   abcdefu   __dict__(
   u   weakrefu   refu   Objectu   Noneu   assertEqualu   slot1u   slot2u   methu   failIfu   hasattr(   u   selfu   MyRefu   ou   r(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_subclass_refs_with_slotsÏ  s    	c                s¸   Gd „  d t  j ƒ } ‡  f d †  } t ƒ  } | | | ƒ } | | _ ~ ~ ˆ  j ˆ  j d ƒ t ƒ  } | | | ƒ } | | | ƒ } | | _ | | _ ~ ~ ~ ˆ  j ˆ  j d ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MyRefç  s   
u   MyRefc                s   ˆ  j  d 7_  d  S(   Ni   (   u   cbcalled(   u   w(   u   self(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   callbackì  s    i    (   u   weakrefu   refu   Cu   ou   assertEqualu   cbcalledu   r(   u   selfu   MyRefu   callbacku   ou   r1u   r2(    (   u   selfu.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_subclass_refs_with_cycleà  s"    					N(   u   __name__u
   __module__u   test_subclass_refsu-   test_subclass_refs_dont_replace_standard_refsu*   test_subclass_refs_dont_conflate_callbacksu   test_subclass_refs_with_slotsu   test_subclass_refs_with_cycle(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   SubclassableWeakrefTestCase   s
   
				u   SubclassableWeakrefTestCasec             B   s2   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d S(   c             C   s   | |  _  d  S(   N(   u   arg(   u   selfu   arg(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __init__  s    c             C   s   d |  j  S(   Nu   <Object %r>(   u   arg(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __repr__
  s    c             C   s%   t  | t ƒ o |  j | j k  St S(   N(   u
   isinstanceu   Objectu   argu   NotImplemented(   u   selfu   other(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __lt__  s    c             C   s   t  |  j ƒ S(   N(   u   hashu   arg(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __hash__  s    N(   u   __name__u
   __module__u   __init__u   __repr__u   __lt__u   __hash__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   Object  s   
			u   Objectc             B   sÚ   |  Ee  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   i
   c             C   sX  |  j  ƒ  \ } } xD | D]< } |  j t j | ƒ d ƒ |  j | | | j k d ƒ q Wt | j ƒ  ƒ } t | j ƒ  j ƒ  ƒ } | j	 ƒ  | j	 ƒ  |  j | | d ƒ ~ ~ |  j t
 | ƒ |  j ƒ | d =|  j t
 | ƒ |  j d d ƒ ~ ~ |  j t
 | ƒ d d ƒ t j ƒ  } |  j t | j d ƒ t ƒ  | d <|  j t | j d ƒ d  S(   Ni   u#   wrong object returned by weak dict!u/   cloning of weak-valued dictionary did not work!i    u/   deleting object did not cause dictionary updateu0   deleting the values did not clear the dictionaryi   (   u   make_weak_valued_dictu   assertEqualu   weakrefu   getweakrefcountu   assert_u   argu   listu   itemsu   copyu   sortu   lenu   COUNTu   WeakValueDictionaryu   assertRaisesu   KeyErroru   __getitem__u   C(   u   selfu   dictu   objectsu   ou   items1u   items2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_values  s0     

c             C   sK  |  j  ƒ  \ } } xN | D]F } |  j t j | ƒ d k d | ƒ |  j | j | | k d ƒ q W| j ƒ  } | j ƒ  j ƒ  } |  j t | ƒ t | ƒ d ƒ ~ ~ |  j t	 | ƒ |  j
 ƒ | d =|  j t	 | ƒ |  j
 d k d ƒ ~ ~ |  j t	 | ƒ d k d ƒ t d ƒ } d	 | | <|  j | | k ƒ |  j d
 | k ƒ d  S(   Ni   u&   wrong number of weak references to %r!u#   wrong object returned by weak dict!u.   cloning of weak-keyed dictionary did not work!i    u/   deleting object did not cause dictionary updateu.   deleting the keys did not clear the dictionaryi*   u$   What is the meaning of the universe?i"   (   u   make_weak_keyed_dictu   assert_u   weakrefu   getweakrefcountu   argu   itemsu   copyu   assertEqualu   setu   lenu   COUNTu   Object(   u   selfu   dictu   objectsu   ou   items1u   items2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keys5  s.     
c             C   s…  |  j  ƒ  \ } } |  j | ƒ | j ƒ  } |  j t | ƒ t | ƒ ƒ t | ƒ } xa | D]Y } | ƒ  } |  j | | k ƒ |  j | | k ƒ |  j | j | | ƒ | j | ƒ qZ W|  j t | ƒ d ƒ t | ƒ } |  j t t | j ƒ  ƒ ƒ t | ƒ ƒ xg | j ƒ  D]Y } | ƒ  } |  j | | k ƒ |  j | | k ƒ |  j | j | | ƒ | j | ƒ qW|  j t | ƒ d ƒ d  S(   Ni    (	   u   make_weak_keyed_dictu   check_itersu   keyrefsu   assertEqualu   lenu   listu   assert_u   argu   remove(   u   selfu   dictu   objectsu   refsu   objects2u   wru   ob(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_itersQ  s.     	( 	c             C   ss  |  j  ƒ  \ } } |  j | ƒ | j ƒ  } |  j t | ƒ t | ƒ ƒ t | ƒ } xX | D]P } | ƒ  } |  j | | | j ƒ |  j | j | | j j ƒ | j | ƒ qZ W|  j t | ƒ d ƒ t | ƒ } |  j t t | j ƒ  ƒ ƒ t | ƒ ƒ x^ | j ƒ  D]P } | ƒ  } |  j | | | j ƒ |  j | j | | j j ƒ | j | ƒ qW|  j t | ƒ d ƒ d  S(   Ni    (	   u   make_weak_valued_dictu   check_itersu	   valuerefsu   assertEqualu   lenu   listu   argu   removeu   itervaluerefs(   u   selfu   dictu   objectsu   refsu   objects2u   wru   ob(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_valued_itersl  s*     	( 	c             C   s  t  | j ƒ  ƒ } x! | j ƒ  D] } | j | ƒ q W|  j | d ƒ t  | j ƒ  ƒ } x | D] } | j | ƒ q_ W|  j | d ƒ t  | j ƒ  ƒ } x! | j ƒ  D] } | j | ƒ q¥ W|  j | d ƒ t  | j ƒ  ƒ } x! | j ƒ  D] } | j | ƒ që W|  j | d ƒ d  S(   Nu   items() did not touch all itemsu!   __iter__() did not touch all keysu!   iterkeys() did not touch all keysu%   itervalues() did not touch all values(   u   listu   itemsu   removeu   assertFalseu   keysu   values(   u   selfu   dictu   itemsu   itemu   keysu   ku   valuesu   v(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_iters…  s*        	c             C   s:   t  d ƒ } t j i d | 6ƒ } |  j | | d ƒ d  S(   Ni   il  (   u   Objectu   weakrefu   WeakKeyDictionaryu   assertEqual(   u   selfu   ou   dict(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu#   test_make_weak_keyed_dict_from_dictŸ  s    c             C   sI   t  d ƒ } t j i d | 6ƒ } t j | ƒ } |  j | | d ƒ d  S(   Ni   il  (   u   Objectu   weakrefu   WeakKeyDictionaryu   assertEqual(   u   selfu   ou   dictu   dict2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu.   test_make_weak_keyed_dict_from_weak_keyed_dict¤  s    c             C   sR   t  j ƒ  } t t t t |  j ƒ ƒ ƒ } x | D] } | j | | <q1 W| | f S(   N(   u   weakrefu   WeakKeyDictionaryu   listu   mapu   Objectu   rangeu   COUNTu   arg(   u   selfu   dictu   objectsu   o(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   make_weak_keyed_dictª  s     c             C   sR   t  j ƒ  } t t t t |  j ƒ ƒ ƒ } x | D] } | | | j <q1 W| | f S(   N(   u   weakrefu   WeakValueDictionaryu   listu   mapu   Objectu   rangeu   COUNTu   arg(   u   selfu   dictu   objectsu   o(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   make_weak_valued_dict±  s     c       	      C   sõ   | ƒ  } | | | <| | | <|  j  t | ƒ d ƒ | j ƒ  \ } } |  j  t | ƒ d ƒ | | k o |  j | | k ƒ n |  j | | k ƒ | j ƒ  \ } } |  j  t | ƒ d ƒ | | k o |  j | | k ƒ n |  j | | k ƒ d  S(   Ni   i   i    (   u   assertEqualu   lenu   popitemu   assert_(	   u   selfu   klassu   key1u   value1u   key2u   value2u   weakdictu   ku   v(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_popitem¸  s    	

c             C   s&   |  j  t j d t ƒ  d t ƒ  ƒ d  S(   Nu   key1u   key2(   u   check_popitemu   weakrefu   WeakValueDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_valued_dict_popitemÊ  s    c             C   s&   |  j  t j t ƒ  d t ƒ  d ƒ d  S(   Nu   value 1u   value 2(   u   check_popitemu   weakrefu   WeakKeyDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_dict_popitemÎ  s    c             C   sù   |  j  | | k	 d ƒ | ƒ  } | j | | ƒ } |  j  | | k ƒ |  j  | | k ƒ |  j  | j | ƒ | k ƒ |  j  | | | k ƒ | j | | ƒ } |  j  | | k ƒ |  j  | | k ƒ |  j  | j | ƒ | k ƒ |  j  | | | k ƒ d  S(   Nu9   invalid test -- value parameters must be distinct objects(   u   assert_u
   setdefaultu   get(   u   selfu   klassu   keyu   value1u   value2u   weakdictu   o(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_setdefaultÒ  s    	c             C   s#   |  j  t j d t ƒ  t ƒ  ƒ d  S(   Nu   key(   u   check_setdefaultu   weakrefu   WeakValueDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu    test_weak_valued_dict_setdefaultã  s    c             C   s    |  j  t j t ƒ  d d ƒ d  S(   Nu   value 1u   value 2(   u   check_setdefaultu   weakrefu   WeakKeyDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_dict_setdefaultç  s    c             C   s  | ƒ  } | j  | ƒ |  j t | ƒ t | ƒ ƒ xl | j ƒ  D]^ } |  j | | k d ƒ | j | ƒ } |  j | | | k ƒ |  j | | j | ƒ k ƒ q? Wxg | j ƒ  D]Y } |  j | | k d ƒ | | } |  j | | | k ƒ |  j | | j | ƒ k ƒ q® Wd  S(   Nu(   mysterious new key appeared in weak dictu%   original key disappeared in weak dict(   u   updateu   assertEqualu   lenu   keysu   assert_u   get(   u   selfu   klassu   dictu   weakdictu   ku   v(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   check_updateë  s"    	   
c             C   s8   |  j  t j i t ƒ  d 6t ƒ  d 6t ƒ  t ƒ  6ƒ d  S(   Ni   u   a(   u   check_updateu   weakrefu   WeakValueDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_valued_dict_update   s    c             C   s5   |  j  t j i d t ƒ  6d t ƒ  6d t ƒ  6ƒ d  S(   Ni   i   i   (   u   check_updateu   weakrefu   WeakKeyDictionaryu   C(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_dict_update  s    c             C   sŽ   t  j ƒ  } t d ƒ } t d ƒ } d | | <d | | <|  j t | ƒ d ƒ | | =|  j t | ƒ d ƒ |  j t | j ƒ  ƒ | g ƒ d  S(   Nu   1u   2u	   somethingi   i   (   u   weakrefu   WeakKeyDictionaryu   Objectu   assertEqualu   lenu   listu   keys(   u   selfu   du   o1u   o2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_delitem  s    

c             C   s—   t  j ƒ  } t d ƒ } t d ƒ } | | d <| | d <|  j t | ƒ d ƒ | d =|  j t | ƒ d ƒ |  j t | j ƒ  ƒ d | f g k ƒ d  S(   Nu   1u   2u	   somethingu   something elsei   i   (   u   weakrefu   WeakValueDictionaryu   Objectu   assertEqualu   lenu   assert_u   listu   items(   u   selfu   du   o1u   o2(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_valued_delitem  s    

c             C   s   t  j ƒ  } t d ƒ } |  j t | j | ƒ |  j t | j | ƒ |  j t | j d ƒ |  j t | j d ƒ |  j t | j d d ƒ d  S(   Nu   1i   (	   u   weakrefu   WeakKeyDictionaryu   Objectu   assertRaisesu   KeyErroru   __delitem__u   __getitem__u	   TypeErroru   __setitem__(   u   selfu   du   o(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   test_weak_keyed_bad_delitem  s    c                sß   t  j ƒ  } d ‰  G‡  ‡ f d †  d t ƒ ‰ ‡ f d †  t d ƒ Dƒ ‰ x ˆ D] } | j | | <qQ W~ t | j ƒ  ƒ ‰ ˆ j ƒ  d	 ‰  d } x ˆ D] } | d 7} | | =qš W|  j
 t | ƒ d ƒ |  j
 | d ƒ d  S(
   Nc                s2   |  Ee  Z d  „  Z d „  Z ‡  ‡ f d †  Z d S(   c             S   s   | |  _  d  S(   N(   u   value(   u   selfu   i(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __init__5  s    c             S   s   t  |  j ƒ S(   N(   u   hashu   value(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __hash__7  s    c                s"   ˆ  o ˆ d =n |  j  | j  k S(   Niÿÿÿÿ(   u   value(   u   selfu   other(   u   mutateu   objs(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   __eq__9  s    N(   u   __name__u
   __module__u   __init__u   __hash__u   __eq__(   u
   __locals__(   u   mutateu   objs(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   C4  s   
		u   Cc                s!   g  } |  ] } | ˆ  | ƒ q
 S(    (    (   u   .0u   _[1]u   i(   u   C(    u.   /mit/python/lib/python3.0/test/test_weakref.pyu
   <listcomp>@  s    i   i    i   i   FT(   u   weakrefu   WeakKeyDictionaryu   Falseu   objectu   rangeu   valueu   listu   keysu   reverseu   Trueu   assertEqualu   len(   u   selfu   du   ou   count(    (   u   mutateu   Cu   objsu.   /mit/python/lib/python3.0/test/test_weakref.pyu!   test_weak_keyed_cascading_deletes,  s$     
	 
N(   u   __name__u
   __module__u   COUNTu   test_weak_valuesu   test_weak_keysu   test_weak_keyed_itersu   test_weak_valued_itersu   check_itersu#   test_make_weak_keyed_dict_from_dictu.   test_make_weak_keyed_dict_from_weak_keyed_dictu   make_weak_keyed_dictu   make_weak_valued_dictu   check_popitemu   test_weak_valued_dict_popitemu   test_weak_keyed_dict_popitemu   check_setdefaultu    test_weak_valued_dict_setdefaultu   test_weak_keyed_dict_setdefaultu   check_updateu   test_weak_valued_dict_updateu   test_weak_keyed_dict_updateu   test_weak_keyed_delitemu   test_weak_valued_delitemu   test_weak_keyed_bad_delitemu!   test_weak_keyed_cascading_deletes(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   MappingTestCase  s.   
																					u   MappingTestCase(   u   mapping_testsc             B   sS   |  Ee  Z d  Z i e d ƒ d 6e d ƒ d 6e d ƒ d 6Z e j Z d „  Z d S(	   u?   Check that WeakValueDictionary conforms to the mapping protocoli   u   key1i   u   key2i   u   key3c             C   s   |  j  j ƒ  S(   N(   u!   _WeakValueDictionaryTestCase__refu   copy(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu
   _reference_  s    N(	   u   __name__u
   __module__u   __doc__u   Objectu!   _WeakValueDictionaryTestCase__refu   weakrefu   WeakValueDictionaryu	   type2testu
   _reference(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   WeakValueDictionaryTestCase[  s   
-	u   WeakValueDictionaryTestCasec             B   sS   |  Ee  Z d  Z i d e d ƒ 6d e d ƒ 6d e d ƒ 6Z e j Z d „  Z d S(	   u=   Check that WeakKeyDictionary conforms to the mapping protocoli   u   key1i   u   key2i   u   key3c             C   s   |  j  j ƒ  S(   N(   u   _WeakKeyDictionaryTestCase__refu   copy(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu
   _referencef  s    N(	   u   __name__u
   __module__u   __doc__u   Objectu   _WeakKeyDictionaryTestCase__refu   weakrefu   WeakKeyDictionaryu	   type2testu
   _reference(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   WeakKeyDictionaryTestCaseb  s   
-	u   WeakKeyDictionaryTestCaseuž   Doctest for examples in the library reference: weakref.rst

>>> import weakref
>>> class Dict(dict):
...     pass
...
>>> obj = Dict(red=1, green=2, blue=3)   # this object is weak referencable
>>> r = weakref.ref(obj)
>>> print(r() is obj)
True

>>> import weakref
>>> class Object:
...     pass
...
>>> o = Object()
>>> r = weakref.ref(o)
>>> o2 = r()
>>> o is o2
True
>>> del o, o2
>>> print(r())
None

>>> import weakref
>>> class ExtendedRef(weakref.ref):
...     def __init__(self, ob, callback=None, **annotations):
...         super().__init__(ob, callback)
...         self.__counter = 0
...         for k, v in annotations.items():
...             setattr(self, k, v)
...     def __call__(self):
...         '''Return a pair containing the referent and the number of
...         times the reference has been called.
...         '''
...         ob = super().__call__()
...         if ob is not None:
...             self.__counter += 1
...             ob = (ob, self.__counter)
...         return ob
...
>>> class A:   # not in docs from here, just testing the ExtendedRef
...     pass
...
>>> a = A()
>>> r = ExtendedRef(a, foo=1, bar="baz")
>>> r.foo
1
>>> r.bar
'baz'
>>> r()[1]
1
>>> r()[1]
2
>>> r()[0] is a
True


>>> import weakref
>>> _id2obj_dict = weakref.WeakValueDictionary()
>>> def remember(obj):
...     oid = id(obj)
...     _id2obj_dict[oid] = obj
...     return oid
...
>>> def id2obj(oid):
...     return _id2obj_dict[oid]
...
>>> a = A()             # from here, just testing
>>> a_id = remember(a)
>>> id2obj(a_id) is a
True
>>> del a
>>> try:
...     id2obj(a_id)
... except KeyError:
...     print('OK')
... else:
...     print('WeakValueDictionary error')
OK

u
   libreftestc               C   s1   t  j t t t t t ƒ t  j t j	 t
 ƒ d  S(   N(   u   supportu   run_unittestu   ReferencesTestCaseu   MappingTestCaseu   WeakValueDictionaryTestCaseu   WeakKeyDictionaryTestCaseu   SubclassableWeakrefTestCaseu   run_doctestu   sysu   modulesu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu	   test_main¾  s    u   __main__(   u   gcu   sysu   unittestu   collectionsu   weakrefu   operatoru   testu   supportu   Noneu   ref_from_delu   Cu   Callableu   create_functionu   create_bound_methodu   TestCaseu   TestBaseu   ReferencesTestCaseu   SubclassableWeakrefTestCaseu   Objectu   MappingTestCaseu   mapping_testsu   BasicTestMappingProtocolu   WeakValueDictionaryTestCaseu   WeakKeyDictionaryTestCaseu
   libreftestu   __test__u	   test_mainu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_weakref.pyu   <module>   s6   			ÿ ÿ xgÿ FX	