Add more tests for pagerhist

This commit is contained in:
Kovid Goyal
2020-09-22 09:05:40 +05:30
parent 987b41d2cb
commit fdaf857885
2 changed files with 32 additions and 6 deletions

View File

@@ -477,6 +477,9 @@ class TestScreen(BaseTest):
def line(i):
q.append('\x1b[m' + f'{i}' * s.columns + '\r')
def w(x):
s.historybuf.pagerhist_write(x)
def test():
expected = ''.join(q)
maxlen = hsz
@@ -497,6 +500,21 @@ class TestScreen(BaseTest):
s.draw('8' * s.columns), line(4), test()
s.draw('9' * s.columns), line(5), test()
s = self.create_screen(options={'scrollback_pager_history_size': 2048})
text = '\x1b[msoft\r\x1b[mbreak\nnext😼cat'
w(text)
self.ae(contents(), text + '\n')
s.historybuf.pagerhist_rewrap(2)
self.ae(contents(), '\x1b[mso\rft\x1b[m\rbr\rea\rk\nne\rxt\r😼\rca\rt\n')
s = self.create_screen(options={'scrollback_pager_history_size': 8})
w('😼')
self.ae(contents(), '😼\n')
w('abcd')
self.ae(contents(), '😼abcd\n')
w('e')
self.ae(contents(), 'abcde\n')
def test_user_marking(self):
def cells(*a, y=0, mark=3):