mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-24 09:18:08 +02:00
Fix #8103
This commit is contained in:
@@ -657,6 +657,7 @@ class TestScreen(BaseTest):
|
||||
self.ae(s.text_for_selection(), ('abc ', 'xy'))
|
||||
self.ae(s.text_for_selection(True), ('a\x1b[32mb\x1b[39mc ', 'xy', '\x1b[m'))
|
||||
self.ae(s.text_for_selection(True, True), ('a\x1b[32mb\x1b[39mc', 'xy', '\x1b[m'))
|
||||
# ]]]]]]]]]]]]]]]]]]]]
|
||||
|
||||
def test_soft_hyphen(self):
|
||||
s = self.create_screen()
|
||||
@@ -668,17 +669,24 @@ class TestScreen(BaseTest):
|
||||
|
||||
def test_variation_selectors(self):
|
||||
s = self.create_screen()
|
||||
s.draw('\U0001f610')
|
||||
self.ae(s.cursor.x, 2)
|
||||
s.carriage_return(), s.linefeed()
|
||||
s.draw('\U0001f610\ufe0e')
|
||||
self.ae(s.cursor.x, 1)
|
||||
s.carriage_return(), s.linefeed()
|
||||
s.draw('\u25b6')
|
||||
self.ae(s.cursor.x, 1)
|
||||
s.carriage_return(), s.linefeed()
|
||||
s.draw('\u25b6\ufe0f')
|
||||
self.ae(s.cursor.x, 2)
|
||||
def t(*a):
|
||||
s.reset()
|
||||
for i in range(0, len(a), 2):
|
||||
char, x = a[i], a[i+1]
|
||||
s.draw(char)
|
||||
self.ae(s.cursor.x, x, f'after char: {char!r}')
|
||||
# already wide + VS15
|
||||
t('\U0001f610', 2, '\ufe0e', 1, '\ufe0e', 1)
|
||||
t('\U0001f610\ufe0e', 1, '\ufe0e', 1)
|
||||
# narrow + VS16
|
||||
t('\u25b6', 1, '\ufe0f', 2)
|
||||
t('\u25b6\ufe0f', 2)
|
||||
# wide + VS16
|
||||
t('\u26d4\ufe0f', 2, '\ufe0f', 2)
|
||||
t('\u26d4', 2, '\ufe0f', 2)
|
||||
# narrow + VS15
|
||||
t('\u25b6', 1, '\ufe0e', 1)
|
||||
t('\u25b6\ufe0e', 1)
|
||||
|
||||
def test_writing_with_cursor_on_trailer_of_wide_character(self):
|
||||
s = self.create_screen()
|
||||
|
||||
Reference in New Issue
Block a user