def test_modes(): # Making sure `DECSCNM` triggers a screen to be fully re-drawn. screen = DiffScreen(80, 24) screen.dirty.clear() screen.set_mode(mo.DECSCNM >> 5, private=True) assert screen.dirty == set(range(screen.lines)) screen.dirty.clear() screen.reset_mode(mo.DECSCNM >> 5, private=True) assert screen.dirty == set(range(screen.lines))
def test_draw_wrap(): screen = DiffScreen(80, 24) screen.set_mode(mo.DECAWM) # fill every character cell on the first row for _ in range(80): screen.draw(b"g") assert screen.cursor.y == 0 screen.dirty.clear() # now write one more character which should cause wrapping screen.draw(b"h") assert screen.cursor.y == 1 # regression test issue #36 where the wrong line was marked as # dirty assert screen.dirty == set([1])
def test_draw_wrap(): screen = DiffScreen(80, 24) screen.set_mode(mo.DECAWM) # fill every character cell on the first row for _ in range(80): screen.draw("g") assert screen.cursor.y == 0 screen.dirty.clear() # now write one more character which should cause wrapping screen.draw("h") assert screen.cursor.y == 1 # regression test issue #36 where the wrong line was marked as # dirty assert screen.dirty == set([1])