diff options
author | Alokik Vijay <alokik.roe@gmail.com> | 2022-05-17 09:46:26 +0200 |
---|---|---|
committer | Carlton Gibson <carlton@noumenal.es> | 2022-05-17 10:50:09 +0200 |
commit | 7f3cfaa12b28d15c0ca78bb692bfd6e59d17bff1 (patch) | |
tree | b9da3508b15e3bbbb42332f282ce8e0075f5d7e0 /tests/admin_docs | |
parent | 2a5d2eefc751be012fdebd75d8177c42bf5a76fc (diff) | |
download | django-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.py | 29 |
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, + ) + ) |