mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-20 23:44:59 +02:00
More work on the screen replacement
The first set of tests now pass
This commit is contained in:
@@ -33,8 +33,8 @@ class BaseTest(TestCase):
|
||||
def create_screen(self, cols=5, lines=5, history_size=5):
|
||||
return S(history_size, columns=cols, lines=lines)
|
||||
|
||||
def create_screen2(self, cols=5, lines=5, history_size=5):
|
||||
return Screen(history_size, None, lines, cols)
|
||||
def create_screen2(self, cols=5, lines=5):
|
||||
return Screen(None, lines, cols)
|
||||
|
||||
def assertEqualAttributes(self, c1, c2):
|
||||
x1, y1, c1.x, c1.y = c1.x, c1.y, 0, 0
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
|
||||
from . import BaseTest
|
||||
|
||||
from kitty.screen import mo
|
||||
from kitty.fast_data_types import DECAWM, IRM
|
||||
|
||||
|
||||
class TestScreen(BaseTest):
|
||||
|
||||
def test_draw_fast(self):
|
||||
s = self.create_screen2()
|
||||
|
||||
# Test in line-wrap, non-insert mode
|
||||
s = self.create_screen()
|
||||
s.draw(b'a' * 5)
|
||||
self.ae(str(s.line(0)), 'a' * 5)
|
||||
self.ae(s.cursor.x, 5), self.ae(s.cursor.y, 0)
|
||||
@@ -30,7 +31,7 @@ class TestScreen(BaseTest):
|
||||
|
||||
# Now test without line-wrap
|
||||
s.reset(), s.reset_dirty()
|
||||
s.reset_mode(mo.DECAWM)
|
||||
s.reset_mode(DECAWM)
|
||||
s.draw(b'0123456789')
|
||||
self.ae(str(s.line(0)), '01239')
|
||||
self.ae(s.cursor.x, 5), self.ae(s.cursor.y, 0)
|
||||
@@ -42,7 +43,7 @@ class TestScreen(BaseTest):
|
||||
|
||||
# Now test in insert mode
|
||||
s.reset(), s.reset_dirty()
|
||||
s.set_mode(mo.IRM)
|
||||
s.set_mode(IRM)
|
||||
s.draw(b'12345' * 5)
|
||||
s.cursor_back(5)
|
||||
self.ae(s.cursor.x, 0), self.ae(s.cursor.y, 4)
|
||||
@@ -79,7 +80,7 @@ class TestScreen(BaseTest):
|
||||
|
||||
# Now test without line-wrap
|
||||
s.reset(), s.reset_dirty()
|
||||
s.reset_mode(mo.DECAWM)
|
||||
s.reset_mode(DECAWM)
|
||||
s.draw('0\u030612345\u03066789\u0306'.encode('utf-8'))
|
||||
self.ae(str(s.line(0)), '0\u03061239\u0306')
|
||||
self.ae(s.cursor.x, 5), self.ae(s.cursor.y, 0)
|
||||
@@ -91,7 +92,7 @@ class TestScreen(BaseTest):
|
||||
|
||||
# Now test in insert mode
|
||||
s.reset(), s.reset_dirty()
|
||||
s.set_mode(mo.IRM)
|
||||
s.set_mode(IRM)
|
||||
s.draw('1\u03062345'.encode('utf-8') * 5)
|
||||
s.cursor_back(5)
|
||||
self.ae(s.cursor.x, 0), self.ae(s.cursor.y, 4)
|
||||
|
||||
Reference in New Issue
Block a user