summaryrefslogtreecommitdiff
path: root/tests/admin_docs
diff options
context:
space:
mode:
authorAlokik Vijay <alokik.roe@gmail.com>2022-05-17 09:46:26 +0200
committerCarlton Gibson <carlton@noumenal.es>2022-05-17 10:50:09 +0200
commit7f3cfaa12b28d15c0ca78bb692bfd6e59d17bff1 (patch)
treeb9da3508b15e3bbbb42332f282ce8e0075f5d7e0 /tests/admin_docs
parent2a5d2eefc751be012fdebd75d8177c42bf5a76fc (diff)
downloaddjango-7f3cfaa12b28d15c0ca78bb692bfd6e59d17bff1.tar.gz
Fixed #32565 -- Moved internal URLResolver view-strings mapping to admindocs.
Moved the functionality of URLResolver._is_callback(), URLResolver._callback_strs, URLPattern.lookup_str() to django.contrib.admindocs.
Diffstat (limited to 'tests/admin_docs')
-rw-r--r--tests/admin_docs/test_utils.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/admin_docs/test_utils.py b/tests/admin_docs/test_utils.py
index 18c6769fad..e26a4ca1f3 100644
--- a/tests/admin_docs/test_utils.py
+++ b/tests/admin_docs/test_utils.py
@@ -1,13 +1,15 @@
import unittest
from django.contrib.admindocs.utils import (
+ _is_callback,
docutils_is_available,
parse_docstring,
parse_rst,
)
from django.test.utils import captured_stderr
+from django.urls import get_resolver
-from .tests import AdminDocsSimpleTestCase
+from .tests import AdminDocsSimpleTestCase, SimpleTestCase
@unittest.skipUnless(docutils_is_available, "no docutils installed.")
@@ -119,3 +121,28 @@ class TestUtils(AdminDocsSimpleTestCase):
markup = "<p>reST, <cite>interpreted text</cite>, default role.</p>\n"
parts = docutils.core.publish_parts(source=source, writer_name="html4css1")
self.assertEqual(parts["fragment"], markup)
+
+
+class TestResolver(SimpleTestCase):
+ def test_namespaced_view_detail(self):
+ resolver = get_resolver("urlpatterns_reverse.nested_urls")
+ self.assertTrue(_is_callback("urlpatterns_reverse.nested_urls.view1", resolver))
+ self.assertTrue(_is_callback("urlpatterns_reverse.nested_urls.view2", resolver))
+ self.assertTrue(_is_callback("urlpatterns_reverse.nested_urls.View3", resolver))
+ self.assertFalse(_is_callback("urlpatterns_reverse.nested_urls.blub", resolver))
+
+ 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(
+ _is_callback(
+ "urlpatterns_reverse.method_view_urls.ViewContainer.method_view",
+ resolver,
+ )
+ )
+ self.assertTrue(
+ _is_callback(
+ "urlpatterns_reverse.method_view_urls.ViewContainer.classmethod_view",
+ resolver,
+ )
+ )