summaryrefslogtreecommitdiff
path: root/tests/urlpatterns_reverse
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-09-01 21:09:16 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-09-01 21:10:43 +0200
commita1083805acc952419752bc8fd860bfda83af42d2 (patch)
tree74ae69b29eb7dab819f614751f392726091aefbd /tests/urlpatterns_reverse
parent02876534aba63755e7418ee03a691ef6dcdb4416 (diff)
[4.1.x] Fixed #33955, Fixed #33971 -- Reverted "Fixed #32565 -- Moved internal URLResolver view-strings mapping to admindocs."
This reverts commit 7f3cfaa12b28d15c0ca78bb692bfd6e59d17bff1. Thanks Tom Carrick and Greg Kaleka for reports. Backport of 974942a75039ba43e618f6a5ff95e08b5d5176fd from main
Diffstat (limited to 'tests/urlpatterns_reverse')
-rw-r--r--tests/urlpatterns_reverse/tests.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py
index 73159b6bb8..89dfd0deba 100644
--- a/tests/urlpatterns_reverse/tests.py
+++ b/tests/urlpatterns_reverse/tests.py
@@ -640,6 +640,27 @@ class ResolverTests(SimpleTestCase):
% (e["name"], t.name),
)
+ def test_namespaced_view_detail(self):
+ resolver = get_resolver("urlpatterns_reverse.nested_urls")
+ self.assertTrue(resolver._is_callback("urlpatterns_reverse.nested_urls.view1"))
+ self.assertTrue(resolver._is_callback("urlpatterns_reverse.nested_urls.view2"))
+ self.assertTrue(resolver._is_callback("urlpatterns_reverse.nested_urls.View3"))
+ self.assertFalse(resolver._is_callback("urlpatterns_reverse.nested_urls.blub"))
+
+ def test_view_detail_as_method(self):
+ # Views which have a class name as part of their path.
+ resolver = get_resolver("urlpatterns_reverse.method_view_urls")
+ self.assertTrue(
+ resolver._is_callback(
+ "urlpatterns_reverse.method_view_urls.ViewContainer.method_view"
+ )
+ )
+ self.assertTrue(
+ resolver._is_callback(
+ "urlpatterns_reverse.method_view_urls.ViewContainer.classmethod_view"
+ )
+ )
+
def test_populate_concurrency(self):
"""
URLResolver._populate() can be called concurrently, but not more