diff --git a/Lib/UserString.py b/Lib/UserString.py index 292e85242d8..ed90b8d7927 100755 --- a/Lib/UserString.py +++ b/Lib/UserString.py @@ -5,14 +5,14 @@ Note: string objects have grown methods in Python 1.6 This module requires Python 1.6 or later. """ -from types import StringType, UnicodeType +from types import StringTypes import sys __all__ = ["UserString","MutableString"] class UserString: def __init__(self, seq): - if isinstance(seq, StringType) or isinstance(seq, UnicodeType): + if isinstance(seq, StringTypes): self.data = seq elif isinstance(seq, UserString): self.data = seq.data[:] @@ -43,19 +43,19 @@ class UserString: def __add__(self, other): if isinstance(other, UserString): return self.__class__(self.data + other.data) - elif isinstance(other, StringType) or isinstance(other, UnicodeType): + elif isinstance(other, StringTypes): return self.__class__(self.data + other) else: return self.__class__(self.data + str(other)) def __radd__(self, other): - if isinstance(other, StringType) or isinstance(other, UnicodeType): + if isinstance(other, StringTypes): return self.__class__(other + self.data) else: return self.__class__(str(other) + self.data) def __iadd__(self, other): if isinstance(other, UserString): self.data += other.data - elif isinstance(other, StringType) or isinstance(other, UnicodeType): + elif isinstance(other, StringTypes): self.data += other else: self.data += str(other) @@ -159,7 +159,7 @@ class MutableString(UserString): start = max(start, 0); end = max(end, 0) if isinstance(sub, UserString): self.data = self.data[:start]+sub.data+self.data[end:] - elif isinstance(sub, StringType) or isinstance(sub, UnicodeType): + elif isinstance(sub, StringTypes): self.data = self.data[:start]+sub+self.data[end:] else: self.data = self.data[:start]+str(sub)+self.data[end:] diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index 4185b9b1514..334a6b971bf 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -176,10 +176,15 @@ def run_method_tests(test): test('strip', 'hello', 'hello', 'xyz') # strip/lstrip/rstrip with unicode arg - test('strip', 'xyzzyhelloxyzzy', u'hello', u'xyz') - test('lstrip', 'xyzzyhelloxyzzy', u'helloxyzzy', u'xyz') - test('rstrip', 'xyzzyhelloxyzzy', u'xyzzyhello', u'xyz') - test('strip', 'hello', u'hello', u'xyz') + if have_unicode: + test('strip', 'xyzzyhelloxyzzy', + unicode('hello', 'ascii'), unicode('xyz', 'ascii')) + test('lstrip', 'xyzzyhelloxyzzy', + unicode('helloxyzzy', 'ascii'), unicode('xyz', 'ascii')) + test('rstrip', 'xyzzyhelloxyzzy', + unicode('xyzzyhello', 'ascii'), unicode('xyz', 'ascii')) + test('strip', 'hello', + unicode('hello', 'ascii'), unicode('xyz', 'ascii')) test('swapcase', 'HeLLo cOmpUteRs', 'hEllO CoMPuTErS') test('translate', 'xyzabcdef', 'xyzxyz', transtable, 'def')