summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_traceback.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_traceback.py')
-rw-r--r--Lib/test/test_traceback.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index e8ff4b5..40d5a84 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -703,6 +703,57 @@ class TracebackErrorLocationCaretTests(unittest.TestCase):
)
self.assertEqual(result_lines, expected_error.splitlines())
+ def test_multiline_method_call_a(self):
+ def f():
+ (None
+ .method
+ )()
+ actual = self.get_exception(f)
+ expected = [
+ f"Traceback (most recent call last):",
+ f" File \"{__file__}\", line {self.callable_line}, in get_exception",
+ f" callable()",
+ f" ^^^^^^^^^^",
+ f" File \"{__file__}\", line {f.__code__.co_firstlineno + 2}, in f",
+ f" .method",
+ f" ^^^^^^",
+ ]
+ self.assertEqual(actual, expected)
+
+ def test_multiline_method_call_b(self):
+ def f():
+ (None.
+ method
+ )()
+ actual = self.get_exception(f)
+ expected = [
+ f"Traceback (most recent call last):",
+ f" File \"{__file__}\", line {self.callable_line}, in get_exception",
+ f" callable()",
+ f" ^^^^^^^^^^",
+ f" File \"{__file__}\", line {f.__code__.co_firstlineno + 2}, in f",
+ f" method",
+ f" ^^^^^^",
+ ]
+ self.assertEqual(actual, expected)
+
+ def test_multiline_method_call_c(self):
+ def f():
+ (None
+ . method
+ )()
+ actual = self.get_exception(f)
+ expected = [
+ f"Traceback (most recent call last):",
+ f" File \"{__file__}\", line {self.callable_line}, in get_exception",
+ f" callable()",
+ f" ^^^^^^^^^^",
+ f" File \"{__file__}\", line {f.__code__.co_firstlineno + 2}, in f",
+ f" . method",
+ f" ^^^^^^",
+ ]
+ self.assertEqual(actual, expected)
+
@cpython_only
@requires_debug_ranges()
class CPythonTracebackErrorCaretTests(TracebackErrorLocationCaretTests):