(self)
| 89 | compile("blech ( ", "?", "exec") |
| 90 | |
| 91 | def test_caret(self): |
| 92 | err = self.get_exception_format(self.syntax_error_with_caret, |
| 93 | SyntaxError) |
| 94 | self.assertEqual(len(err), 4) |
| 95 | self.assertEqual(err[1].strip(), "return x!") |
| 96 | self.assertIn("^", err[2]) # third line has caret |
| 97 | self.assertEqual(err[1].find("!"), err[2].find("^")) # in the right place |
| 98 | self.assertEqual(err[2].count("^"), 1) |
| 99 | |
| 100 | err = self.get_exception_format(self.syntax_error_with_caret_2, |
| 101 | SyntaxError) |
| 102 | self.assertIn("^", err[2]) # third line has caret |
| 103 | self.assertEqual(err[2].count('\n'), 1) # and no additional newline |
| 104 | self.assertEqual(err[1].find("+") + 1, err[2].find("^")) # in the right place |
| 105 | self.assertEqual(err[2].count("^"), 1) |
| 106 | |
| 107 | err = self.get_exception_format(self.syntax_error_with_caret_non_ascii, |
| 108 | SyntaxError) |
| 109 | self.assertIn("^", err[2]) # third line has caret |
| 110 | self.assertEqual(err[2].count('\n'), 1) # and no additional newline |
| 111 | self.assertEqual(err[1].find("+") + 1, err[2].find("^")) # in the right place |
| 112 | self.assertEqual(err[2].count("^"), 1) |
| 113 | |
| 114 | err = self.get_exception_format(self.syntax_error_with_caret_range, |
| 115 | SyntaxError) |
| 116 | self.assertIn("^", err[2]) # third line has caret |
| 117 | self.assertEqual(err[2].count('\n'), 1) # and no additional newline |
| 118 | self.assertEqual(err[1].find("y"), err[2].find("^")) # in the right place |
| 119 | self.assertEqual(err[2].count("^"), len("y for y in range(30)")) |
| 120 | |
| 121 | err = self.get_exception_format(self.tokenizer_error_with_caret_range, |
| 122 | SyntaxError) |
| 123 | self.assertIn("^", err[2]) # third line has caret |
| 124 | self.assertEqual(err[2].count('\n'), 1) # and no additional newline |
| 125 | self.assertEqual(err[1].find("("), err[2].find("^")) # in the right place |
| 126 | self.assertEqual(err[2].count("^"), 1) |
| 127 | |
| 128 | def test_nocaret(self): |
| 129 | exc = SyntaxError("error", ("x.py", 23, None, "bad syntax")) |
nothing calls this directly
no test coverage detected