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
|
||||
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
|
||||
objects (see section :ref:`string-methods`), :class:`UserString` instances
|
||||
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."""
|
||||
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
|
||||
def __hash__(self):
|
||||
raise TypeError, "unhashable type (it is mutable)"
|
||||
|
|
|
@ -219,6 +219,14 @@ class TestStdlibRemovals(unittest.TestCase):
|
|||
func = getattr(commands, name)
|
||||
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():
|
||||
with catch_warning(record=True):
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
import string
|
||||
from test import test_support, string_tests
|
||||
|
||||
from UserString import UserString, MutableString
|
||||
import warnings
|
||||
|
||||
class UserStringTest(
|
||||
string_tests.CommonTest,
|
||||
|
@ -135,7 +135,10 @@ class MutableStringTest(UserStringTest):
|
|||
self.assertEqual(s, "")
|
||||
|
||||
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__":
|
||||
test_main()
|
||||
|
|
Loading…
Reference in New Issue