diff options
| author | Aram Drevekenin <aram@poor.dev> | 2021-05-05 17:09:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-05 17:09:24 +0200 |
| commit | 837cb8d15ad2237af72080edad7ca0c3dbb8f3ae (patch) | |
| tree | e267d719f15c5bdb1dbcca76e92d837bab399e09 /src | |
| parent | chore(plugin): shuffle helper library names and versions (diff) | |
| download | sl0ppij-837cb8d15ad2237af72080edad7ca0c3dbb8f3ae.tar.gz sl0ppij-837cb8d15ad2237af72080edad7ca0c3dbb8f3ae.tar.xz sl0ppij-837cb8d15ad2237af72080edad7ca0c3dbb8f3ae.zip | |
fix(compatibility): pass vttest 8 (#461)
* fix(compatibility): pass vttest 8
* style(comment): remove unused
* style(grid): sometimes it's just easier to do what clippy wants...
Diffstat (limited to 'src')
14 files changed, 416 insertions, 1 deletions
diff --git a/src/client/panes/grid.rs b/src/client/panes/grid.rs index e0d460d2..e893fd32 100644 --- a/src/client/panes/grid.rs +++ b/src/client/panes/grid.rs @@ -178,6 +178,7 @@ pub struct Grid { pub should_render: bool, pub cursor_key_mode: bool, // DECCKM - when set, cursor keys should send ANSI direction codes (eg. "OD") instead of the arrow keys (eg. "[D") pub erasure_mode: bool, // ERM + pub insert_mode: bool, pub disable_linewrap: bool, pub clear_viewport_before_rendering: bool, pub width: usize, @@ -212,6 +213,7 @@ impl Grid { should_render: true, cursor_key_mode: false, erasure_mode: false, + insert_mode: false, disable_linewrap: false, alternative_lines_above_viewport_and_cursor: None, clear_viewport_before_rendering: false, @@ -606,7 +608,13 @@ impl Grid { } pub fn add_character_at_cursor_position(&mut self, terminal_character: TerminalCharacter) { match self.viewport.get_mut(self.cursor.y) { - Some(row) => row.add_character_at(terminal_character, self.cursor.x), + Some(row) => { + if self.insert_mode { + row.insert_character_at(terminal_character, self.cursor.x); + } else { + row.add_character_at(terminal_character, self.cursor.x); + } + } None => { // pad lines until cursor if they do not exist for _ in self.viewport.len()..self.cursor.y { @@ -1095,6 +1103,8 @@ impl vte::Perform for Grid { } _ => {} }; + } else if let Some(&4) = params.get(0) { + self.insert_mode = false; } } else if c == 'h' { let first_intermediate_is_questionmark = match _intermediates.get(0) { @@ -1138,6 +1148,8 @@ impl vte::Perform for Grid { } _ => {} }; + } else if let Some(&4) = params.get(0) { + self.insert_mode = true; } } else if c == 'r' { if params.len() > 1 { diff --git a/src/client/panes/unit/grid_tests.rs b/src/client/panes/unit/grid_tests.rs index f2de7d56..b590f404 100644 --- a/src/client/panes/unit/grid_tests.rs +++ b/src/client/panes/unit/grid_tests.rs @@ -275,3 +275,75 @@ fn vttest3_0() { } assert_snapshot!(format!("{:?}", grid)); } + +#[test] +fn vttest8_0() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-0"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest8_1() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-1"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest8_2() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-2"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest8_3() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-3"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest8_4() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-4"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest8_5() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(51, 97); + let fixture_name = "vttest8-5"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_0.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_0.snap new file mode 100644 index 00000000..97beab77 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_0.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +01 (C): Top line: A's, bottom line: X's, this line, nothing more. Push <RETURN> +02 (C): +03 (C): +04 (C): +05 (C): +06 (C): +07 (C): +08 (C): +09 (C): +10 (C): +11 (C): +12 (C): +13 (C): +14 (C): +15 (C): +16 (C): +17 (C): +18 (C): +19 (C): +20 (C): +21 (C): +22 (C): +23 (C): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_1.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_1.snap new file mode 100644 index 00000000..7490db07 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_1.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): A******************************************************************************BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +01 (C): +02 (C): +03 (C): Test of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN> +04 (C): +05 (C): +06 (C): +07 (C): +08 (C): +09 (C): +10 (C): +11 (C): +12 (C): +13 (C): +14 (C): +15 (C): +16 (C): +17 (C): +18 (C): +19 (C): +20 (C): +21 (C): +22 (C): +23 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_2.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_2.snap new file mode 100644 index 00000000..7d5a4c68 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_2.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +01 (C): +02 (C): +03 (C): Test of 'Delete Character'. The top line should be 'AB'. Push <RETURN> +04 (C): +05 (C): +06 (C): +07 (C): +08 (C): +09 (C): +10 (C): +11 (C): +12 (C): +13 (C): +14 (C): +15 (C): +16 (C): +17 (C): +18 (C): +19 (C): +20 (C): +21 (C): +22 (C): +23 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_3.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_3.snap new file mode 100644 index 00000000..3bfd896e --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_3.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +01 (C): BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +02 (C): CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +03 (C): The right column should be staggered DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD +04 (C): by one. Push <RETURN>EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +05 (C): FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +06 (C): GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG +07 (C): HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH +08 (C): IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +09 (C): JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ +10 (C): KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK +11 (C): LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL +12 (C): MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM +13 (C): NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +14 (C): OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO +15 (C): PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP +16 (C): QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ +17 (C): RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR +18 (C): SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +19 (C): TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT +20 (C): UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU +21 (C): VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV +22 (C): WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW +23 (C): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_4.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_4.snap new file mode 100644 index 00000000..8a7e8b35 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_4.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +01 (C): BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +02 (C): CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +03 (C): The right column should be staggered +04 (C): by one. Push <RETURN>EEEEEEEEEEEEE +05 (C): FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +06 (C): GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG +07 (C): HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH +08 (C): IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +09 (C): JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ +10 (C): KKKKKKKKKKKKKKKKKKKKKKKKKKKKK +11 (C): LLLLLLLLLLLLLLLLLLLLLLLLLLLL +12 (C): MMMMMMMMMMMMMMMMMMMMMMMMMMM +13 (C): NNNNNNNNNNNNNNNNNNNNNNNNNN +14 (C): OOOOOOOOOOOOOOOOOOOOOOOOO +15 (C): PPPPPPPPPPPPPPPPPPPPPPPP +16 (C): QQQQQQQQQQQQQQQQQQQQQQQ +17 (C): RRRRRRRRRRRRRRRRRRRRRR +18 (C): SSSSSSSSSSSSSSSSSSSSS +19 (C): TTTTTTTTTTTTTTTTTTTT +20 (C): UUUUUUUUUUUUUUUUUUU +21 (C): VVVVVVVVVVVVVVVVVV +22 (C): WWWWWWWWWWWWWWWWW +23 (C): XXXXXXXXXXXXXXXX + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_5.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_5.snap new file mode 100644 index 00000000..34354a91 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest8_5.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): If your terminal has the ANSI 'Insert Character' function +01 (C): (the VT102 does not), then you should see a line like this +02 (C): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +03 (C): below: +04 (C): +05 (C): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +06 (C): +07 (C): +08 (C): +09 (C): Push <RETURN> +10 (C): +11 (C): +12 (C): +13 (C): +14 (C): +15 (C): +16 (C): +17 (C): +18 (C): +19 (C): +20 (C): +21 (C): +22 (C): +23 (C): + diff --git a/src/tests/fixtures/vttest8-0 b/src/tests/fixtures/vttest8-0 new file mode 100644 index 00000000..7ec76f98 --- /dev/null +++ b/src/tests/fixtures/vttest8-0 @@ -0,0 +1,21 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:22:35(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:22:35(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:22:35(B[m
[89C
[30C[59C[38;2;85;85;85m16:22:35(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest8-1 b/src/tests/fixtures/vttest8-1 new file mode 100644 index 00000000..d8bd05e9 --- /dev/null +++ b/src/tests/fixtures/vttest8-1 @@ -0,0 +1,22 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:23:11(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:23:11(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:23:11(B[m
[89C
[30C[59C[38;2;85;85;85m16:23:11(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
+[2;1H[0J[1;2HB[1D[4h******************************************************************************[4l[4;1HTest of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest8-2 b/src/tests/fixtures/vttest8-2 new file mode 100644 index 00000000..d2fb8e29 --- /dev/null +++ b/src/tests/fixtures/vttest8-2 @@ -0,0 +1,23 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:23:46(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:23:46(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:23:46(B[m
[89C
[30C[59C[38;2;85;85;85m16:23:46(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
+[2;1H[0J[1;2HB[1D[4h******************************************************************************[4l[4;1HTest of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN>
+M[2K[1;2H[78P[4;1HTest of 'Delete Character'. The top line should be 'AB'. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest8-3 b/src/tests/fixtures/vttest8-3 new file mode 100644 index 00000000..5488a905 --- /dev/null +++ b/src/tests/fixtures/vttest8-3 @@ -0,0 +1,25 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:24:22(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:24:22(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:24:22(B[m
[89C
[30C[59C[38;2;85;85;85m16:24:22(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
+[2;1H[0J[1;2HB[1D[4h******************************************************************************[4l[4;1HTest of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN>
+M[2K[1;2H[78P[4;1HTest of 'Delete Character'. The top line should be 'AB'. Push <RETURN>
+[2J[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[1;79H[1P[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[2;78H[2P[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[3;77H[3P[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[4;76H[4P[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[5;75H[5P[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[6;74H[6P[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[7;73H[7P[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[8;72H[8P[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[9;71H[9P[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[10;70H[10P[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[11;69H[11P[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[12;68H[12P[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[13;67H[13P[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[14;66H[14P[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[15;65H[15P[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[16;64H[16P[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[17;63H[17P[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[18;62H[18P[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[19;61H[19P[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[20;60H[20P[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[21;59H[21P[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[22;58H[22P[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[23;57H[23P[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;56H[24P[4;1HThe right column should be staggered
+by one. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest8-4 b/src/tests/fixtures/vttest8-4 new file mode 100644 index 00000000..d1e4a60f --- /dev/null +++ b/src/tests/fixtures/vttest8-4 @@ -0,0 +1,27 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:25:04(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:25:04(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:25:04(B[m
[89C
[30C[59C[38;2;85;85;85m16:25:04(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
+[2;1H[0J[1;2HB[1D[4h******************************************************************************[4l[4;1HTest of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN>
+M[2K[1;2H[78P[4;1HTest of 'Delete Character'. The top line should be 'AB'. Push <RETURN>
+[2J[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[1;79H[1P[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[2;78H[2P[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[3;77H[3P[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[4;76H[4P[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[5;75H[5P[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[6;74H[6P[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[7;73H[7P[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[8;72H[8P[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[9;71H[9P[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[10;70H[10P[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[11;69H[11P[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[12;68H[12P[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[13;67H[13P[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[14;66H[14P[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[15;65H[15P[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[16;64H[16P[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[17;63H[17P[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[18;62H[18P[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[19;61H[19P[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[20;60H[20P[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[21;59H[21P[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[22;58H[22P[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[23;57H[23P[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;56H[24P[4;1HThe right column should be staggered
+by one. Push <RETURN>
+[2J[1;1H#6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[1;39H[1P[2;1H#6BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[2;38H[2P[3;1H#6CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[3;37H[3P[4;1H#6DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[4;36H[4P[5;1H#6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[5;35H[5P[6;1H#6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[6;34H[6P[7;1H#6GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[7;33H[7P[8;1H#6HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[8;32H[8P[9;1H#6IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[9;31H[9P[10;1H#6JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[10;30H[10P[11;1H#6KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[11;29H[11P[12;1H#6LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[12;28H[12P[13;1H#6MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[13;27H[13P[14;1H#6NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[14;26H[14P[15;1H#6OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[15;25H[15P[16;1H#6PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[16;24H[16P[17;1H#6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[17;23H[17P[18;1H#6RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[18;22H[18P[19;1H#6SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[19;21H[19P[20;1H#6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[20;20H[20P[21;1H#6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[21;19H[21P[22;1H#6VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[22;18H[22P[23;1H#6WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[23;17H[23P[24;1H#6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;16H[24P[4;1HThe right column should be staggered
+by one. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest8-5 b/src/tests/fixtures/vttest8-5 new file mode 100644 index 00000000..9fe1c4e6 --- /dev/null +++ b/src/tests/fixtures/vttest8-5 @@ -0,0 +1,33 @@ +[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
+[?2004h]0;fish /home/aram/code/zellij[30m(B[m[97m[46m⋊>(B[m [33m~/c/zellij(B[m on [32mmain(B[m ⨯ [K[48C[38;2;85;85;85m16:25:40(B[m
[72C
[24C
[24Cv[J[64C[38;2;85;85;85m16:25:40(B[m
[89C
[25C[91mv[64C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[25C[38;2;85;85;85mttest[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[25C[91mt[38;2;85;85;85mtest[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[26C[91mt[38;2;85;85;85mest[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[27C[91me[38;2;85;85;85mst[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[28C[91ms[38;2;85;85;85mt[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[29C[91mt[59C[30m(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[30C[1mvttest[59C(B[m[38;2;85;85;85m16:25:40(B[m
[89C
[30C[59C[38;2;85;85;85m16:25:40(B[m
[89C
[30C
+[30m(B[m[?2004l]0;vttest /home/aram/code/zellij[30m(B[m
[0c[?1l[?3l[?4l[?5l[?6l[?7h[?8l[?40h[?45l[r[0m[2J[3;10HVT100 test program, version 2.7 (20210210)[4;10HLine speed 38400bd [5;10HChoose test type:
+[6;1H[0J
+ 0. Exit
+ 1. Test of cursor movements
+ 2. Test of screen features
+ 3. Test of character sets
+ 4. Test of double-sized characters
+ 5. Test of keyboard
+ 6. Test of terminal reports
+ 7. Test of VT52 mode
+ 8. Test of VT102 features (Insert/Delete Char/Line)
+ 9. Test of known bugs
+ 10. Test of reset and self-test
+ 11. Test non-VT100 (e.g., VT220, XTERM) terminals
+ 12. Modify test-parameters
+
+ Enter choice number (0 - 12): 8
+[2J[?3l[2J[1;1H[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[4;1HScreen accordion test (Insert & Delete Line). Push <RETURN>
+M[2K[2;23r[?6h[1;1H[1L[1M[2L[2M[3L[3M[4L[4M[5L[5M[6L[6M[7L[7M[8L[8M[9L[9M[10L[10M[11L[11M[12L[12M[13L[13M[14L[14M[15L[15M[16L[16M[17L[17M[18L[18M[19L[19M[20L[20M[21L[21M[22L[22M[23L[23M[24L[24M[?6l[r[2;1HTop line: A's, bottom line: X's, this line, nothing more. Push <RETURN>
+[2;1H[0J[1;2HB[1D[4h******************************************************************************[4l[4;1HTest of 'Insert Mode'. The top line should be 'A*** ... ***B'. Push <RETURN>
+M[2K[1;2H[78P[4;1HTest of 'Delete Character'. The top line should be 'AB'. Push <RETURN>
+[2J[1;1HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[1;79H[1P[2;1HBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[2;78H[2P[3;1HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[3;77H[3P[4;1HDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[4;76H[4P[5;1HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[5;75H[5P[6;1HFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[6;74H[6P[7;1HGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[7;73H[7P[8;1HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[8;72H[8P[9;1HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[9;71H[9P[10;1HJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[10;70H[10P[11;1HKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[11;69H[11P[12;1HLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[12;68H[12P[13;1HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[13;67H[13P[14;1HNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[14;66H[14P[15;1HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[15;65H[15P[16;1HPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[16;64H[16P[17;1HQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[17;63H[17P[18;1HRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[18;62H[18P[19;1HSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[19;61H[19P[20;1HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[20;60H[20P[21;1HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[21;59H[21P[22;1HVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[22;58H[22P[23;1HWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[23;57H[23P[24;1HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;56H[24P[4;1HThe right column should be staggered
+by one. Push <RETURN>
+[2J[1;1H#6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[1;39H[1P[2;1H#6BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[2;38H[2P[3;1H#6CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[3;37H[3P[4;1H#6DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[4;36H[4P[5;1H#6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[5;35H[5P[6;1H#6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[6;34H[6P[7;1H#6GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG[7;33H[7P[8;1H#6HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[8;32H[8P[9;1H#6IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[9;31H[9P[10;1H#6JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ[10;30H[10P[11;1H#6KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK[11;29H[11P[12;1H#6LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[12;28H[12P[13;1H#6MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM[13;27H[13P[14;1H#6NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN[14;26H[14P[15;1H#6OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO[15;25H[15P[16;1H#6PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP[16;24H[16P[17;1H#6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ[17;23H[17P[18;1H#6RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR[18;22H[18P[19;1H#6SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS[19;21H[19P[20;1H#6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT[20;20H[20P[21;1H#6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[21;19H[21P[22;1H#6VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV[22;18H[22P[23;1H#6WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[23;17H[23P[24;1H#6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;16H[24P[4;1HThe right column should be staggered
+by one. Push <RETURN>
+[2J[1;1HIf your terminal has the ANSI 'Insert Character' function
+(the VT102 does not), then you should see a line like this
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+below:
+
+Z[2@Y[2@X[2@W[2@V[2@U[2@T[2@S[2@R[2@Q[2@P[2@O[2@N[2@M[2@L[2@K[2@J[2@I[2@H[2@G[2@F[2@E[2@D[2@C[2@B[2@A[2@[10;1HPush <RETURN>
\ No newline at end of file |
