mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			939 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from test_support import verbose, TestSkipped
 | |
| import string_tests
 | |
| import string, sys
 | |
| 
 | |
| # XXX: kludge... short circuit if strings don't have methods
 | |
| try:
 | |
|     ''.join
 | |
| except AttributeError:
 | |
|     raise TestSkipped
 | |
| 
 | |
| def test(name, input, output, *args):
 | |
|     if verbose:
 | |
|         print 'string.%s%s =? %s... ' % (name, (input,) + args, output),
 | |
|     try:
 | |
|         # Prefer string methods over string module functions
 | |
|         try:
 | |
|             f = getattr(input, name)
 | |
|             value = apply(f, args)
 | |
|         except AttributeError:
 | |
|             f = getattr(string, name)
 | |
|             value = apply(f, (input,) + args)
 | |
|     except:
 | |
|         value = sys.exc_type
 | |
|     if value != output:
 | |
|         if verbose:
 | |
|             print 'no'
 | |
|         print f, `input`, `output`, `value`
 | |
|     else:
 | |
|         if verbose:
 | |
|             print 'yes'
 | |
| 
 | |
| string_tests.run_module_tests(test)
 | |
| string_tests.run_method_tests(test)
 | |
| 
 | |
| string.whitespace
 | |
| string.lowercase
 | |
| string.uppercase
 | 
