diff options
Diffstat (limited to 'Lib/test/test_string.py')
-rw-r--r-- | Lib/test/test_string.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py index 4c5a60a..8f0ea47 100644 --- a/Lib/test/test_string.py +++ b/Lib/test/test_string.py @@ -22,6 +22,25 @@ def test(name, input, output, *args): except: value = sys.exc_type f = name + if value == output: + # if the original is returned make sure that + # this doesn't happen with subclasses + if value is input: + class ssub(str): + def __repr__(self): + return 'ssub(%r)' % str.__repr__(self) + input = ssub(input) + try: + f = getattr(input, name) + value = apply(f, args) + except AttributeError: + f = getattr(string, name) + value = apply(f, (input,) + args) + if value is input: + if verbose: + print 'no' + print '*',f, `input`, `output`, `value` + return if value != output: if verbose: print 'no' |