mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +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
 |