Commit 7e52bb2b authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #13796 -- Ensure that builtin tags and filters are included in admin documentation views.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13588 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 05f52175
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -54,7 +54,9 @@ def template_tag_index(request):
    load_all_installed_template_libraries()

    tags = []
    for module_name, library in template.libraries.items():
    app_libs = template.libraries.items()
    builtin_libs = [(None, lib) for lib in template.builtins]
    for module_name, library in builtin_libs + app_libs:
        for tag_name, tag_func in library.tags.items():
            title, body, metadata = utils.parse_docstring(tag_func.__doc__)
            if title:
@@ -87,7 +89,9 @@ def template_filter_index(request):
    load_all_installed_template_libraries()

    filters = []
    for module_name, library in template.libraries.items():
    app_libs = template.libraries.items()
    builtin_libs = [(None, lib) for lib in template.builtins]
    for module_name, library in builtin_libs + app_libs:
        for filter_name, filter_func in library.filters.items():
            title, body, metadata = utils.parse_docstring(filter_func.__doc__)
            if title:
+37 −0
Original line number Diff line number Diff line
@@ -2170,3 +2170,40 @@ class UserAdminTest(TestCase):
        self.assertRedirects(response, '/test_admin/admin/auth/user/add/')
        self.assertEquals(User.objects.count(), user_count + 1)
        self.assertNotEquals(new_user.password, UNUSABLE_PASSWORD)

class AdminDocsTest(TestCase):
    fixtures = ['admin-views-users.xml']

    def setUp(self):
        self.client.login(username='super', password='secret')

    def tearDown(self):
        self.client.logout()

    def test_tags(self):
        response = self.client.get('/test_admin/admin/doc/tags/')

        # The builtin tag group exists
        self.assertContains(response, "<h2>Built-in tags</h2>", count=2)

        # A builtin tag exists in both the index and detail
        self.assertContains(response, '<h3 id="autoescape">autoescape</h3>')
        self.assertContains(response, '<li><a href="#autoescape">autoescape</a></li>')

        # An app tag exists in both the index and detail
        # The builtin tag group exists
        self.assertContains(response, "<h2>admin_list</h2>", count=2)

        # A builtin tag exists in both the index and detail
        self.assertContains(response, '<h3 id="autoescape">autoescape</h3>')
        self.assertContains(response, '<li><a href="#admin_actions">admin_actions</a></li>')

    def test_filters(self):
        response = self.client.get('/test_admin/admin/doc/filters/')

        # The builtin filter group exists
        self.assertContains(response, "<h2>Built-in filters</h2>", count=2)

        # A builtin filter exists in both the index and detail
        self.assertContains(response, '<h3 id="add">add</h3>')
        self.assertContains(response, '<li><a href="#add">add</a></li>')
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ ALWAYS_INSTALLED_APPS = [
    'django.contrib.messages',
    'django.contrib.comments',
    'django.contrib.admin',
    'django.contrib.admindocs',
]

def get_test_models():