summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSalvo Polizzi <plzslv03@studium.unict.it>2024-02-22 12:04:03 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-02-23 15:54:49 +0100
commit6e1ece7ed522c904a674966fa985159b7bbf1545 (patch)
tree6b6c5ea0322d1185eac261302420f13a4f162b43 /tests
parent50e95ad5367a4a93f94a66a645f9c126f0609f0a (diff)
Fixed #35090 -- Deprecated registering URL converters with the same name.
Diffstat (limited to 'tests')
-rw-r--r--tests/urlpatterns/tests.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/tests/urlpatterns/tests.py b/tests/urlpatterns/tests.py
index f8d73fdb4a..37109c9a11 100644
--- a/tests/urlpatterns/tests.py
+++ b/tests/urlpatterns/tests.py
@@ -4,10 +4,20 @@ import uuid
from django.core.exceptions import ImproperlyConfigured
from django.test import SimpleTestCase
from django.test.utils import override_settings
-from django.urls import NoReverseMatch, Resolver404, path, re_path, resolve, reverse
+from django.urls import (
+ NoReverseMatch,
+ Resolver404,
+ path,
+ re_path,
+ register_converter,
+ resolve,
+ reverse,
+)
+from django.urls.converters import IntConverter
+from django.utils.deprecation import RemovedInDjango60Warning
from django.views import View
-from .converters import DynamicConverter
+from .converters import Base64Converter, DynamicConverter
from .views import empty_view
included_kwargs = {"base": b"hello", "value": b"world"}
@@ -193,6 +203,28 @@ class SimplifiedURLTests(SimpleTestCase):
with self.assertRaisesMessage(ImproperlyConfigured, msg):
path("foo/<nonexistent:var>/", empty_view)
+ def test_warning_override_default_converter(self):
+ # RemovedInDjango60Warning: when the deprecation ends, replace with
+ # msg = "Converter 'int' is already registered."
+ # with self.assertRaisesMessage(ValueError, msg):
+ msg = (
+ "Converter 'int' is already registered. Support for overriding registered "
+ "converters is deprecated and will be removed in Django 6.0."
+ )
+ with self.assertWarnsMessage(RemovedInDjango60Warning, msg):
+ register_converter(IntConverter, "int")
+
+ def test_warning_override_converter(self):
+ # RemovedInDjango60Warning: when the deprecation ends, replace with
+ # msg = "Converter 'base64' is already registered."
+ # with self.assertRaisesMessage(ValueError, msg):
+ msg = (
+ "Converter 'base64' is already registered. Support for overriding "
+ "registered converters is deprecated and will be removed in Django 6.0."
+ )
+ with self.assertWarnsMessage(RemovedInDjango60Warning, msg):
+ register_converter(Base64Converter, "base64")
+
def test_invalid_view(self):
msg = "view must be a callable or a list/tuple in the case of include()."
with self.assertRaisesMessage(TypeError, msg):