mirror of https://github.com/python/cpython
UserString.MutableString has been removed in Python 3.0.
Works on issue #2877. Thanks Quentin Gallet-Gilles for the patch.
This commit is contained in:
parent
5ec330cb2f
commit
abb34fe9f3
|
@ -178,6 +178,9 @@ The :mod:`UserString` module defines the following classes:
|
||||||
mutable object as dictionary key, which would be otherwise very error prone and
|
mutable object as dictionary key, which would be otherwise very error prone and
|
||||||
hard to track down.
|
hard to track down.
|
||||||
|
|
||||||
|
.. deprecated:: 2.6
|
||||||
|
The :class:`MutableString` class has been removed in Python 3.0.
|
||||||
|
|
||||||
In addition to supporting the methods and operations of string and Unicode
|
In addition to supporting the methods and operations of string and Unicode
|
||||||
objects (see section :ref:`string-methods`), :class:`UserString` instances
|
objects (see section :ref:`string-methods`), :class:`UserString` instances
|
||||||
provide the following attribute:
|
provide the following attribute:
|
||||||
|
|
|
@ -146,6 +146,9 @@ class MutableString(UserString, collections.MutableSequence):
|
||||||
|
|
||||||
A faster and better solution is to rewrite your program using lists."""
|
A faster and better solution is to rewrite your program using lists."""
|
||||||
def __init__(self, string=""):
|
def __init__(self, string=""):
|
||||||
|
from warnings import warnpy3k
|
||||||
|
warnpy3k('the class UserString.MutableString has been removed in '
|
||||||
|
'Python 3.0', stacklevel=2)
|
||||||
self.data = string
|
self.data = string
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
raise TypeError, "unhashable type (it is mutable)"
|
raise TypeError, "unhashable type (it is mutable)"
|
||||||
|
|
|
@ -219,6 +219,14 @@ class TestStdlibRemovals(unittest.TestCase):
|
||||||
func = getattr(commands, name)
|
func = getattr(commands, name)
|
||||||
self.assertRaises(DeprecationWarning, func, *([None]*arg_count))
|
self.assertRaises(DeprecationWarning, func, *([None]*arg_count))
|
||||||
|
|
||||||
|
def test_mutablestring_removal(self):
|
||||||
|
# UserString.MutableString has been removed in 3.0.
|
||||||
|
import UserString
|
||||||
|
with catch_warning(record=False):
|
||||||
|
warnings.filterwarnings("error", ".*MutableString",
|
||||||
|
DeprecationWarning)
|
||||||
|
self.assertRaises(DeprecationWarning, UserString.MutableString)
|
||||||
|
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
with catch_warning(record=True):
|
with catch_warning(record=True):
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
import string
|
import string
|
||||||
from test import test_support, string_tests
|
from test import test_support, string_tests
|
||||||
|
|
||||||
from UserString import UserString, MutableString
|
from UserString import UserString, MutableString
|
||||||
|
import warnings
|
||||||
|
|
||||||
class UserStringTest(
|
class UserStringTest(
|
||||||
string_tests.CommonTest,
|
string_tests.CommonTest,
|
||||||
|
@ -135,7 +135,10 @@ class MutableStringTest(UserStringTest):
|
||||||
self.assertEqual(s, "")
|
self.assertEqual(s, "")
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
test_support.run_unittest(UserStringTest, MutableStringTest)
|
with test_support.catch_warning(record=False):
|
||||||
|
warnings.filterwarnings("ignore", ".*MutableString",
|
||||||
|
DeprecationWarning)
|
||||||
|
test_support.run_unittest(UserStringTest, MutableStringTest)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
test_main()
|
test_main()
|
||||||
|
|
|
@ -63,6 +63,9 @@ Extension Modules
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Issue #2877 - The UserString.MutableString class has been removed in
|
||||||
|
Python 3.0.
|
||||||
|
|
||||||
- Do not close external file objects passed to tarfile.open(mode='w:bz2')
|
- Do not close external file objects passed to tarfile.open(mode='w:bz2')
|
||||||
when the TarFile is closed.
|
when the TarFile is closed.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue