summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2021-01-07 08:09:04 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-01-14 17:50:04 +0100
commit157ab32f3446da7fa1f9d716509c290069a2a156 (patch)
tree39781a5e2c3e89650ab817e850fdbde1fd4da0cc
parent5e33ec80d153416d3693e89138ed21decf042672 (diff)
Refs #27753 -- Removed django.utils.text.unescape_entities() per deprecation timeline.
-rw-r--r--django/utils/text.py12
-rw-r--r--docs/releases/4.0.txt2
-rw-r--r--tests/utils_tests/test_text.py29
3 files changed, 3 insertions, 40 deletions
diff --git a/django/utils/text.py b/django/utils/text.py
index 4d77ce7f41..2b1be6c2b1 100644
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ -1,11 +1,9 @@
import html.entities
import re
import unicodedata
-import warnings
from gzip import GzipFile
from io import BytesIO
-from django.utils.deprecation import RemovedInDjango40Warning
from django.utils.functional import SimpleLazyObject, keep_lazy_text, lazy
from django.utils.regex_helper import _lazy_re_compile
from django.utils.translation import gettext as _, gettext_lazy, pgettext
@@ -360,16 +358,6 @@ _entity_re = _lazy_re_compile(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));")
@keep_lazy_text
-def unescape_entities(text):
- warnings.warn(
- 'django.utils.text.unescape_entities() is deprecated in favor of '
- 'html.unescape().',
- RemovedInDjango40Warning, stacklevel=2,
- )
- return _entity_re.sub(_replace_entity, str(text))
-
-
-@keep_lazy_text
def unescape_string_literal(s):
r"""
Convert quoted string literals to unquoted strings with escaped quotes and
diff --git a/docs/releases/4.0.txt b/docs/releases/4.0.txt
index 339147201d..9b4252dfaf 100644
--- a/docs/releases/4.0.txt
+++ b/docs/releases/4.0.txt
@@ -260,6 +260,8 @@ to remove usage of these features.
* ``alias=None`` is required in the signature of
``django.db.models.Expression.get_group_by_cols()`` subclasses.
+* ``django.utils.text.unescape_entities()`` is removed.
+
See :ref:`deprecated-features-3.1` for details on these changes, including how
to remove usage of these features.
diff --git a/tests/utils_tests/test_text.py b/tests/utils_tests/test_text.py
index 1b6bfc0b8e..c9c74521e3 100644
--- a/tests/utils_tests/test_text.py
+++ b/tests/utils_tests/test_text.py
@@ -1,9 +1,8 @@
import json
import sys
-from django.test import SimpleTestCase, ignore_warnings
+from django.test import SimpleTestCase
from django.utils import text
-from django.utils.deprecation import RemovedInDjango40Warning
from django.utils.functional import lazystr
from django.utils.text import format_lazy
from django.utils.translation import gettext_lazy, override
@@ -213,32 +212,6 @@ class TestUtilsText(SimpleTestCase):
with self.subTest('intern'):
self.assertEqual(sys.intern(text.slugify('a')), 'a')
- @ignore_warnings(category=RemovedInDjango40Warning)
- def test_unescape_entities(self):
- items = [
- ('', ''),
- ('foo', 'foo'),
- ('&amp;', '&'),
- ('&am;', '&am;'),
- ('&#x26;', '&'),
- ('&#xk;', '&#xk;'),
- ('&#38;', '&'),
- ('foo &amp; bar', 'foo & bar'),
- ('foo & bar', 'foo & bar'),
- ]
- for value, output in items:
- with self.subTest(value=value):
- self.assertEqual(text.unescape_entities(value), output)
- self.assertEqual(text.unescape_entities(lazystr(value)), output)
-
- def test_unescape_entities_deprecated(self):
- msg = (
- 'django.utils.text.unescape_entities() is deprecated in favor of '
- 'html.unescape().'
- )
- with self.assertWarnsMessage(RemovedInDjango40Warning, msg):
- text.unescape_entities('foo')
-
def test_unescape_string_literal(self):
items = [
('"abc"', 'abc'),