package com.termux.terminal; public class HistoryTest extends TerminalTestCase { public void testHistory() { final int rows = 3; final int cols = 3; withTerminalSized(cols, rows).enterString("111222333444555666777888999"); assertCursorAt(2, 2); assertLinesAre("777", "888", "999"); assertHistoryStartsWith("666", "555"); mTerminal.resize(cols, 2); assertHistoryStartsWith("777", "666", "555"); mTerminal.resize(cols, 3); assertHistoryStartsWith("666", "555"); } public void testHistoryWithScrollRegion() { // "CSI P_s ; P_s r" - set Scrolling Region [top;bottom] (default = full size of window) (DECSTBM). withTerminalSized(3, 4).enterString("111222333444"); assertLinesAre("111", "222", "333", "444"); enterString("\033[2;3r"); // NOTE: "DECSTBM moves the cursor to column 1, line 1 of the page." assertCursorAt(0, 0); enterString("\nCDEFGH").assertLinesAre("111", "CDE", "FGH", "444"); enterString("IJK").assertLinesAre("111", "FGH", "IJK", "444").assertHistoryStartsWith("CDE"); enterString("LMN").assertLinesAre("111", "IJK", "LMN", "444").assertHistoryStartsWith("FGH", "CDE"); } }