diff --git a/terminal-emulator/src/test/java/com/termux/terminal/ByteQueueTest.java b/terminal-emulator/src/test/java/com/termux/terminal/ByteQueueTest.java index 1eb0278b..44a605bd 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/ByteQueueTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/ByteQueueTest.java @@ -17,13 +17,13 @@ public class ByteQueueTest extends TestCase { public void testCompleteWrites() throws Exception { ByteQueue q = new ByteQueue(10); - assertTrue(q.write(new byte[]{1, 2, 3}, 0, 3)); + assertTrue(q.write(new byte[]{1, 2, 3}, 0, 3)); byte[] arr = new byte[10]; assertEquals(3, q.read(arr, true)); assertArrayEquals(new byte[]{1, 2, 3}, new byte[]{arr[0], arr[1], arr[2]}); - assertTrue(q.write(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 0, 10)); + assertTrue(q.write(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 0, 10)); assertEquals(10, q.read(arr, true)); assertArrayEquals(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, arr); } @@ -43,7 +43,7 @@ public class ByteQueueTest extends TestCase { public void testWriteNotesClosing() throws Exception { ByteQueue q = new ByteQueue(10); q.close(); - assertFalse(q.write(new byte[]{1, 2, 3}, 0, 3)); + assertFalse(q.write(new byte[]{1, 2, 3}, 0, 3)); } public void testReadNonBlocking() throws Exception { diff --git a/terminal-emulator/src/test/java/com/termux/terminal/ControlSequenceIntroducerTest.java b/terminal-emulator/src/test/java/com/termux/terminal/ControlSequenceIntroducerTest.java index 62e898c0..5a12edd7 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/ControlSequenceIntroducerTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/ControlSequenceIntroducerTest.java @@ -35,31 +35,31 @@ public class ControlSequenceIntroducerTest extends TerminalTestCase { withTerminalSized(3, 2).enterString("\033[0;38;2;255;255;255;48;2;0;0;0;1;2;3;4;5;7;8;9mabc").assertLinesAre("abc", " "); } - /** CSI Ps b Repeat the preceding graphic character Ps times (REP). */ - public void testRepeat() { - withTerminalSized(3, 2).enterString("a\033[b").assertLinesAre("aa ", " "); - withTerminalSized(3, 2).enterString("a\033[2b").assertLinesAre("aaa", " "); - // When no char has been output we ignore REP: - withTerminalSized(3, 2).enterString("\033[b").assertLinesAre(" ", " "); - // This shows that REP outputs the last emitted code point and not the one relative to the - // current cursor position: - withTerminalSized(5, 2).enterString("abcde\033[2G\033[2b\n").assertLinesAre("aeede", " "); - } + /** CSI Ps b Repeat the preceding graphic character Ps times (REP). */ + public void testRepeat() { + withTerminalSized(3, 2).enterString("a\033[b").assertLinesAre("aa ", " "); + withTerminalSized(3, 2).enterString("a\033[2b").assertLinesAre("aaa", " "); + // When no char has been output we ignore REP: + withTerminalSized(3, 2).enterString("\033[b").assertLinesAre(" ", " "); + // This shows that REP outputs the last emitted code point and not the one relative to the + // current cursor position: + withTerminalSized(5, 2).enterString("abcde\033[2G\033[2b\n").assertLinesAre("aeede", " "); + } - /** CSI 3 J Clear scrollback (xterm, libvte; non-standard). */ - public void testCsi3J() { - withTerminalSized(3, 2).enterString("a\r\nb\r\nc\r\nd"); - assertEquals("a\nb\nc\nd", mTerminal.getScreen().getTranscriptText()); - enterString("\033[3J"); - assertEquals("c\nd", mTerminal.getScreen().getTranscriptText()); + /** CSI 3 J Clear scrollback (xterm, libvte; non-standard). */ + public void testCsi3J() { + withTerminalSized(3, 2).enterString("a\r\nb\r\nc\r\nd"); + assertEquals("a\nb\nc\nd", mTerminal.getScreen().getTranscriptText()); + enterString("\033[3J"); + assertEquals("c\nd", mTerminal.getScreen().getTranscriptText()); - withTerminalSized(3, 2).enterString("Lorem_ipsum"); - assertEquals("Lorem_ipsum", mTerminal.getScreen().getTranscriptText()); - enterString("\033[3J"); - assertEquals("ipsum", mTerminal.getScreen().getTranscriptText()); + withTerminalSized(3, 2).enterString("Lorem_ipsum"); + assertEquals("Lorem_ipsum", mTerminal.getScreen().getTranscriptText()); + enterString("\033[3J"); + assertEquals("ipsum", mTerminal.getScreen().getTranscriptText()); - withTerminalSized(3, 2).enterString("w\r\nx\r\ny\r\nz\033[?1049h\033[3J\033[?1049l"); - assertEquals("y\nz", mTerminal.getScreen().getTranscriptText()); - } + withTerminalSized(3, 2).enterString("w\r\nx\r\ny\r\nz\033[?1049h\033[3J\033[?1049l"); + assertEquals("y\nz", mTerminal.getScreen().getTranscriptText()); + } } diff --git a/terminal-emulator/src/test/java/com/termux/terminal/CursorAndScreenTest.java b/terminal-emulator/src/test/java/com/termux/terminal/CursorAndScreenTest.java index 121cb223..8a65e66d 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/CursorAndScreenTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/CursorAndScreenTest.java @@ -18,7 +18,7 @@ public class CursorAndScreenTest extends TerminalTestCase { assertLinesAre("ABCDE", "FGHIJ", "KLMNO", "PQRST", "UVWXY"); for (int row = 0; row < 5; row++) { for (int col = 0; col < 5; col++) { - long s = getStyleAt(row, col); + long s = getStyleAt(row, col); Assert.assertEquals(col, TextStyle.decodeForeColor(s)); Assert.assertEquals(row, TextStyle.decodeBackColor(s)); } @@ -43,7 +43,7 @@ public class CursorAndScreenTest extends TerminalTestCase { for (int col = 0; col < 5; col++) { int wantedForeground = (row == 1 || row == 2) ? 98 : col; int wantedBackground = (row == 1 || row == 2) ? 99 : (row == 0 ? 2 : row); - long s = getStyleAt(row, col); + long s = getStyleAt(row, col); Assert.assertEquals(wantedForeground, TextStyle.decodeForeColor(s)); Assert.assertEquals(wantedBackground, TextStyle.decodeBackColor(s)); } @@ -159,11 +159,11 @@ public class CursorAndScreenTest extends TerminalTestCase { } } - /** - * See comments on horizontal tab handling in TerminalEmulator.java. - * - * We do not want to color already written cells when tabbing over them. - */ + /** + * See comments on horizontal tab handling in TerminalEmulator.java. + *
+ * We do not want to color already written cells when tabbing over them. + */ public void DISABLED_testHorizontalTabColorsBackground() { withTerminalSized(10, 3).enterString("\033[48;5;15m").enterString("\t"); assertCursorAt(0, 8); @@ -214,14 +214,14 @@ public class CursorAndScreenTest extends TerminalTestCase { " -"); } - public void testBackspaceAcrossWrappedLines() { - // Backspace should not go to previous line if not auto-wrapped: - withTerminalSized(3, 3).enterString("hi\r\n\b\byou").assertLinesAre("hi ", "you", " "); - // Backspace should go to previous line if auto-wrapped: - withTerminalSized(3, 3).enterString("hi y").assertLinesAre("hi ", "y ", " ").enterString("\b\b#").assertLinesAre("hi#", "y ", " "); - // Initial backspace should do nothing: - withTerminalSized(3, 3).enterString("\b\b\b\bhi").assertLinesAre("hi ", " ", " "); - } + public void testBackspaceAcrossWrappedLines() { + // Backspace should not go to previous line if not auto-wrapped: + withTerminalSized(3, 3).enterString("hi\r\n\b\byou").assertLinesAre("hi ", "you", " "); + // Backspace should go to previous line if auto-wrapped: + withTerminalSized(3, 3).enterString("hi y").assertLinesAre("hi ", "y ", " ").enterString("\b\b#").assertLinesAre("hi#", "y ", " "); + // Initial backspace should do nothing: + withTerminalSized(3, 3).enterString("\b\b\b\bhi").assertLinesAre("hi ", " ", " "); + } public void testCursorSaveRestoreLocation() { // DEC save/restore diff --git a/terminal-emulator/src/test/java/com/termux/terminal/KeyHandlerTest.java b/terminal-emulator/src/test/java/com/termux/terminal/KeyHandlerTest.java index 9e3ee026..0826c7fc 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/KeyHandlerTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/KeyHandlerTest.java @@ -174,18 +174,18 @@ public class KeyHandlerTest extends TestCase { assertKeysEquals("\033[23;2~", KeyHandler.getCode(KeyEvent.KEYCODE_F11, KeyHandler.KEYMOD_SHIFT, false, false)); assertKeysEquals("\033[24;2~", KeyHandler.getCode(KeyEvent.KEYCODE_F12, KeyHandler.KEYMOD_SHIFT, false, false)); - assertKeysEquals("0", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_0, 0, false, false)); - assertKeysEquals("1", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_1, 0, false, false)); - assertKeysEquals("2", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_2, 0, false, false)); - assertKeysEquals("3", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_3, 0, false, false)); - assertKeysEquals("4", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_4, 0, false, false)); - assertKeysEquals("5", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_5, 0, false, false)); - assertKeysEquals("6", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_6, 0, false, false)); - assertKeysEquals("7", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_7, 0, false, false)); - assertKeysEquals("8", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_8, 0, false, false)); - assertKeysEquals("9", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_9, 0, false, false)); - assertKeysEquals(",", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_COMMA, 0, false, false)); - assertKeysEquals(".", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_DOT, 0, false, false)); - } + assertKeysEquals("0", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_0, 0, false, false)); + assertKeysEquals("1", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_1, 0, false, false)); + assertKeysEquals("2", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_2, 0, false, false)); + assertKeysEquals("3", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_3, 0, false, false)); + assertKeysEquals("4", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_4, 0, false, false)); + assertKeysEquals("5", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_5, 0, false, false)); + assertKeysEquals("6", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_6, 0, false, false)); + assertKeysEquals("7", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_7, 0, false, false)); + assertKeysEquals("8", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_8, 0, false, false)); + assertKeysEquals("9", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_9, 0, false, false)); + assertKeysEquals(",", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_COMMA, 0, false, false)); + assertKeysEquals(".", KeyHandler.getCode(KeyEvent.KEYCODE_NUMPAD_DOT, 0, false, false)); + } } diff --git a/terminal-emulator/src/test/java/com/termux/terminal/ResizeTest.java b/terminal-emulator/src/test/java/com/termux/terminal/ResizeTest.java index d0251da8..fa4a7024 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/ResizeTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/ResizeTest.java @@ -93,7 +93,7 @@ public class ResizeTest extends TerminalTestCase { enterString("\033[2J"); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { - long style = getStyleAt(r, c); + long style = getStyleAt(r, c); assertEquals(119, TextStyle.decodeForeColor(style)); assertEquals(129, TextStyle.decodeBackColor(style)); } @@ -105,7 +105,7 @@ public class ResizeTest extends TerminalTestCase { // After resize, screen should still be same color: for (int r = 0; r < rows - 2; r++) { for (int c = 0; c < cols; c++) { - long style = getStyleAt(r, c); + long style = getStyleAt(r, c); assertEquals(119, TextStyle.decodeForeColor(style)); assertEquals(129, TextStyle.decodeBackColor(style)); } diff --git a/terminal-emulator/src/test/java/com/termux/terminal/ScrollRegionTest.java b/terminal-emulator/src/test/java/com/termux/terminal/ScrollRegionTest.java index bbb5e7ac..cc01c045 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/ScrollRegionTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/ScrollRegionTest.java @@ -107,24 +107,24 @@ public class ScrollRegionTest extends TerminalTestCase { assertLinesAre("1 ", "2 ", "3 ", "QQ", "YY"); } - /** See https://github.com/termux/termux-app/issues/1340 */ - public void testScrollRegionDoesNotLimitCursorMovement() { - withTerminalSized(6, 4) - .enterString("\033[4;7r\033[3;1Haaa\033[Axxx") - .assertLinesAre( - " ", - " xxx", - "aaa ", - " " - ); + /** See https://github.com/termux/termux-app/issues/1340 */ + public void testScrollRegionDoesNotLimitCursorMovement() { + withTerminalSized(6, 4) + .enterString("\033[4;7r\033[3;1Haaa\033[Axxx") + .assertLinesAre( + " ", + " xxx", + "aaa ", + " " + ); - withTerminalSized(6, 4) - .enterString("\033[1;3r\033[3;1Haaa\033[Bxxx") - .assertLinesAre( - " ", - " ", - "aaa ", - " xxx" - ); - } + withTerminalSized(6, 4) + .enterString("\033[1;3r\033[3;1Haaa\033[Bxxx") + .assertLinesAre( + " ", + " ", + "aaa ", + " xxx" + ); + } } diff --git a/terminal-emulator/src/test/java/com/termux/terminal/TerminalTest.java b/terminal-emulator/src/test/java/com/termux/terminal/TerminalTest.java index 8c114979..af63fda1 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/TerminalTest.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/TerminalTest.java @@ -159,7 +159,7 @@ public class TerminalTest extends TerminalTestCase { assertEquals(119, mTerminal.mForeColor); assertEquals(129, mTerminal.mBackColor); - // Invalid parameter: + // Invalid parameter: enterString("\033[48;8;129m"); assertEquals(119, mTerminal.mForeColor); assertEquals(129, mTerminal.mBackColor); @@ -169,30 +169,30 @@ public class TerminalTest extends TerminalTestCase { assertEquals(178, mTerminal.mForeColor); assertEquals(179, mTerminal.mBackColor); - // 24 bit colors: - enterString(("\033[0m")); // Reset fg and bg colors. - enterString("\033[38;2;255;127;2m"); - int expectedForeground = 0xff000000 | (255 << 16) | (127 << 8) | 2; - assertEquals(expectedForeground, mTerminal.mForeColor); - assertEquals(TextStyle.COLOR_INDEX_BACKGROUND, mTerminal.mBackColor); - enterString("\033[48;2;1;2;254m"); - int expectedBackground = 0xff000000 | (1 << 16) | (2 << 8) | 254; - assertEquals(expectedForeground, mTerminal.mForeColor); - assertEquals(expectedBackground, mTerminal.mBackColor); + // 24 bit colors: + enterString(("\033[0m")); // Reset fg and bg colors. + enterString("\033[38;2;255;127;2m"); + int expectedForeground = 0xff000000 | (255 << 16) | (127 << 8) | 2; + assertEquals(expectedForeground, mTerminal.mForeColor); + assertEquals(TextStyle.COLOR_INDEX_BACKGROUND, mTerminal.mBackColor); + enterString("\033[48;2;1;2;254m"); + int expectedBackground = 0xff000000 | (1 << 16) | (2 << 8) | 254; + assertEquals(expectedForeground, mTerminal.mForeColor); + assertEquals(expectedBackground, mTerminal.mBackColor); - // 24 bit colors, set fg and bg at once: - enterString(("\033[0m")); // Reset fg and bg colors. - assertEquals(TextStyle.COLOR_INDEX_FOREGROUND, mTerminal.mForeColor); - assertEquals(TextStyle.COLOR_INDEX_BACKGROUND, mTerminal.mBackColor); - enterString("\033[38;2;255;127;2;48;2;1;2;254m"); - assertEquals(expectedForeground, mTerminal.mForeColor); - assertEquals(expectedBackground, mTerminal.mBackColor); + // 24 bit colors, set fg and bg at once: + enterString(("\033[0m")); // Reset fg and bg colors. + assertEquals(TextStyle.COLOR_INDEX_FOREGROUND, mTerminal.mForeColor); + assertEquals(TextStyle.COLOR_INDEX_BACKGROUND, mTerminal.mBackColor); + enterString("\033[38;2;255;127;2;48;2;1;2;254m"); + assertEquals(expectedForeground, mTerminal.mForeColor); + assertEquals(expectedBackground, mTerminal.mBackColor); - // 24 bit colors, invalid input: - enterString("\033[38;2;300;127;2;48;2;1;300;254m"); - assertEquals(expectedForeground, mTerminal.mForeColor); - assertEquals(expectedBackground, mTerminal.mBackColor); - } + // 24 bit colors, invalid input: + enterString("\033[38;2;300;127;2;48;2;1;300;254m"); + assertEquals(expectedForeground, mTerminal.mForeColor); + assertEquals(expectedBackground, mTerminal.mBackColor); + } public void testBackgroundColorErase() { final int rows = 3; @@ -200,7 +200,7 @@ public class TerminalTest extends TerminalTestCase { withTerminalSized(cols, rows); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { - long style = getStyleAt(r, c); + long style = getStyleAt(r, c); assertEquals(TextStyle.COLOR_INDEX_FOREGROUND, TextStyle.decodeForeColor(style)); assertEquals(TextStyle.COLOR_INDEX_BACKGROUND, TextStyle.decodeBackColor(style)); } @@ -213,7 +213,7 @@ public class TerminalTest extends TerminalTestCase { enterString("\033[2J"); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { - long style = getStyleAt(r, c); + long style = getStyleAt(r, c); assertEquals(119, TextStyle.decodeForeColor(style)); assertEquals(129, TextStyle.decodeBackColor(style)); } @@ -224,7 +224,7 @@ public class TerminalTest extends TerminalTestCase { enterString("\033[2L"); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { - long style = getStyleAt(r, c); + long style = getStyleAt(r, c); assertEquals((r == 0 || r == 1) ? 139 : 129, TextStyle.decodeBackColor(style)); } } @@ -289,9 +289,9 @@ public class TerminalTest extends TerminalTestCase { withTerminalSized(3, 3).enterString("abc\r ").assertLinesAre(" bc", " ", " ").assertCursorAt(0, 1); } - public void testTab() { - withTerminalSized(11, 2).enterString("01234567890\r\tXX").assertLinesAre("01234567XX0", " "); - withTerminalSized(11, 2).enterString("01234567890\033[44m\r\tXX").assertLinesAre("01234567XX0", " "); - } + public void testTab() { + withTerminalSized(11, 2).enterString("01234567890\r\tXX").assertLinesAre("01234567XX0", " "); + withTerminalSized(11, 2).enterString("01234567890\033[44m\r\tXX").assertLinesAre("01234567XX0", " "); + } } diff --git a/terminal-emulator/src/test/java/com/termux/terminal/TerminalTestCase.java b/terminal-emulator/src/test/java/com/termux/terminal/TerminalTestCase.java index 12c8befe..5e5bde92 100644 --- a/terminal-emulator/src/test/java/com/termux/terminal/TerminalTestCase.java +++ b/terminal-emulator/src/test/java/com/termux/terminal/TerminalTestCase.java @@ -18,7 +18,7 @@ public abstract class TerminalTestCase extends TestCase { public final List