mò
­fIc           @   sÖ   d  Z  d k Z d k Z d k Z d k l Z d k l Z d „  Z d e i	 f d „  ƒ  YZ
 d d „ Z d	 „  Z d
 e i	 f d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d „  Z e d j o e ƒ  n d S(   s3   
  Test cases for the repr module
  Nick Mathewson
N(   s   run_unittest(   s   reprc         C   s*   f  } x t |  ƒ D] } | f } q W| S(   N(   t   tt   ranget   nestingt   i(   R   R   R    (    (    t+   /mit/python/lib/python2.4/test/test_repr.pyt   nestedTuple   s
     t	   ReprTestsc           B   st   t  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 RS(   Nc         C   sÚ   |  i } | t d ƒ d ƒ | t d ƒ d ƒ d d d d } t | ƒ d  d	 t | ƒ d
 } | t | ƒ | ƒ | t d ƒ t d ƒ ƒ d d d d } t | ƒ d  d	 t | ƒ d
 } | t | ƒ | ƒ d  S(   Nt   abcs   'abc't   abcdefghijklmnops   'abcdefghijklmnop't   ai   t   bi   s   ...iòÿÿÿs   "'s   "t   'id   (   t   selft   assertEqualst   eqt   rt   st   reprt   expected(   R   R   R   R   (    (    R   t   test_string   s    	""c      
   C   s  d k  l  } d k l } |  i } | t f  ƒ d ƒ | t d/ ƒ d ƒ | t d0 ƒ d ƒ | t d1 ƒ d ƒ | t d2 ƒ d ƒ | t g  ƒ d ƒ | t d g ƒ d ƒ | t d d d g ƒ d ƒ | t d d d d	 d
 d g ƒ d ƒ | t d d d d	 d
 d d g ƒ d ƒ | t t g  ƒ ƒ d ƒ | t t d g ƒ ƒ d ƒ | t t d d d g ƒ ƒ d ƒ | t t d d d d	 d
 d g ƒ ƒ d ƒ | t t d d d d	 d
 d d g ƒ ƒ d ƒ | t t g  ƒ ƒ d ƒ | t t d g ƒ ƒ d ƒ | t t d d d g ƒ ƒ d ƒ | t t d d d d	 d
 d g ƒ ƒ d ƒ | t t d d d d	 d
 d d g ƒ ƒ d ƒ | t | d d d d	 d
 d d g ƒ ƒ d ƒ | t h  ƒ d ƒ h  d  d <d! d <d" d <d# d	 <} | t | ƒ d$ ƒ d | d% <| t | ƒ d& ƒ | t | d' ƒ ƒ d( ƒ | t | d' d g ƒ ƒ d) ƒ | t | d' d d g ƒ ƒ d* ƒ | t | d' d d d g ƒ ƒ d+ ƒ | t | d' d d d d	 g ƒ ƒ d, ƒ | t | d' d d d d	 d
 g ƒ ƒ d- ƒ | t | d' d d d d	 d
 d g ƒ ƒ d. ƒ d  S(3   N(   s   array(   s   deques   ()i   s   (1,)i   i   s	   (1, 2, 3)i   i   i   s   (1, 2, 3, 4, 5, 6)i   s   (1, 2, 3, 4, 5, 6, ...)s   []s   [1]s	   [1, 2, 3]s   [1, 2, 3, 4, 5, 6]s   [1, 2, 3, 4, 5, 6, ...]s   set([])s   set([1])s   set([1, 2, 3])s   set([1, 2, 3, 4, 5, 6])s   set([1, 2, 3, 4, 5, 6, ...])s   frozenset([])s   frozenset([1])s   frozenset([1, 2, 3])s   frozenset([1, 2, 3, 4, 5, 6])s"   frozenset([1, 2, 3, 4, 5, 6, ...])s   deque([1, 2, 3, 4, 5, 6, ...])s   {}t   alicet   bobt   charlest   daves/   {'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}t   arthurs6   {'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}R   s   array('i', [])s   array('i', [1])s   array('i', [1, 2])s   array('i', [1, 2, 3])s   array('i', [1, 2, 3, 4])s   array('i', [1, 2, 3, 4, 5])s    array('i', [1, 2, 3, 4, 5, ...])(   i   (   i   i   i   (   i   i   i   i   i   i   (   i   i   i   i   i   i   i   (
   t   arrayt   collectionst   dequeR   R   R   R   t   sett	   frozensett   d(   R   R   R   R   R   (    (    R   t   test_container$   sJ    	%("+."+..*
"%(+'c         C   sŸ   |  i } | t d ƒ t d ƒ ƒ | t d ƒ t d ƒ ƒ | t d d ƒ t d d ƒ ƒ d d } t | ƒ d  d t | ƒ d	 } | t | ƒ | ƒ d  S(
   Ni{   l   { f1.0i   l   
 id   i   s   ...iíÿÿÿ(   R   R   R   R   R   t   nR   (   R   R    R   R   (    (    R   t   test_numbersY   s    	!
"c         C   sñ   |  i } t d ƒ } | t | ƒ t | ƒ ƒ t d d ƒ } t | ƒ d  d t | ƒ d } | t | ƒ | ƒ t	 ƒ  } | t | ƒ d t | ƒ ƒ t t	 ƒ } |  i | i d ƒ ƒ |  i | i d	 ƒ ƒ |  i | i d ƒ d
 j ƒ d  S(   NR	   t   xiè  i   s   ...iòÿÿÿs%   <ClassWithFailingRepr instance at %x>s   <class t   >i   (   R   R   R   t   ClassWithReprt   i1R   R   t   i2R   t   ClassWithFailingReprt   i3t   idR   t
   failUnlesst
   startswitht   endswitht   find(   R   R%   R&   R   R   R   R(   (    (    R   t   test_instancec   s    	"	c         C   sc   t  t i ƒ } |  i t | ƒ i d t i ƒ ƒ | i ƒ  |  i t | ƒ i d t i ƒ ƒ d  S(   Ns   <open file '%s', mode 'r' at 0xs!   <closed file '%s', mode 'r' at 0x(	   t   opent   unittestt   __file__t   fpR   R*   R   R+   t   close(   R   R2   (    (    R   t	   test_filet   s    #
c         C   s#   |  i t d „  ƒ i d ƒ ƒ d  S(   Nc         C   s   |  S(   N(   R"   (   R"   (    (    R   t   <lambda>}   s    s   <function <lambda(   R   R*   R   R+   (   R   (    (    R   t   test_lambda|   s    c         C   s?   |  i } | t t ƒ d ƒ |  i t d i ƒ i d ƒ ƒ d  S(   Ns   <built-in function hash>t    s*   <built-in method split of str object at 0x(   R   R   R   R   t   hashR*   t   splitR+   (   R   R   (    (    R   t   test_builtin_function   s    	c         C   sj   d  k  } |  i } | t t d ƒ ƒ d ƒ | t t d d ƒ ƒ d ƒ | t t d d d ƒ ƒ d ƒ d  S(   Ni   s	   xrange(1)i   s   xrange(1, 2)i   s   xrange(1, 4, 3)(   t   warningsR   R   R   R   t   xrange(   R   R   R;   (    (    R   t   test_xrange‰   s
    		c         C   s)  |  i } | t g  g g g g g g ƒ d ƒ | t g  g g g g g g g ƒ d ƒ | t t d ƒ ƒ d ƒ | t t d ƒ ƒ d ƒ | t h  t d ƒ t d ƒ <ƒ d ƒ | t h  t d ƒ t d ƒ <ƒ d	 ƒ | t h  g g g g g g ƒ d
 ƒ | t h  g g g g g g g ƒ d ƒ d  S(   Ns   [[[[[[[]]]]]]]s   [[[[[[[...]]]]]]]i   s   (((((((),),),),),),)i   s   (((((((...),),),),),),)i   s&   {((((((),),),),),): ((((((),),),),),)}s,   {((((((...),),),),),): ((((((...),),),),),)}s   [[[[[[{}]]]]]](   R   R   R   R   R   (   R   R   (    (    R   t   test_nesting   s    	%(!!%c         C   s,   t  d ƒ } |  i t | ƒ i d ƒ ƒ d  S(   Nt   foos   <read-only buffer for 0x(   t   bufferR"   R   R*   R   R+   (   R   R"   (    (    R   t   test_buffer¡   s    c         C   s   d  S(   N(    (   R   (    (    R   t	   test_cell§   s    c         C   sŒ   |  i } | t t i ƒ d ƒ d f  d „  ƒ  Y} t | i ƒ } |  i
 t | ƒ i d ƒ ƒ t | i ƒ } |  i
 t | ƒ i d ƒ ƒ d  S(   Ns"   <method 'items' of 'dict' objects>t   Cc           B   s   t  Z d „  Z RS(   Nc         C   s   d  S(   N(    (   t   cls(    (    R   R?   ´   s    (   t   __name__t
   __module__R?   (    (    (    R   RC   ³   s   s   <staticmethod object at 0xs   <classmethod object at 0x(   R   R   R   R   t   dictt   itemsRC   t   staticmethodR?   R"   R*   R+   t   classmethod(   R   RC   R"   R   (    (    R   t   test_descriptors«   s    	(   RE   RF   R   R   R!   R.   R4   R6   R:   R=   R>   RA   RB   RK   (    (    (    R   R      s   		5	
								R7   c         C   s*   t  |  d ƒ } | i | ƒ | i ƒ  d  S(   Nt   w(   R/   t   pathR2   t   writet   textR3   (   RM   RO   R2   (    (    R   t   touchº   s    c         C   s1   x* | D]" } |  i t i i | | ƒ ƒ q Wd  S(   N(   t   namest   namet   actionst   appendt   osRM   t   joint   dirname(   RS   RW   RQ   RR   (    (    R   t   zap¿   s     t   LongReprTestc           B   sY   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(
   Nc         C   sÊ   d } t i i | ƒ |  _ t i i | | ƒ |  _ t i |  i ƒ t t i i |  i d t i	 d ƒ ƒ t i |  i ƒ t t i i |  i d t i	 d ƒ ƒ t i
 ƒ  |  _ t i i d |  i ƒ d  S(   Nt3   areallylongpackageandmodulenametotestreprtruncationt   __init__t   pyi    (   t   longnameRU   RM   RV   R   t   pkgnamet
   subpkgnamet   mkdirRP   t   extsept   getcwdt   heret   syst   insert(   R   R]   (    (    R   t   setUpÄ   s    ''c         C   s“   g  } t i i |  i t | ƒ | i |  i ƒ | i ƒ  | i	 ƒ  x? | D]7 } t i i | ƒ o t i | ƒ qJ t i | ƒ qJ Wt i d =d  S(   Ni    (   RS   RU   RM   t   walkR   R^   RX   RT   t   sortt   reverset   pt   isdirt   rmdirt   removeRd   (   R   RS   Rj   (    (    R   t   tearDownÑ   s    

 c         C   sz   |  i } t t i i |  i |  i t i	 d ƒ ƒ d k
 l } | t | ƒ d | i | i f ƒ | t t ƒ d ƒ d  S(   NR\   (   s3   areallylongpackageandmodulenametotestreprtruncations   <module '%s' from '%s'>s   <module 'sys' (built-in)>(   R   R   R   RP   RU   RM   RV   R_   R^   Ra   tg   areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncationRZ   R   RE   R1   Rd   (   R   R   RZ   (    (    R   t   test_moduleÞ   s    	*c         C   sa   |  i } t t i i |  i d t i d ƒ d ƒ d k	 l
 } | t | i
 ƒ d | i ƒ d  S(   NR?   R\   s   class foo(object):
    pass
(   s   foos   <class '%s.foo'>(   R   R   R   RP   RU   RM   RV   R_   Ra   Ro   R?   R   RE   (   R   R   R?   (    (    R   t	   test_typeæ   s    	#c         C   s   d  S(   N(    (   R   (    (    R   t   test_objectð   s    c         C   sa   t  t i i |  i d t i d ƒ d ƒ d k l } |  i	 t
 | i ƒ i d | i ƒ ƒ d  S(   Nt   barR\   s   class bar:
    pass
(   s   bars   <class %s.bar at 0x(   RP   RU   RM   RV   R   R_   Ra   Ro   Rs   R*   R   R+   RE   (   R   Rs   (    (    R   t
   test_classõ   s    #c         C   sj   t  t i i |  i d t i d ƒ d ƒ d k l } | i ƒ  } |  i
 t | ƒ i d | i ƒ ƒ d  S(   Nt   bazR\   s   class baz:
    pass
(   s   bazs   <%s.baz instance at 0x(   RP   RU   RM   RV   R   R_   Ra   Ro   Ru   t   ibazR*   R   R+   RE   (   R   Rv   Ru   (    (    R   R.   ÿ   s
    #c         C   s’   |  i } t t i i |  i d t i d ƒ d ƒ d k	 l
 } | t | i i ƒ d ƒ | i ƒ  } |  i t | i ƒ i d | i f ƒ ƒ d  S(   Nt   quxR\   sì   class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
    def amethod(self): pass
(   s   quxsá   <unbound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod>s½  <bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <%s.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa instance at 0x(   R   R   R   RP   RU   RM   RV   R_   Ra   Ro   Rw   R   tÈ   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaat   amethodt   iquxR*   R+   RE   (   R   R   Rw   Rz   (    (    R   t   test_method	  s    	#c         C   s   d  S(   N(    (   R   (    (    R   R:     s    (   RE   RF   Rf   Rn   Rp   Rq   Rr   Rt   R.   R{   R:   (    (    (    R   RY   Ã   s   				
		
	
	R$   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   | |  _  d  S(   N(   R   R   (   R   R   (    (    R   R[     s    c         C   s   d |  i S(   Ns   ClassWithLongRepr(%r)(   R   R   (   R   (    (    R   t   __repr__   s    (   RE   RF   R[   R|   (    (    (    R   R$     s   	R'   c           B   s   t  Z d „  Z RS(   Nc         C   s   t  d ƒ ‚ d  S(   Ns+   This should be caught by Repr.repr_instance(   t	   Exception(   R   (    (    R   R|   %  s    (   RE   RF   R|   (    (    (    R   R'   $  s   c           C   s,   t  t ƒ t i d j o t  t ƒ n d  S(   Nt   mac(   t   run_unittestR   RU   RR   RY   (    (    (    R   t	   test_main)  s    
t   __main__(   t   __doc__Rd   RU   R0   t   test.test_supportR   R   R   R   t   TestCaseR   RP   RX   RY   R$   R'   R€   RE   (   R   R   R0   RY   Rd   RP   R   R$   R€   R   R'   RU   RX   (    (    R   t   ?   s   				¦	Z	