From 75485d16a289c1fc4eb39702c14d2f08f0d8ccce Mon Sep 17 00:00:00 2001 From: mendespedro Date: Fri, 10 Dec 2021 19:23:54 -0300 Subject: Fixed #33351 -- Made path()/re_path() raise TypeError when kwargs argument is not a dict. --- tests/urlpatterns/tests.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'tests/urlpatterns') diff --git a/tests/urlpatterns/tests.py b/tests/urlpatterns/tests.py index cf942fe72b..262cb2e11e 100644 --- a/tests/urlpatterns/tests.py +++ b/tests/urlpatterns/tests.py @@ -4,7 +4,9 @@ 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, resolve, reverse +from django.urls import ( + NoReverseMatch, Resolver404, path, re_path, resolve, reverse, +) from django.views import View from .converters import DynamicConverter @@ -137,6 +139,13 @@ class SimplifiedURLTests(SimpleTestCase): url = reverse('inner-extra', kwargs={'extra': 'something'}) self.assertEqual(url, '/included_urls/extra/something/') + def test_invalid_kwargs(self): + msg = 'kwargs argument must be a dict, but got str.' + with self.assertRaisesMessage(TypeError, msg): + path('hello/', empty_view, 'name') + with self.assertRaisesMessage(TypeError, msg): + re_path('^hello/$', empty_view, 'name') + def test_invalid_converter(self): msg = "URL route 'foo//' uses invalid converter 'nonexistent'." with self.assertRaisesMessage(ImproperlyConfigured, msg): -- cgit v1.3