From 16a842b3795ca78a5918538ab6b9f1afbd718f72 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 30 May 2016 09:44:33 -0400 Subject: [PATCH] Refs #26621 -- Added tests for admindocs.views.simplify_regex(). --- django/contrib/admindocs/views.py | 6 +++--- tests/admin_docs/tests.py | 11 ++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/django/contrib/admindocs/views.py b/django/contrib/admindocs/views.py index fb1afc296a..b122c315fc 100644 --- a/django/contrib/admindocs/views.py +++ b/django/contrib/admindocs/views.py @@ -394,9 +394,9 @@ non_named_group_matcher = re.compile(r'\(.*?\)') def simplify_regex(pattern): """ - Clean up urlpattern regexes into something somewhat readable by Mere Humans: - turns something like "^(?P\w+)/athletes/(?P\w+)/$" - into "/athletes//" + Clean up urlpattern regexes into something more readable by humans. For + example, turn "^(?P\w+)/athletes/(?P\w+)/$" + into "//athletes//". """ # handle named groups first pattern = named_group_matcher.sub(lambda m: m.group(1), pattern) diff --git a/tests/admin_docs/tests.py b/tests/admin_docs/tests.py index ec35f92627..3d5955d680 100644 --- a/tests/admin_docs/tests.py +++ b/tests/admin_docs/tests.py @@ -3,7 +3,7 @@ import unittest from django.conf import settings from django.contrib.admindocs import utils -from django.contrib.admindocs.views import get_return_data_type +from django.contrib.admindocs.views import get_return_data_type, simplify_regex from django.contrib.auth.models import User from django.contrib.sites.models import Site from django.test import TestCase, modify_settings, override_settings @@ -123,6 +123,15 @@ class AdminDocViewTests(TestDataMixin, AdminDocsTestCase): finally: utils.docutils_is_available = True + def test_simplify_regex(self): + tests = ( + ('^a', '/a'), + ('^(?P\w+)/b/(?P\w+)/$', '//b//'), + ('^(?P\w+)/b/(?P\w+)$', '//b/'), + ) + for pattern, output in tests: + self.assertEqual(simplify_regex(pattern), output) + @override_settings(TEMPLATES=[{ 'NAME': 'ONE',