diff --git a/Lib/_pyrepl/base_eventqueue.py b/Lib/_pyrepl/base_eventqueue.py index 0589a0f437ec7c..f520ffd7d8ad11 100644 --- a/Lib/_pyrepl/base_eventqueue.py +++ b/Lib/_pyrepl/base_eventqueue.py @@ -54,14 +54,6 @@ def empty(self) -> bool: """ return not self.events - def flush_buf(self) -> bytearray: - """ - Flushes the buffer and returns its contents. - """ - old = self.buf - self.buf = bytearray() - return old - def insert(self, event: Event) -> None: """ Inserts an event into the queue. @@ -87,7 +79,7 @@ def push(self, char: int | bytes) -> None: if isinstance(k, dict): self.keymap = k else: - self.insert(Event('key', k, bytes(self.flush_buf()))) + self.insert(Event('key', k, self.buf.take_bytes())) # type: ignore[attr-defined] self.keymap = self.compiled_keymap elif self.buf and self.buf[0] == 27: # escape @@ -97,14 +89,14 @@ def push(self, char: int | bytes) -> None: trace('unrecognized escape sequence, propagating...') self.keymap = self.compiled_keymap self.insert(Event('key', '\033', b'\033')) - for _c in self.flush_buf()[1:]: + for _c in self.buf.take_bytes()[1:]: # type: ignore[attr-defined] self.push(_c) else: try: - decoded = bytes(self.buf).decode(self.encoding) + decoded = self.buf.decode(self.encoding) except UnicodeError: return else: - self.insert(Event('key', decoded, bytes(self.flush_buf()))) + self.insert(Event('key', decoded, self.buf.take_bytes())) # type: ignore[attr-defined] self.keymap = self.compiled_keymap diff --git a/Lib/test/test_pyrepl/test_eventqueue.py b/Lib/test/test_pyrepl/test_eventqueue.py index 69d9612b70dc77..8ecfb3925c1b51 100644 --- a/Lib/test/test_pyrepl/test_eventqueue.py +++ b/Lib/test/test_pyrepl/test_eventqueue.py @@ -38,12 +38,6 @@ def test_empty(self): eq.insert(Event("key", "a", b"a")) self.assertFalse(eq.empty()) - def test_flush_buf(self): - eq = self.make_eventqueue() - eq.buf.extend(b"test") - self.assertEqual(eq.flush_buf(), b"test") - self.assertEqual(eq.buf, bytearray()) - def test_insert(self): eq = self.make_eventqueue() event = Event("key", "a", b"a") @@ -93,7 +87,7 @@ def test_push_with_keymap_in_keymap_and_escape(self, mock_keymap): eq.push(b"a") mock_keymap.compile_keymap.assert_called() self.assertTrue(eq.empty()) - eq.flush_buf() + del eq.buf[:] eq.push(b"\033") self.assertEqual(eq.events[0].evt, "key") self.assertEqual(eq.events[0].data, "\033")