diff options
| author | Anton Samarchyan <anton.samarchyan@savoirfairelinux.com> | 2017-01-27 11:47:19 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-01-27 13:16:55 -0500 |
| commit | 0cbfc844a392ae3fd47cc2cf28ba872f19f1d301 (patch) | |
| tree | 0db4230f35754fa4e670f41eb5539a1ba93afe41 | |
| parent | e07e743e0c375b380748561d18b975c8211a4a01 (diff) | |
Improved test coverage and error messages for conf.urls.__init__.
| -rw-r--r-- | django/conf/urls/__init__.py | 7 | ||||
| -rw-r--r-- | tests/urlpatterns_reverse/tests.py | 10 |
2 files changed, 14 insertions, 3 deletions
diff --git a/django/conf/urls/__init__.py b/django/conf/urls/__init__.py index 16db0f2fea..47d6b310e2 100644 --- a/django/conf/urls/__init__.py +++ b/django/conf/urls/__init__.py @@ -22,12 +22,13 @@ def include(arg, namespace=None): except ValueError: if namespace: raise ImproperlyConfigured( - 'Cannot override the namespace for a dynamic module that provides a namespace' + 'Cannot override the namespace for a dynamic module that ' + 'provides a namespace.' ) raise ImproperlyConfigured( - 'Passing a 3-tuple to django.conf.urls.include() is not supported. ' + 'Passing a %d-tuple to django.conf.urls.include() is not supported. ' 'Pass a 2-tuple containing the list of patterns and app_name, ' - 'and provide the namespace argument to include() instead.', + 'and provide the namespace argument to include() instead.' % len(arg) ) else: # No namespace hint - use manually provided namespace diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index b2d7e1ad38..8d4cedc2e7 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -1058,11 +1058,21 @@ class IncludeTests(SimpleTestCase): with self.assertRaisesMessage(ImproperlyConfigured, msg): include(self.url_patterns, 'namespace') + def test_include_4_tuple(self): + msg = 'Passing a 4-tuple to django.conf.urls.include() is not supported.' + with self.assertRaisesMessage(ImproperlyConfigured, msg): + include((self.url_patterns, 'app_name', 'namespace', 'blah')) + def test_include_3_tuple(self): msg = 'Passing a 3-tuple to django.conf.urls.include() is not supported.' with self.assertRaisesMessage(ImproperlyConfigured, msg): include((self.url_patterns, 'app_name', 'namespace')) + def test_include_3_tuple_namespace(self): + msg = 'Cannot override the namespace for a dynamic module that provides a namespace.' + with self.assertRaisesMessage(ImproperlyConfigured, msg): + include((self.url_patterns, 'app_name', 'namespace'), 'namespace') + def test_include_2_tuple(self): self.assertEqual( include((self.url_patterns, 'app_name')), |
