diff options
author | Lysandros Nikolaou <lisandrosnik@gmail.com> | 2024-05-06 09:50:42 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-06 09:50:42 (GMT) |
commit | 8e750b83a89ad62a6a209357dcbadc91a2ceaedb (patch) | |
tree | 8958297ccf5aef40f312382fec79eea6fbba065a /Lib/test/test_pyrepl.py | |
parent | 153b3f75306b5d26e29ea157105d0fdc247ef853 (diff) | |
download | cpython-8e750b83a89ad62a6a209357dcbadc91a2ceaedb.zip cpython-8e750b83a89ad62a6a209357dcbadc91a2ceaedb.tar.gz cpython-8e750b83a89ad62a6a209357dcbadc91a2ceaedb.tar.bz2 |
gh-111201: Fix event queue tests for pyrepl (#118635)
Diffstat (limited to 'Lib/test/test_pyrepl.py')
-rw-r--r-- | Lib/test/test_pyrepl.py | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/Lib/test/test_pyrepl.py b/Lib/test/test_pyrepl.py index c53bdef..3cba37c 100644 --- a/Lib/test/test_pyrepl.py +++ b/Lib/test/test_pyrepl.py @@ -2,6 +2,7 @@ import itertools import os import rlcompleter import sys +import tempfile import unittest from code import InteractiveConsole from functools import partial @@ -603,26 +604,32 @@ class TestPyReplCompleter(TestCase): @patch("_pyrepl.curses.tigetstr", lambda x: b"") class TestUnivEventQueue(TestCase): + def setUp(self): + self.file = tempfile.TemporaryFile() + + def tearDown(self) -> None: + self.file.close() + def test_get(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") event = Event("key", "a", b"a") eq.insert(event) self.assertEqual(eq.get(), event) def test_empty(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") self.assertTrue(eq.empty()) eq.insert(Event("key", "a", b"a")) self.assertFalse(eq.empty()) def test_flush_buf(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.buf.extend(b"test") self.assertEqual(eq.flush_buf(), b"test") self.assertEqual(eq.buf, bytearray()) def test_insert(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") event = Event("key", "a", b"a") eq.insert(event) self.assertEqual(eq.events[0], event) @@ -630,30 +637,30 @@ class TestUnivEventQueue(TestCase): @patch("_pyrepl.unix_eventqueue.keymap") def test_push_with_key_in_keymap(self, mock_keymap): mock_keymap.compile_keymap.return_value = {"a": "b"} - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {b"a": "b"} eq.push("a") - self.assertTrue(mock_keymap.compile_keymap.called) + mock_keymap.compile_keymap.assert_called() self.assertEqual(eq.events[0].evt, "key") self.assertEqual(eq.events[0].data, "b") @patch("_pyrepl.unix_eventqueue.keymap") def test_push_without_key_in_keymap(self, mock_keymap): mock_keymap.compile_keymap.return_value = {"a": "b"} - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {b"c": "d"} eq.push("a") - self.assertTrue(mock_keymap.compile_keymap.called) + mock_keymap.compile_keymap.assert_called() self.assertEqual(eq.events[0].evt, "key") self.assertEqual(eq.events[0].data, "a") @patch("_pyrepl.unix_eventqueue.keymap") def test_push_with_keymap_in_keymap(self, mock_keymap): mock_keymap.compile_keymap.return_value = {"a": "b"} - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {b"a": {b"b": "c"}} eq.push("a") - self.assertTrue(mock_keymap.compile_keymap.called) + mock_keymap.compile_keymap.assert_called() self.assertTrue(eq.empty()) eq.push("b") self.assertEqual(eq.events[0].evt, "key") @@ -665,10 +672,10 @@ class TestUnivEventQueue(TestCase): @patch("_pyrepl.unix_eventqueue.keymap") def test_push_with_keymap_in_keymap_and_escape(self, mock_keymap): mock_keymap.compile_keymap.return_value = {"a": "b"} - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {b"a": {b"b": "c"}} eq.push("a") - self.assertTrue(mock_keymap.compile_keymap.called) + mock_keymap.compile_keymap.assert_called() self.assertTrue(eq.empty()) eq.flush_buf() eq.push("\033") @@ -679,7 +686,7 @@ class TestUnivEventQueue(TestCase): self.assertEqual(eq.events[1].data, "b") def test_push_special_key(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {} eq.push("\x1b") eq.push("[") @@ -688,7 +695,7 @@ class TestUnivEventQueue(TestCase): self.assertEqual(eq.events[0].data, "\x1b") def test_push_unrecognized_escape_sequence(self): - eq = EventQueue(sys.stdout.fileno(), "utf-8") + eq = EventQueue(self.file.fileno(), "utf-8") eq.keymap = {} eq.push("\x1b") eq.push("[") |