More tests for multicell selections

This commit is contained in:
Kovid Goyal
2025-01-11 05:40:37 +05:30
parent da1626090a
commit 2423c2166e
5 changed files with 32 additions and 8 deletions

View File

@@ -630,18 +630,35 @@ def test_multicell(self: TestMulticell) -> None:
ss(p(), p(x=1, in_left_half_of_cell=False))
asl((0, 0, 2))
ast('ab')
asa(f'a\x1b]{TEXT_SIZE_CODE};w=2;b\x07', '\x1b[m')
ss(p(x=2), p(x=3, in_left_half_of_cell=False))
asl((0, 1, 3))
ast('bc')
asa(f'\x1b]{TEXT_SIZE_CODE};w=2;b\x07c', '\x1b[m')
s.reset()
s.draw('a'), multicell(s, 'b', scale=2), s.draw('c'), multicell(s, 'd', scale=2)
ss(p(), p(x=4, in_left_half_of_cell=False))
asl((0, 0, 5), (1, 1, 2), (1, 4, 5))
ast('abcd')
asa(f'a\x1b]{TEXT_SIZE_CODE};w=1:s=2;b\x07c\x1b]{TEXT_SIZE_CODE};w=1:s=2;d\x07', '\x1b[m')
ss(p(y=1, x=1), p(y=1, x=1, in_left_half_of_cell=False))
asl((0, 1, 2), (1, 1, 2))
ast('b')
asa(f'\x1b]{TEXT_SIZE_CODE};w=1:s=2;b\x07', '\x1b[m')
ss(p(y=1, x=0), p(y=1, x=1, in_left_half_of_cell=False)) # empty leading cell before multiline on y=1
asl((0, 1, 2), (1, 0, 2))
ast(' b')
asa(f' \x1b]{TEXT_SIZE_CODE};w=1:s=2;b\x07', '\x1b[m')
s.reset()
multicell(s, 'X', scale=2), s.draw('123456abcd')
for x in (0, 1, 2):
ss(p(x=x), p(x=3, y=1, in_left_half_of_cell=False))
asl((0, 0, 7), (1, 0, 3))
ast('X123456', 'ab')
asa(f'\x1b]{TEXT_SIZE_CODE};w=1:s=2;X\x07123456', 'ab', '\x1b[m')
ss(p(y=1), p(y=1, x=3, in_left_half_of_cell=False))
asl((0, 0, 1), (1, 0, 3))
ast('Xab')
asa(f'\x1b]{TEXT_SIZE_CODE};w=1:s=2;X\x07ab', '\x1b[m')