cpython/Lib/test/test_string.py

38 lines
947 B
Python
Raw Normal View History

from test_support import verify, 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