Fixed #19392 -- Improved error for old-style url tags with dashes.
Thanks dloewenherz for the report.
This commit is contained in:
parent
8248d14029
commit
49519328b4
|
@ -1262,7 +1262,12 @@ def url(parser, token):
|
|||
if len(bits) < 2:
|
||||
raise TemplateSyntaxError("'%s' takes at least one argument"
|
||||
" (path to a view)" % bits[0])
|
||||
viewname = parser.compile_filter(bits[1])
|
||||
try:
|
||||
viewname = parser.compile_filter(bits[1])
|
||||
except TemplateSyntaxError as exc:
|
||||
exc.args = (exc.args[0] + ". "
|
||||
"The syntax of 'url' changed in Django 1.5, see the docs."),
|
||||
raise
|
||||
args = []
|
||||
kwargs = {}
|
||||
asvar = None
|
||||
|
|
|
@ -366,7 +366,7 @@ class Templates(TestCase):
|
|||
with self.assertRaises(urlresolvers.NoReverseMatch):
|
||||
t.render(c)
|
||||
|
||||
def test_url_explicit_exception_for_old_syntax(self):
|
||||
def test_url_explicit_exception_for_old_syntax_at_run_time(self):
|
||||
# Regression test for #19280
|
||||
t = Template('{% url path.to.view %}') # not quoted = old syntax
|
||||
c = Context()
|
||||
|
@ -374,6 +374,12 @@ class Templates(TestCase):
|
|||
"The syntax changed in Django 1.5, see the docs."):
|
||||
t.render(c)
|
||||
|
||||
def test_url_explicit_exception_for_old_syntax_at_compile_time(self):
|
||||
# Regression test for #19392
|
||||
with self.assertRaisesRegexp(template.TemplateSyntaxError,
|
||||
"The syntax of 'url' changed in Django 1.5, see the docs."):
|
||||
t = Template('{% url my-view %}') # not a variable = old syntax
|
||||
|
||||
@override_settings(DEBUG=True, TEMPLATE_DEBUG=True)
|
||||
def test_no_wrapped_exception(self):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue