MCPcopy Index your code
hub / github.com/python/cpython / test_caret

Method test_caret

Lib/test/test_traceback.py:100–135  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

98 compile("f(x, 女女女 for 女女女 in range(30), z)", "?", "exec")
99
100 def test_caret(self):
101 err = self.get_exception_format(self.syntax_error_with_caret,
102 SyntaxError)
103 self.assertEqual(len(err), 4)
104 self.assertEqual(err[1].strip(), "return x!")
105 self.assertIn("^", err[2]) # third line has caret
106 self.assertEqual(err[1].find("!"), err[2].find("^")) # in the right place
107 self.assertEqual(err[2].count("^"), 1)
108
109 err = self.get_exception_format(self.syntax_error_with_caret_2,
110 SyntaxError)
111 self.assertIn("^", err[2]) # third line has caret
112 self.assertEqual(err[2].count('\n'), 1) # and no additional newline
113 self.assertEqual(err[1].find("+") + 1, err[2].find("^")) # in the right place
114 self.assertEqual(err[2].count("^"), 1)
115
116 err = self.get_exception_format(self.syntax_error_with_caret_non_ascii,
117 SyntaxError)
118 self.assertIn("^", err[2]) # third line has caret
119 self.assertEqual(err[2].count('\n'), 1) # and no additional newline
120 self.assertEqual(err[1].find("+") + 1, err[2].find("^")) # in the right place
121 self.assertEqual(err[2].count("^"), 1)
122
123 err = self.get_exception_format(self.syntax_error_with_caret_range,
124 SyntaxError)
125 self.assertIn("^", err[2]) # third line has caret
126 self.assertEqual(err[2].count('\n'), 1) # and no additional newline
127 self.assertEqual(err[1].find("y"), err[2].find("^")) # in the right place
128 self.assertEqual(err[2].count("^"), len("y for y in range(30)"))
129
130 err = self.get_exception_format(self.tokenizer_error_with_caret_range,
131 SyntaxError)
132 self.assertIn("^", err[2]) # third line has caret
133 self.assertEqual(err[2].count('\n'), 1) # and no additional newline
134 self.assertEqual(err[1].find("("), err[2].find("^")) # in the right place
135 self.assertEqual(err[2].count("^"), 1)
136
137 def test_caret_wide_char(self):
138 err = self.get_exception_format(self.syntax_error_with_caret_wide_char,

Callers

nothing calls this directly

Calls 6

get_exception_formatMethod · 0.95
assertInMethod · 0.80
assertEqualMethod · 0.45
stripMethod · 0.45
findMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected