kopia lustrzana https://github.com/wagtail/wagtail
Add a meaningful error message for invalid arguments to pageurl (#4228)
rodzic
3bd3275add
commit
c82b6835a0
|
@ -16,6 +16,9 @@ def pageurl(context, page):
|
|||
Outputs a page's URL as relative (/foo/bar/) if it's within the same site as the
|
||||
current page, or absolute (http://example.com/foo/bar/) if not.
|
||||
"""
|
||||
if not hasattr(page, 'relative_url'):
|
||||
raise ValueError("pageurl tag expected a Page object, got %r" % page)
|
||||
|
||||
try:
|
||||
current_site = context['request'].site
|
||||
except (KeyError, AttributeError):
|
||||
|
|
|
@ -37,6 +37,12 @@ class TestPageUrlTags(TestCase):
|
|||
result = tpl.render(template.Context({'page': page, 'request': HttpRequest()}))
|
||||
self.assertIn('<a href="/events/">Events</a>', result)
|
||||
|
||||
def test_bad_pageurl(self):
|
||||
tpl = template.Template('''{% load wagtailcore_tags %}<a href="{% pageurl page %}">{{ page.title }}</a>''')
|
||||
|
||||
with self.assertRaisesRegex(ValueError, "pageurl tag expected a Page object, got None"):
|
||||
tpl.render(template.Context({'page': None}))
|
||||
|
||||
def test_slugurl_without_request_in_context(self):
|
||||
tpl = template.Template('''{% load wagtailcore_tags %}<a href="{% slugurl 'events' %}">Events</a>''')
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue