2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								""" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Test  cases  for  the  repr  module 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Nick  Mathewson 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								""" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  sys  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  os  
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  unittest  
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2002-07-23 19:04:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  test . test_support  import  run_unittest  
						 
					
						
							
								
									
										
										
										
											2001-08-09 21:40:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								from  repr  import  repr  as  r  # Don't shadow builtin repr  
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  nestedTuple ( nesting ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    t  =  ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  i  in  range ( nesting ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        t  =  ( t , ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  t 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  ReprTests ( unittest . TestCase ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_string ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( " abc " ) ,  " ' abc ' " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( " abcdefghijklmnop " ) , " ' abcdefghijklmnop ' " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        s  =  " a " * 30 + " b " * 30 
							 
						 
					
						
							
								
									
										
										
										
											2004-02-12 17:35:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        expected  =  repr ( s ) [ : 13 ]  +  " ... "  +  repr ( s ) [ - 14 : ] 
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq ( r ( s ) ,  expected ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-09 21:40:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq ( r ( " \" ' " ) ,  repr ( " \" ' " ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        s  =  " \" " * 30 + " ' " * 100 
							 
						 
					
						
							
								
									
										
										
										
											2004-02-12 17:35:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        expected  =  repr ( s ) [ : 13 ]  +  " ... "  +  repr ( s ) [ - 14 : ] 
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq ( r ( s ) ,  expected ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_container ( self ) : 
							 
						 
					
						
							
								
									
										
										
										
											2003-02-05 18:29:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        from  array  import  array 
							 
						 
					
						
							
								
									
										
										
										
											2004-05-21 23:01:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        from  collections  import  deque 
							 
						 
					
						
							
								
									
										
										
										
											2003-02-05 18:29:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Tuples give up after 6 elements 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( ( ) ) ,  " () " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( ( 1 , ) ) ,  " (1,) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( ( 1 ,  2 ,  3 ) ) ,  " (1, 2, 3) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( ( 1 ,  2 ,  3 ,  4 ,  5 ,  6 ) ) ,  " (1, 2, 3, 4, 5, 6) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( ( 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ) ) ,  " (1, 2, 3, 4, 5, 6, ...) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Lists give up after 6 as well 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ ] ) ,  " [] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ 1 ] ) ,  " [1] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ 1 ,  2 ,  3 ] ) ,  " [1, 2, 3] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ] ) ,  " [1, 2, 3, 4, 5, 6] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ] ) ,  " [1, 2, 3, 4, 5, 6, ...] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-05-21 10:00:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Sets give up after 6 as well 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( set ( [ ] ) ) ,  " set([]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( set ( [ 1 ] ) ) ,  " set([1]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( set ( [ 1 ,  2 ,  3 ] ) ) ,  " set([1, 2, 3]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( set ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ] ) ) ,  " set([1, 2, 3, 4, 5, 6]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( set ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ] ) ) ,  " set([1, 2, 3, 4, 5, 6, ...]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Frozensets give up after 6 as well 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( frozenset ( [ ] ) ) ,  " frozenset([]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( frozenset ( [ 1 ] ) ) ,  " frozenset([1]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( frozenset ( [ 1 ,  2 ,  3 ] ) ) ,  " frozenset([1, 2, 3]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( frozenset ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ] ) ) ,  " frozenset([1, 2, 3, 4, 5, 6]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( frozenset ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ] ) ) ,  " frozenset([1, 2, 3, 4, 5, 6, ...]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-05-21 23:01:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # collections.deque after 6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( deque ( [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ] ) ) ,  " deque([1, 2, 3, 4, 5, 6, ...]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        # Dictionaries give up after 4. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( { } ) ,  " {} " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        d  =  { ' alice ' :  1 ,  ' bob ' :  2 ,  ' charles ' :  3 ,  ' dave ' :  4 } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( d ) ,  " { ' alice ' : 1,  ' bob ' : 2,  ' charles ' : 3,  ' dave ' : 4} " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        d [ ' arthur ' ]  =  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( d ) ,  " { ' alice ' : 1,  ' arthur ' : 1,  ' bob ' : 2,  ' charles ' : 3, ...} " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-02-05 18:29:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # array.array after 5. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ) ) ,  " array( ' i ' , []) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ] ) ) ,  " array( ' i ' , [1]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ,  2 ] ) ) ,  " array( ' i ' , [1, 2]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ,  2 ,  3 ] ) ) ,  " array( ' i ' , [1, 2, 3]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ,  2 ,  3 ,  4 ] ) ) ,  " array( ' i ' , [1, 2, 3, 4]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ,  2 ,  3 ,  4 ,  5 ] ) ) ,  " array( ' i ' , [1, 2, 3, 4, 5]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( array ( ' i ' ,  [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ] ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                   " array( ' i ' , [1, 2, 3, 4, 5, ...]) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    def  test_numbers ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( 123 ) ,  repr ( 123 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( 123 L ) ,  repr ( 123 L ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( 1.0 / 3 ) ,  repr ( 1.0 / 3 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        n  =  10 L * * 100 
							 
						 
					
						
							
								
									
										
										
										
											2004-02-12 17:35:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        expected  =  repr ( n ) [ : 18 ]  +  " ... "  +  repr ( n ) [ - 19 : ] 
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq ( r ( n ) ,  expected ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_instance ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        i1  =  ClassWithRepr ( " a " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( i1 ) ,  repr ( i1 ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-09 21:40:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        i2  =  ClassWithRepr ( " x " * 1000 ) 
							 
						 
					
						
							
								
									
										
										
										
											2004-02-12 17:35:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        expected  =  repr ( i2 ) [ : 13 ]  +  " ... "  +  repr ( i2 ) [ - 14 : ] 
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        eq ( r ( i2 ) ,  expected ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        i3  =  ClassWithFailingRepr ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( i3 ) ,  ( " <ClassWithFailingRepr instance at  %x > " % id ( i3 ) ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-09-05 02:26:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s  =  r ( ClassWithFailingRepr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( s . startswith ( " <class  " ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( s . endswith ( " > " ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( s . find ( " ... " )  ==  8 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  test_file ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fp  =  open ( unittest . __file__ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( fp ) . startswith ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " <open file  ' %s ' , mode  ' r '  at 0x "  %  unittest . __file__ ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fp . close ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( fp ) . startswith ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " <closed file  ' %s ' , mode  ' r '  at 0x "  %  unittest . __file__ ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_lambda ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( lambda  x :  x ) . startswith ( 
							 
						 
					
						
							
								
									
										
										
										
											2005-10-21 18:11:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            " <function <lambda " ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # XXX anonymous functions?  see func_repr 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_builtin_function ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Functions 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( hash ) ,  ' <built-in function hash> ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Methods 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( ' ' . split ) . startswith ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ' <built-in method split of str object at 0x ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_xrange ( self ) : 
							 
						 
					
						
							
								
									
										
										
										
											2002-04-16 01:27:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        import  warnings 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( xrange ( 1 ) ) ,  ' xrange(1) ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( xrange ( 1 ,  2 ) ) ,  ' xrange(1, 2) ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( xrange ( 1 ,  2 ,  3 ) ) ,  ' xrange(1, 4, 3) ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    def  test_nesting ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # everything is meant to give up after 6 levels. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ [ [ [ [ [ [ ] ] ] ] ] ] ] ) ,  " [[[[[[[]]]]]]] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ [ [ [ [ [ [ [ ] ] ] ] ] ] ] ] ) ,  " [[[[[[[...]]]]]]] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( nestedTuple ( 6 ) ) ,  " (((((((),),),),),),) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( nestedTuple ( 7 ) ) ,  " (((((((...),),),),),),) " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( {  nestedTuple ( 5 )  :  nestedTuple ( 5 )  } ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           " { ((((((),),),),),): ((((((),),),),),)} " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( {  nestedTuple ( 6 )  :  nestedTuple ( 6 )  } ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           " { ((((((...),),),),),): ((((((...),),),),),)} " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ [ [ [ [ [ { } ] ] ] ] ] ] ) ,  " [[[[[[ {} ]]]]]] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( r ( [ [ [ [ [ [ [ { } ] ] ] ] ] ] ] ) ,  " [[[[[[[...]]]]]]] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    def  test_buffer ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX doesn't test buffers with no b_base or read-write buffers (see 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # bufferobject.c).  The test is fairly incomplete too.  Sigh. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        x  =  buffer ( ' foo ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( x ) . startswith ( ' <read-only buffer for 0x ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_cell ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX Hmm? How to get at a cell object? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_descriptors ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # method descriptors 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-29 22:25:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        eq ( repr ( dict . items ) ,  " <method  ' items '  of  ' dict '  objects> " ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # XXX member descriptors 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX attribute descriptors 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX slot descriptors 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # static and class methods 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        class  C : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            def  foo ( cls ) :  pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        x  =  staticmethod ( C . foo ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( x ) . startswith ( ' <staticmethod object at 0x ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        x  =  classmethod ( C . foo ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( x ) . startswith ( ' <classmethod object at 0x ' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  touch ( path ,  text = ' ' ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fp  =  open ( path ,  ' w ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fp . write ( text ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fp . close ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  zap ( actions ,  dirname ,  names ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  name  in  names : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        actions . append ( os . path . join ( dirname ,  name ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  LongReprTest ( unittest . TestCase ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  setUp ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        longname  =  ' areallylongpackageandmodulenametotestreprtruncation ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . pkgname  =  os . path . join ( longname ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . subpkgname  =  os . path . join ( longname ,  longname ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Make the package and subpackage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        os . mkdir ( self . pkgname ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . pkgname ,  ' __init__ ' + os . extsep + ' py ' ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        os . mkdir ( self . subpkgname ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  ' __init__ ' + os . extsep + ' py ' ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Remember where we are 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . here  =  os . getcwd ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        sys . path . insert ( 0 ,  self . here ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  tearDown ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        actions  =  [ ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        os . path . walk ( self . pkgname ,  zap ,  actions ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        actions . append ( self . pkgname ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        actions . sort ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        actions . reverse ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  p  in  actions : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  os . path . isdir ( p ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                os . rmdir ( p ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                os . remove ( p ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        del  sys . path [ 0 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_module ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  self . pkgname  +  os . extsep  +  ' py ' ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        from  areallylongpackageandmodulenametotestreprtruncation . areallylongpackageandmodulenametotestreprtruncation  import  areallylongpackageandmodulenametotestreprtruncation 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( areallylongpackageandmodulenametotestreprtruncation ) , 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           " <module  ' %s '  from  ' %s ' > "  %  ( areallylongpackageandmodulenametotestreprtruncation . __name__ ,  areallylongpackageandmodulenametotestreprtruncation . __file__ ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-12-29 00:25:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        eq ( repr ( sys ) ,  " <module  ' sys '  (built-in)> " ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_type ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  ' foo ' + os . extsep + ' py ' ) ,  ''' \
 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  foo ( object ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								''' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        from  areallylongpackageandmodulenametotestreprtruncation . areallylongpackageandmodulenametotestreprtruncation  import  foo 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( foo . foo ) , 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								               " <class  ' %s .foo ' > "  %  foo . __name__ ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_object ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX Test the repr of a type with a really long tp_name but with no 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # tp_repr.  WIBNI we had ::Inline? :) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_class ( self ) : 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  ' bar ' + os . extsep + ' py ' ) ,  ''' \
 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  bar :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								''' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        from  areallylongpackageandmodulenametotestreprtruncation . areallylongpackageandmodulenametotestreprtruncation  import  bar 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Module name may be prefixed with "test.", depending on how run. 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        self . failUnless ( repr ( bar . bar ) . startswith ( 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            " <class  %s .bar at 0x "  %  bar . __name__ ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_instance ( self ) : 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  ' baz ' + os . extsep + ' py ' ) ,  ''' \
 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  baz :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								''' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        from  areallylongpackageandmodulenametotestreprtruncation . areallylongpackageandmodulenametotestreprtruncation  import  baz 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ibaz  =  baz . baz ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( ibaz ) . startswith ( 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            " < %s .baz instance at 0x "  %  baz . __name__ ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_method ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq  =  self . assertEquals 
							 
						 
					
						
							
								
									
										
										
										
											2001-10-24 20:42:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        touch ( os . path . join ( self . subpkgname ,  ' qux ' + os . extsep + ' py ' ) ,  ''' \
 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  amethod ( self ) :  pass 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								''' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        from  areallylongpackageandmodulenametotestreprtruncation . areallylongpackageandmodulenametotestreprtruncation  import  qux 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Unbound methods first 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eq ( repr ( qux . aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa . amethod ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ' <unbound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod> ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Bound method next 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        iqux  =  qux . aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . failUnless ( repr ( iqux . amethod ) . startswith ( 
							 
						 
					
						
							
								
									
										
										
										
											2003-01-16 04:56:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ' <bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of < %s .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa instance at 0x '  \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            %  ( qux . __name__ , )  ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2001-08-24 18:37:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  test_builtin_function ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # XXX test built-in functions and methods with really long names 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        pass 
							 
						 
					
						
							
								
									
										
										
										
											2001-07-19 22:27:56 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  ClassWithRepr :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  __init__ ( self ,  s ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        self . s  =  s 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  __repr__ ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  " ClassWithLongRepr( %r ) "  %  self . s 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  ClassWithFailingRepr :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    def  __repr__ ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        raise  Exception ( " This should be caught by Repr.repr_instance " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-09-20 21:33:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								def  test_main ( ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    run_unittest ( ReprTests ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  os . name  !=  ' mac ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        run_unittest ( LongReprTest ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  __name__  ==  " __main__ " :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    test_main ( )