mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #35090 -- Deprecated registering URL converters with the same name.
This commit is contained in:
committed by
Mariusz Felisiak
parent
50e95ad536
commit
6e1ece7ed5
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user