def test_ensure_width(monkeypatch): screen = HistoryScreen(5, 5, history=50) screen.set_mode(mo.LNM) monkeypatch.setattr(Stream, "escape", dict(N="next_page", P="prev_page", **Stream.escape)) stream = Stream() stream.attach(screen) for idx in range(len(screen.buffer) * 5): for ch in str(idx) + os.linesep: stream.feed(ch) assert screen.display == ["21 ", "22 ", "23 ", "24 ", " "] # a) shrinking the screen, expecting the lines displayed to # be truncated. screen.resize(5, 2) stream.feed(ctrl.ESC + "P") assert all(len(l) != 2 for l in screen.history.top) assert all(len(l) == 2 for l in screen.history.bottom) assert screen.display == ["18", "19", "20", "21", "22"] # b) expading the screen, expecting the lines displayed to # be filled with whitespace characters. screen.resize(5, 10) stream.feed(ctrl.ESC + "N") assert all(len(l) == 10 for l in list(screen.history.top)[-3:]) assert all(len(l) != 10 for l in screen.history.bottom) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ]
def test_ensure_width(): screen = HistoryScreen(5, 5, history=50) screen.set_mode(mo.LNM) stream = Stream() stream.attach(screen) stream.escape["N"] = "next_page" stream.escape["P"] = "prev_page" for idx in range(len(screen) * 5): for ch in str(idx) + os.linesep: stream.feed(ch) assert screen.display == ["21 ", "22 ", "23 ", "24 ", " "] # a) shrinking the screen, expecting the lines displayed to # be truncated. screen.resize(5, 2) stream.feed(ctrl.ESC + "P") assert all(len(l) is not 2 for l in screen.history.top) assert all(len(l) is 2 for l in screen.history.bottom) assert screen.display == ["18", "19", "20", "21", "22"] # b) expading the screen, expecting the lines displayed to # be filled with whitespace characters. screen.resize(5, 10) stream.feed(ctrl.ESC + "N") assert all(len(l) is 10 for l in list(screen.history.top)[-3:]) assert all(len(l) is not 10 for l in screen.history.bottom) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ]
def test_ensure_width(monkeypatch): screen = HistoryScreen(5, 5, history=50) screen.set_mode(mo.LNM) monkeypatch.setattr(Stream, "escape", dict(N="next_page", P="prev_page", **Stream.escape)) stream = Stream() stream.attach(screen) for idx in range(len(screen.buffer) * 5): for ch in str(idx) + os.linesep: stream.feed(ch) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ] # a) shrinking the screen, expecting the lines displayed to # be truncated. screen.resize(5, 2) stream.feed(ctrl.ESC + "P") assert all(len(l) != 2 for l in screen.history.top) assert all(len(l) == 2 for l in screen.history.bottom) assert screen.display == [ "18", "19", "20", "21", "22" ] # b) expading the screen, expecting the lines displayed to # be filled with whitespace characters. screen.resize(5, 10) stream.feed(ctrl.ESC + "N") assert all(len(l) == 10 for l in list(screen.history.top)[-3:]) assert all(len(l) != 10 for l in screen.history.bottom) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ]
def test_ensure_width(): screen = HistoryScreen(5, 5, history=50) screen.set_mode(mo.LNM) stream = Stream() stream.attach(screen) stream.escape["N"] = "next_page" stream.escape["P"] = "prev_page" for idx in range(len(screen) * 5): for ch in str(idx) + os.linesep: stream.feed(ch) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ] # a) shrinking the screen, expecting the lines displayed to # be truncated. screen.resize(5, 2) stream.feed(ctrl.ESC + "P") assert all(len(l) is not 2 for l in screen.history.top) assert all(len(l) is 2 for l in screen.history.bottom) assert screen.display == [ "18", "19", "20", "21", "22" ] # b) expading the screen, expecting the lines displayed to # be filled with whitespace characters. screen.resize(5, 10) stream.feed(ctrl.ESC + "N") assert all(len(l) is 10 for l in list(screen.history.top)[-3:]) assert all(len(l) is not 10 for l in screen.history.bottom) assert screen.display == [ "21 ", "22 ", "23 ", "24 ", " " ]