diff options
author | Pablo Galindo Salgado <Pablogsal@gmail.com> | 2024-05-07 16:01:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-07 16:01:49 (GMT) |
commit | a94ac566285662b214ca97d74481e07e51ccd7d9 (patch) | |
tree | 23f91530e49c539081053dbb0ba63e90a6677414 /Lib/test/test_pyrepl.py | |
parent | 26bab423fb6e08f9df23c5c8f55e3d019150c454 (diff) | |
download | cpython-a94ac566285662b214ca97d74481e07e51ccd7d9.zip cpython-a94ac566285662b214ca97d74481e07e51ccd7d9.tar.gz cpython-a94ac566285662b214ca97d74481e07e51ccd7d9.tar.bz2 |
gh-111201: Allow pasted code to contain multiple statements in the REPL (#118712)
Co-authored-by: Ćukasz Langa <lukasz@langa.pl>
Diffstat (limited to 'Lib/test/test_pyrepl.py')
-rw-r--r-- | Lib/test/test_pyrepl.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/Lib/test/test_pyrepl.py b/Lib/test/test_pyrepl.py index bb9e36b..c8990b6 100644 --- a/Lib/test/test_pyrepl.py +++ b/Lib/test/test_pyrepl.py @@ -23,6 +23,7 @@ from _pyrepl.console import Console, Event from _pyrepl.readline import ReadlineAlikeReader, ReadlineConfig from _pyrepl.simple_interact import _strip_final_indent from _pyrepl.unix_eventqueue import EventQueue +from _pyrepl.simple_interact import InteractiveColoredConsole def more_lines(unicodetext, namespace=None): @@ -830,7 +831,6 @@ class TestPasteEvent(TestCase): ' else:\n' ' pass\n' ) - # fmt: on output_code = ( 'def a():\n' @@ -841,8 +841,8 @@ class TestPasteEvent(TestCase): '\n' ' else:\n' ' pass\n' - '\n' ) + # fmt: on paste_start = "\x1b[200~" paste_end = "\x1b[201~" @@ -857,6 +857,22 @@ class TestPasteEvent(TestCase): output = multiline_input(reader) self.assertEqual(output, output_code) + def test_bracketed_paste_single_line(self): + input_code = "oneline" + + paste_start = "\x1b[200~" + paste_end = "\x1b[201~" + + events = itertools.chain( + code_to_events(paste_start), + code_to_events(input_code), + code_to_events(paste_end), + code_to_events("\n"), + ) + reader = self.prepare_reader(events) + output = multiline_input(reader) + self.assertEqual(output, input_code) + class TestReader(TestCase): def assert_screen_equals(self, reader, expected): @@ -986,5 +1002,5 @@ class TestReader(TestCase): self.assert_screen_equals(reader, "") -if __name__ == "__main__": +if __name__ == '__main__': unittest.main() |