Add test for #3684.

This commit is contained in:
Georg Brandl 2009-06-04 18:59:58 +00:00
parent e7dbebbadf
commit 4da2fa5517
1 changed files with 9 additions and 0 deletions

View File

@ -24,6 +24,9 @@ class TracebackCases(unittest.TestCase):
def syntax_error_with_caret(self): def syntax_error_with_caret(self):
compile("def fact(x):\n\treturn x!\n", "?", "exec") compile("def fact(x):\n\treturn x!\n", "?", "exec")
def syntax_error_with_caret_2(self):
compile("1 +\n", "?", "exec")
def syntax_error_without_caret(self): def syntax_error_without_caret(self):
# XXX why doesn't compile raise the same traceback? # XXX why doesn't compile raise the same traceback?
import test.badsyntax_nocaret import test.badsyntax_nocaret
@ -39,6 +42,12 @@ class TracebackCases(unittest.TestCase):
self.assert_("^" in err[2]) # third line has caret self.assert_("^" in err[2]) # third line has caret
self.assert_(err[1].find("!") == err[2].find("^")) # in the right place self.assert_(err[1].find("!") == err[2].find("^")) # in the right place
err = self.get_exception_format(self.syntax_error_with_caret_2,
SyntaxError)
self.assert_("^" in err[2]) # third line has caret
self.assert_(err[2].count('\n') == 1) # and no additional newline
self.assert_(err[1].find("+") == err[2].find("^")) # in the right place
def test_nocaret(self): def test_nocaret(self):
if is_jython: if is_jython:
# jython adds a caret in this case (why shouldn't it?) # jython adds a caret in this case (why shouldn't it?)