| Server IP : 3.7.136.76 / Your IP : 216.73.216.142 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-39-148 7.0.0-1010-aws #10~24.04.1-Ubuntu SMP PREEMPT Mon Jul 27 17:41:33 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /snap/core22/2955/usr/lib/python3/dist-packages/urwid/tests/ |
Upload File : |
#!/usr/bin/python
# -*- coding: utf-8 -*-
""" Tests covering escape sequences processing """
import unittest
import urwid.escape
class InputEscapeSequenceParserTest(unittest.TestCase):
""" Tests for parser of input escape sequences """
def test_bare_escape(self):
codes = [27]
expected = ['esc']
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
def test_meta(self):
codes = [27, ord('4'), ord('2')]
expected = ['meta 4']
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([ord('2')], rest)
def test_shift_arrows(self):
codes = [27, ord('['), ord('a')]
expected = ['shift up']
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
def test_ctrl_pgup(self):
codes = [27, 91, 53, 59, 53, 126]
expected = ['ctrl page up']
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
def test_esc_meta_1(self):
codes = [27, 27, 49]
expected = ['esc', 'meta 1']
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
def test_midsequence(self):
# '[11~' is F1, '[12~' is F2, etc
codes = [27, ord('['), ord('1')]
with self.assertRaises(urwid.escape.MoreInputRequired):
urwid.escape.process_keyqueue(codes, more_available=True)
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(['meta ['], actual)
self.assertListEqual([ord('1')], rest)
def test_mouse_press(self):
codes = [27, 91, 77, 32, 41, 48]
expected = [('mouse press', 1.0, 8, 15)]
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
def test_bug_104(self):
""" GH #104: click-Esc & Esc-click crashes urwid apps """
codes = [27, 27, 91, 77, 32, 127, 59]
expected = ['esc', ('mouse press', 1.0, 94, 26)]
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)
codes = [27, 27, 91, 77, 35, 120, 59]
expected = ['esc', ('mouse release', 0, 87, 26)]
actual, rest = urwid.escape.process_keyqueue(codes, more_available=False)
self.assertListEqual(expected, actual)
self.assertListEqual([], rest)