]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Add defaults to template.ParseError arguments.
authorBen Darnell <ben@bendarnell.com>
Sun, 14 Feb 2016 00:40:49 +0000 (19:40 -0500)
committerBen Darnell <ben@bendarnell.com>
Sun, 14 Feb 2016 00:40:49 +0000 (19:40 -0500)
Fixes #1631

tornado/template.py
tornado/test/template_test.py

index fa588991e7a0e39b0241dcc5c8df7e16efb1f6d3..c7f26eff7870305c036c671716de7bf8140a3a0e 100644 (file)
@@ -665,7 +665,7 @@ class ParseError(Exception):
     .. versionchanged:: 4.3
        Added ``filename`` and ``lineno`` attributes.
     """
-    def __init__(self, message, filename, lineno):
+    def __init__(self, message, filename=None, lineno=0):
         self.message = message
         # The names "filename" and "lineno" are chosen for consistency
         # with python SyntaxError.
index d49d2327913071ba41a21a94565ff1c80457ec9a..7b21ce754968890e7e84e31457f409c3a1fe68e8 100644 (file)
@@ -280,6 +280,11 @@ class ParseErrorDetailTest(unittest.TestCase):
         self.assertEqual("foo.html", cm.exception.filename)
         self.assertEqual(3, cm.exception.lineno)
 
+    def test_custom_parse_error(self):
+        # Make sure that ParseErrors remain compatible with their
+        # pre-4.3 signature.
+        self.assertEqual("asdf at None:0", str(ParseError("asdf")))
+
 
 class AutoEscapeTest(unittest.TestCase):
     def setUp(self):