mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-16 21:45:03 +02:00
Implement progressive enhancement of key event reporting
This commit is contained in:
@@ -728,6 +728,49 @@ class TestScreen(BaseTest):
|
||||
self.ae(str(s.linebuf), '0\n5\n6\n7\n\n')
|
||||
self.ae(str(s.historybuf), '')
|
||||
|
||||
def test_key_encoding_flags_stack(self):
|
||||
s = self.create_screen()
|
||||
c = s.callbacks
|
||||
|
||||
def w(code, p1='', p2=''):
|
||||
p = f'{p1}'
|
||||
if p2:
|
||||
p += f';{p2}'
|
||||
return parse_bytes(s, f'\033[{code}{p}u'.encode('ascii'))
|
||||
|
||||
def ac(flags):
|
||||
parse_bytes(s, '\033[?u'.encode('ascii'))
|
||||
self.ae(c.wtcbuf, f'\033[?{flags}u'.encode('ascii'))
|
||||
c.clear()
|
||||
|
||||
ac(0)
|
||||
w('=', 0b1001)
|
||||
ac(0b1001)
|
||||
w('=', 0b0011, 2)
|
||||
ac(0b1011)
|
||||
w('=', 0b0110, 3)
|
||||
ac(0b1001)
|
||||
s.reset()
|
||||
ac(0)
|
||||
|
||||
w('>', 0b0011)
|
||||
ac(0b0011)
|
||||
w('=', 0b1111)
|
||||
ac(0b1111)
|
||||
w('>', 0b10)
|
||||
ac(0b10)
|
||||
w('<')
|
||||
ac(0b1111)
|
||||
for i in range(10):
|
||||
w('<')
|
||||
ac(0)
|
||||
s.reset()
|
||||
|
||||
for i in range(1, 16):
|
||||
w('>', i)
|
||||
ac(15)
|
||||
w('<'), ac(14), w('<'), ac(13)
|
||||
|
||||
def test_color_stack(self):
|
||||
s = self.create_screen()
|
||||
c = s.callbacks
|
||||
|
||||
Reference in New Issue
Block a user