diff options
author | Raymond Hettinger <python@rcn.com> | 2002-08-09 01:37:06 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2002-08-09 01:37:06 (GMT) |
commit | c35491ee3a0f3999791de83e65ef94994058ac5e (patch) | |
tree | eb74cd0ee121ab16cae10271641729da8b28d629 /Lib/UserString.py | |
parent | 48923c5533865173894bb4b1d8f9851430f49f8b (diff) | |
download | cpython-c35491ee3a0f3999791de83e65ef94994058ac5e.zip cpython-c35491ee3a0f3999791de83e65ef94994058ac5e.tar.gz cpython-c35491ee3a0f3999791de83e65ef94994058ac5e.tar.bz2 |
Moved inplace add and multiply methods from UserString to MutableString.
Closes SF Bug #592573 where inplace add mutated a UserString.
Added unittests to verify the bug is cleared.
Diffstat (limited to 'Lib/UserString.py')
-rwxr-xr-x | Lib/UserString.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Lib/UserString.py b/Lib/UserString.py index 8209820..8bd2c42 100755 --- a/Lib/UserString.py +++ b/Lib/UserString.py @@ -52,20 +52,9 @@ class UserString: 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, StringTypes): - self.data += other - else: - self.data += str(other) - return self def __mul__(self, n): return self.__class__(self.data*n) __rmul__ = __mul__ - def __imul__(self, n): - self.data *= n - return self # the following methods are defined in alphabetical order: def capitalize(self): return self.__class__(self.data.capitalize()) @@ -168,6 +157,17 @@ class MutableString(UserString): self.data = self.data[:start] + self.data[end:] def immutable(self): return UserString(self.data) + def __iadd__(self, other): + if isinstance(other, UserString): + self.data += other.data + elif isinstance(other, StringTypes): + self.data += other + else: + self.data += str(other) + return self + def __imul__(self, n): + self.data *= n + return self if __name__ == "__main__": # execute the regression test to stdout, if called as a script: |