diff options
| author | Aram Drevekenin <aram@poor.dev> | 2021-05-03 19:11:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-03 19:11:31 +0200 |
| commit | 845211c1eebdbc6d063cf30de23135cff1582084 (patch) | |
| tree | f011f8bdcf4b3e1d67fa1487514f7df75a178d17 /src | |
| parent | Merge pull request #437 from a-kenji/xrdb-loading-fix (diff) | |
| download | sl0ppij-845211c1eebdbc6d063cf30de23135cff1582084.tar.gz sl0ppij-845211c1eebdbc6d063cf30de23135cff1582084.tar.xz sl0ppij-845211c1eebdbc6d063cf30de23135cff1582084.zip | |
Terminal compatibility: Pass vttest 2 and 3 (#447)
* fix(compatibility): pass vttest 2+3
* style(fmt): rustfmt
* style(comment): remove unused
* docs(changelog): update change
Diffstat (limited to 'src')
35 files changed, 3052 insertions, 37 deletions
diff --git a/src/client/panes/grid.rs b/src/client/panes/grid.rs index 162af1e6..e0d460d2 100644 --- a/src/client/panes/grid.rs +++ b/src/client/panes/grid.rs @@ -1,6 +1,6 @@ use std::{ cmp::Ordering, - collections::VecDeque, + collections::{BTreeSet, VecDeque}, fmt::{self, Debug, Formatter}, }; @@ -10,7 +10,8 @@ const SCROLL_BACK: usize = 10_000; use crate::utils::logging::debug_log_to_file; use crate::panes::terminal_character::{ - CharacterStyles, TerminalCharacter, EMPTY_TERMINAL_CHARACTER, + CharacterStyles, CharsetIndex, Cursor, StandardCharset, TerminalCharacter, + EMPTY_TERMINAL_CHARACTER, }; fn get_top_non_canonical_rows(rows: &mut Vec<Row>) -> Vec<Row> { @@ -150,18 +151,34 @@ fn bounded_push(vec: &mut VecDeque<Row>, value: Row) { vec.push_back(value) } +pub fn create_horizontal_tabstops(columns: usize) -> BTreeSet<usize> { + let mut i = TABSTOP_WIDTH; + let mut horizontal_tabstops = BTreeSet::new(); + loop { + if i > columns { + break; + } + horizontal_tabstops.insert(i); + i += TABSTOP_WIDTH; + } + horizontal_tabstops +} + #[derive(Clone)] pub struct Grid { lines_above: VecDeque<Row>, viewport: Vec<Row>, lines_below: Vec<Row>, + horizontal_tabstops: BTreeSet<usize>, alternative_lines_above_viewport_and_cursor: Option<(VecDeque<Row>, Vec<Row>, Cursor)>, cursor: Cursor, + saved_cursor_position: Option<Cursor>, scroll_region: Option<(usize, usize)>, - pending_styles: CharacterStyles, + active_charset: CharsetIndex, 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 disable_linewrap: bool, pub clear_viewport_before_rendering: bool, pub width: usize, pub height: usize, @@ -186,31 +203,67 @@ impl Grid { lines_above: VecDeque::with_capacity(SCROLL_BACK), viewport: vec![Row::new().canonical()], lines_below: vec![], + horizontal_tabstops: create_horizontal_tabstops(columns), cursor: Cursor::new(0, 0), + saved_cursor_position: None, scroll_region: None, width: columns, height: rows, - pending_styles: CharacterStyles::new(), should_render: true, cursor_key_mode: false, erasure_mode: false, + disable_linewrap: false, alternative_lines_above_viewport_and_cursor: None, clear_viewport_before_rendering: false, + active_charset: Default::default(), } } pub fn contains_widechar(&self) -> bool { self.viewport.iter().any(|c| c.contains_widechar()) } pub fn advance_to_next_tabstop(&mut self, styles: CharacterStyles) { - let columns_until_next_tabstop = TABSTOP_WIDTH - (self.cursor.x % TABSTOP_WIDTH); - let columns_until_screen_end = (self.width - self.cursor.x).saturating_sub(1); - let columns_to_advance = - std::cmp::min(columns_until_next_tabstop, columns_until_screen_end); + let mut next_tabstop = None; + for tabstop in self.horizontal_tabstops.iter() { + if *tabstop > self.cursor.x { + next_tabstop = Some(tabstop); + break; + } + } + match next_tabstop { + Some(tabstop) => { + self.cursor.x = *tabstop; + } + None => { + self.cursor.x = self.width.saturating_sub(1); + } + } let mut empty_character = EMPTY_TERMINAL_CHARACTER; empty_character.styles = styles; - self.cursor.x += columns_to_advance; self.pad_current_line_until(self.cursor.x); } + fn set_horizontal_tabstop(&mut self) { + self.horizontal_tabstops.insert(self.cursor.x); + } + fn clear_tabstop(&mut self, position: usize) { + self.horizontal_tabstops.remove(&position); + } + fn clear_all_tabstops(&mut self) { + self.horizontal_tabstops.clear(); + } + fn save_cursor_position(&mut self) { + self.saved_cursor_position = Some(self.cursor.clone()); + } + fn restore_cursor_position(&mut self) { + if let Some(saved_cursor_position) = self.saved_cursor_position.as_ref() { + self.cursor = saved_cursor_position.clone(); + } + } + fn configure_charset(&mut self, charset: StandardCharset, index: CharsetIndex) { + self.cursor.charsets[index] = charset; + } + fn set_active_charset(&mut self, index: CharsetIndex) { + self.active_charset = index; + } fn cursor_canonical_line_index(&self) -> usize { let mut cursor_canonical_line_index = 0; let mut canonical_lines_traversed = 0; @@ -567,6 +620,9 @@ impl Grid { pub fn add_character(&mut self, terminal_character: TerminalCharacter) { // TODO: try to separate adding characters from moving the cursors in this function if self.cursor.x >= self.width { + if self.disable_linewrap { + return; + } // line wrap self.cursor.x = 0; if self.cursor.y == self.height - 1 { @@ -676,6 +732,13 @@ impl Grid { } } pub fn move_cursor_up(&mut self, count: usize) { + if let Some((scroll_region_top, scroll_region_bottom)) = self.scroll_region { + if self.cursor.y >= scroll_region_top && self.cursor.y <= scroll_region_bottom { + self.cursor.y = + std::cmp::max(self.cursor.y.saturating_sub(count), scroll_region_top); + return; + } + } self.cursor.y = if self.cursor.y < count { 0 } else { @@ -702,6 +765,12 @@ impl Grid { } } pub fn move_cursor_down(&mut self, count: usize, pad_character: TerminalCharacter) { + if let Some((scroll_region_top, scroll_region_bottom)) = self.scroll_region { + if self.cursor.y >= scroll_region_top && self.cursor.y <= scroll_region_bottom { + self.cursor.y = std::cmp::min(self.cursor.y + count, scroll_region_bottom); + return; + } + } let lines_to_add = if self.cursor.y + count > self.height - 1 { (self.cursor.y + count) - (self.height - 1) } else { @@ -841,16 +910,21 @@ impl Grid { self.scroll_region = None; self.clear_viewport_before_rendering = true; self.cursor = Cursor::new(0, 0); + self.saved_cursor_position = None; + self.active_charset = Default::default(); + self.erasure_mode = false; + self.disable_linewrap = false; } } impl vte::Perform for Grid { fn print(&mut self, c: char) { + let c = self.cursor.charsets[self.active_charset].map(c); // apparently, building TerminalCharacter like this without a "new" method // is a little faster let terminal_character = TerminalCharacter { character: c, - styles: self.pending_styles, + styles: self.cursor.pending_styles, }; self.add_character(terminal_character); } @@ -863,17 +937,23 @@ impl vte::Perform for Grid { } 9 => { // tab - self.advance_to_next_tabstop(self.pending_styles); + self.advance_to_next_tabstop(self.cursor.pending_styles); } 10 | 11 => { // 0a, newline - // 0b, form-feed + // 0b, vertical tabulation self.add_newline(); } 13 => { // 0d, carriage return self.move_cursor_to_beginning_of_line(); } + 14 => { + self.set_active_charset(CharsetIndex::G1); + } + 15 => { + self.set_active_charset(CharsetIndex::G0); + } _ => {} } } @@ -896,7 +976,9 @@ impl vte::Perform for Grid { fn csi_dispatch(&mut self, params: &[i64], _intermediates: &[u8], _ignore: bool, c: char) { if c == 'm' { - self.pending_styles.add_style_from_ansi_params(params); + self.cursor + .pending_styles + .add_style_from_ansi_params(params); } else if c == 'C' { // move cursor forward let move_by = if params[0] == 0 { @@ -909,11 +991,11 @@ impl vte::Perform for Grid { // clear line (0 => right, 1 => left, 2 => all) if params[0] == 0 { let mut char_to_replace = EMPTY_TERMINAL_CHARACTER; - char_to_replace.styles = self.pending_styles; + char_to_replace.styles = self.cursor.pending_styles; self.replace_characters_in_line_after_cursor(char_to_replace); } else if params[0] == 1 { let mut char_to_replace = EMPTY_TERMINAL_CHARACTER; - char_to_replace.styles = self.pending_styles; + char_to_replace.styles = self.cursor.pending_styles; self.replace_characters_in_line_before_cursor(char_to_replace); } else if params[0] == 2 { self.clear_cursor_line(); @@ -921,7 +1003,7 @@ impl vte::Perform for Grid { } else if c == 'J' { // clear all (0 => below, 1 => above, 2 => all, 3 => saved) let mut char_to_replace = EMPTY_TERMINAL_CHARACTER; - char_to_replace.styles = self.pending_styles; + char_to_replace.styles = self.cursor.pending_styles; if params[0] == 0 { self.clear_all_after_cursor(char_to_replace); } else if params[0] == 1 { @@ -1008,6 +1090,9 @@ impl vte::Perform for Grid { Some(&6) => { self.erasure_mode = false; } + Some(&7) => { + self.disable_linewrap = true; + } _ => {} }; } @@ -1048,6 +1133,9 @@ impl vte::Perform for Grid { Some(&6) => { self.erasure_mode = true; } + Some(&7) => { + self.disable_linewrap = false; + } _ => {} }; } @@ -1057,6 +1145,10 @@ impl vte::Perform for Grid { let top_line_index = (params[0] as usize).saturating_sub(1); let bottom_line_index = (params[1] as usize).saturating_sub(1); self.set_scroll_region(top_line_index, bottom_line_index); + if self.erasure_mode { + self.move_cursor_to_line(top_line_index, EMPTY_TERMINAL_CHARACTER); + self.move_cursor_to_beginning_of_line(); + } self.show_cursor(); } else { self.clear_scroll_region(); @@ -1088,6 +1180,12 @@ impl vte::Perform for Grid { params[0] as usize - 1 }; self.move_cursor_to_column(column); + } else if c == 'g' { + if params[0] == 0 { + self.clear_tabstop(self.cursor.x); + } else if params[0] == 3 { + self.clear_all_tabstops(); + } } else if c == 'd' { // goto line let line = if params[0] == 0 { @@ -1105,7 +1203,7 @@ impl vte::Perform for Grid { } else { params[0] as usize }; - self.erase_characters(count, self.pending_styles); + self.erase_characters(count, self.cursor.pending_styles); } else if c == 'X' { // erase characters and replace with empty characters of current style let count = if params[0] == 0 { @@ -1113,7 +1211,7 @@ impl vte::Perform for Grid { } else { params[0] as usize }; - self.replace_with_empty_chars(count, self.pending_styles); + self.replace_with_empty_chars(count, self.cursor.pending_styles); } else if c == 'T' { /* * 124 54 T SD @@ -1136,6 +1234,10 @@ impl vte::Perform for Grid { params[0] as usize }; self.rotate_scroll_region_down(count); + } else if c == 's' { + self.save_cursor_position(); + } else if c == 'u' { + self.restore_cursor_position(); } else if c == '@' { let count = if params[0] == 0 { 1 @@ -1153,6 +1255,35 @@ impl vte::Perform for Grid { fn esc_dispatch(&mut self, intermediates: &[u8], _ignore: bool, byte: u8) { match (byte, intermediates.get(0)) { + (b'B', charset_index_symbol) => { + let charset_index: CharsetIndex = match charset_index_symbol { + Some(b'(') => CharsetIndex::G0, + Some(b')') => CharsetIndex::G1, + Some(b'*') => CharsetIndex::G2, + Some(b'+') => CharsetIndex::G3, + _ => { + // invalid, silently do nothing + return; + } + }; + self.configure_charset(StandardCharset::Ascii, charset_index); + } + (b'0', charset_index_symbol) => { + let charset_index: CharsetIndex = match charset_index_symbol { + Some(b'(') => CharsetIndex::G0, + Some(b')') => CharsetIndex::G1, + Some(b'*') => CharsetIndex::G2, + Some(b'+') => CharsetIndex::G3, + _ => { + // invalid, silently do nothing + return; + } + }; + self.configure_charset( + StandardCharset::SpecialCharacterAndLineDrawing, + charset_index, + ); + } (b'D', None) => { self.add_newline(); } @@ -1167,7 +1298,13 @@ impl vte::Perform for Grid { self.reset_terminal_state(); } (b'H', None) => { - self.advance_to_next_tabstop(self.pending_styles); + self.set_horizontal_tabstop(); + } + (b'7', None) => { + self.save_cursor_position(); + } + (b'8', None) => { + self.restore_cursor_position(); } (b'8', Some(b'#')) => { let mut fill_character = EMPTY_TERMINAL_CHARACTER; @@ -1311,23 +1448,6 @@ impl Row { } } -#[derive(Clone, Debug)] -pub struct Cursor { - x: usize, - y: usize, - is_hidden: bool, -} - -impl Cursor { - pub fn new(x: usize, y: usize) -> Self { - Cursor { - x, - y, - is_hidden: false, - } - } -} - #[cfg(test)] #[path = "./unit/grid_tests.rs"] mod grid_tests; diff --git a/src/client/panes/terminal_character.rs b/src/client/panes/terminal_character.rs index 94620bba..31e017b1 100644 --- a/src/client/panes/terminal_character.rs +++ b/src/client/panes/terminal_character.rs @@ -1,7 +1,8 @@ use unicode_width::UnicodeWidthChar; use crate::utils::logging::debug_log_to_file; -use ::std::fmt::{self, Debug, Display, Formatter}; +use std::fmt::{self, Debug, Display, Formatter}; +use std::ops::{Index, IndexMut}; pub const EMPTY_TERMINAL_CHARACTER: TerminalCharacter = TerminalCharacter { character: ' ', @@ -625,6 +626,115 @@ impl Display for CharacterStyles { } } +#[derive(Clone, Copy, Debug)] +pub enum CharsetIndex { + G0, + G1, + G2, + G3, +} + +impl Default for CharsetIndex { + fn default() -> Self { + CharsetIndex::G0 + } +} + +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub enum StandardCharset { + Ascii, + SpecialCharacterAndLineDrawing, +} + +impl Default for StandardCharset { + fn default() -> Self { + StandardCharset::Ascii + } +} + +impl StandardCharset { + /// Switch/Map character to the active charset. Ascii is the common case and + /// for that we want to do as little as possible. + #[inline] + pub fn map(self, c: char) -> char { + match self { + StandardCharset::Ascii => c, + StandardCharset::SpecialCharacterAndLineDrawing => match 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' => '≥', + '{' => 'π', + '|' => '≠', + '}' => '£', + '~' => '·', + _ => c, + }, + } + } +} + +#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)] +pub struct Charsets([StandardCharset; 4]); + +impl Index<CharsetIndex> for Charsets { + type Output = StandardCharset; + + fn index(&self, index: CharsetIndex) -> &StandardCharset { + &self.0[index as usize] + } +} + +impl IndexMut<CharsetIndex> for Charsets { + fn index_mut(&mut self, index: CharsetIndex) -> &mut StandardCharset { + &mut self.0[index as usize] + } +} + +#[derive(Clone, Debug)] +pub struct Cursor { + pub x: usize, + pub y: usize, + pub is_hidden: bool, + pub pending_styles: CharacterStyles, + pub charsets: Charsets, +} + +impl Cursor { + pub fn new(x: usize, y: usize) -> Self { + Cursor { + x, + y, + is_hidden: false, + pending_styles: CharacterStyles::new(), + charsets: Default::default(), + } + } +} + #[derive(Clone, Copy)] pub struct TerminalCharacter { pub character: char, diff --git a/src/client/panes/unit/grid_tests.rs b/src/client/panes/unit/grid_tests.rs index 92f5fbdf..f2de7d56 100644 --- a/src/client/panes/unit/grid_tests.rs +++ b/src/client/panes/unit/grid_tests.rs @@ -83,3 +83,195 @@ fn vttest1_5() { } assert_snapshot!(format!("{:?}", grid)); } + +#[test] +fn vttest2_0() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-0"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_1() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-1"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_2() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-2"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_3() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-3"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_4() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-4"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_5() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-5"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_6() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-6"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_7() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-7"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_8() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-8"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_9() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-9"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_10() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-10"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_11() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-11"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_12() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-12"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_13() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-13"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest2_14() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest2-14"; + let content = read_fixture(fixture_name); + for byte in content { + vte_parser.advance(&mut grid, byte); + } + assert_snapshot!(format!("{:?}", grid)); +} + +#[test] +fn vttest3_0() { + let mut vte_parser = vte::Parser::new(); + let mut grid = Grid::new(41, 110); + let fixture_name = "vttest3-0"; + 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__vttest2_0.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_0.snap new file mode 100644 index 00000000..506c2226 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_0.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): ************************************************************************************************************** +01 (C): ************************************************** +02 (C): ************************************************************************************************************** +03 (C): +04 (C): This should be three identical lines of *'s completely filling +05 (C): the top of the screen without any empty lines between. +06 (C): (Test of WRAP AROUND mode setting.) +07 (C): Push <RETURN> +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): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_1.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_1.snap new file mode 100644 index 00000000..48e47687 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_1.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): * * * * * * * * * * * * * +01 (C): * * * * * * * * * * * * * +02 (C): +03 (C): Test of TAB setting/resetting. These two lines +04 (C): should look the same. Push <RETURN> +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): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_10.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_10.snap new file mode 100644 index 00000000..dbacac54 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_10.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): +01 (W): +02 (W): +03 (W): +04 (W): +05 (W): +06 (W): +07 (W): +08 (W): +09 (W): +10 (W): +11 (W): +12 (W): +13 (W): +14 (W): +15 (W): +16 (W): +17 (W): +18 (W): +19 (W): +20 (W): +21 (W): +22 (W): This line should be the one above the bottom of the screen. Push <RETURN> +23 (W): Origin mode test. This line should be at the bottom of the screen. + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_11.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_11.snap new file mode 100644 index 00000000..3c424d45 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_11.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): This line should be at the top of the screen. Push <RETURN> +01 (W): +02 (W): +03 (W): +04 (W): +05 (W): +06 (W): +07 (W): +08 (W): +09 (W): +10 (W): +11 (W): +12 (W): +13 (W): +14 (W): +15 (W): +16 (W): +17 (W): +18 (W): +19 (W): +20 (W): +21 (W): +22 (W): +23 (W): Origin mode test. This line should be at the bottom of the screen. + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_12.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_12.snap new file mode 100644 index 00000000..fc2bd2de --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_12.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): Graphic rendition test pattern: +01 (W): +02 (W): +03 (W): vanilla bold +04 (W): +05 (W): underline bold underline +06 (W): +07 (W): blink bold blink +08 (W): +09 (W): underline blink bold underline blink +10 (W): +11 (W): negative bold negative +12 (W): +13 (W): underline negative bold underline negative +14 (W): +15 (W): blink negative bold blink negative +16 (W): +17 (W): underline blink negative bold underline blink negative +18 (W): +19 (W): +20 (W): +21 (W): +22 (W): Dark background. Push <RETURN> +23 (W): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_13.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_13.snap new file mode 100644 index 00000000..a79bc0cd --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_13.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): Graphic rendition test pattern: +01 (W): +02 (W): +03 (W): vanilla bold +04 (W): +05 (W): underline bold underline +06 (W): +07 (W): blink bold blink +08 (W): +09 (W): underline blink bold underline blink +10 (W): +11 (W): negative bold negative +12 (W): +13 (W): underline negative bold underline negative +14 (W): +15 (W): blink negative bold blink negative +16 (W): +17 (W): underline blink negative bold underline blink negative +18 (W): +19 (W): +20 (W): +21 (W): +22 (W): Light background. Push <RETURN> +23 (W): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_14.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_14.snap new file mode 100644 index 00000000..dbdc3dc1 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_14.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): AAAAA +01 (W): AAAAA +02 (W): AAAAA +03 (W): AAAAA +04 (W): +05 (W): +06 (W): +07 (W): normal bold underscored blinking reversed +08 (W): +09 (W): stars: ********** ********** ********** ********** ********** +10 (W): +11 (W): line: ────────── ────────── ────────── ────────── ────────── +12 (W): +13 (W): x'es: xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx +14 (W): +15 (W): diamonds: ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆◆◆ +16 (W): +17 (W): +18 (W): +19 (W): +20 (W): Test of the SAVE/RESTORE CURSOR feature. There should +21 (W): be ten characters of each flavour, and a rectangle +22 (W): of 5 x 4 A's filling the top left of the screen. +23 (W): Push <RETURN> + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_2.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_2.snap new file mode 100644 index 00000000..7b03c147 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_2.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 +01 (C): 123456789012345678901 +02 (C): This is 132 column mode, light background. +03 (C): This is 132 column mode, light background. +04 (C): This is 132 column mode, light background. +05 (C): This is 132 column mode, light background. +06 (C): This is 132 column mode, light background. +07 (C): This is 132 column mode, light background. +08 (C): This is 132 column mode, light background. +09 (C): This is 132 column mode, light background. +10 (C): This is 132 column mode, light background. +11 (C): This is 132 column mode, light background. +12 (C): This is 132 column mode, light background. +13 (C): This is 132 column mode, light background. +14 (C): This is 132 column mode, light background. +15 (C): This is 132 column mode, light background. +16 (C): This is 132 column mode, light background. +17 (C): This is 132 column mode, light background. +18 (C): This is 132 column mode, light background. +19 (C): This is 132 column mode, light background.Push <RETURN> +20 (C): +21 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_3.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_3.snap new file mode 100644 index 00000000..98620a5c --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_3.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): 1234567890123456789012345678901234567890123456789012345678901234567890123456789 +01 (C): +02 (C): This is 80 column mode, light background. +03 (C): This is 80 column mode, light background. +04 (C): This is 80 column mode, light background. +05 (C): This is 80 column mode, light background. +06 (C): This is 80 column mode, light background. +07 (C): This is 80 column mode, light background. +08 (C): This is 80 column mode, light background. +09 (C): This is 80 column mode, light background. +10 (C): This is 80 column mode, light background. +11 (C): This is 80 column mode, light background. +12 (C): This is 80 column mode, light background. +13 (C): This is 80 column mode, light background. +14 (C): This is 80 column mode, light background. +15 (C): This is 80 column mode, light background. +16 (C): This is 80 column mode, light background. +17 (C): This is 80 column mode, light background. +18 (C): This is 80 column mode, light background. +19 (C): This is 80 column mode, light background.Push <RETURN> +20 (C): +21 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_4.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_4.snap new file mode 100644 index 00000000..35802e63 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_4.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 +01 (C): 123456789012345678901 +02 (C): This is 132 column mode, dark background. +03 (C): This is 132 column mode, dark background. +04 (C): This is 132 column mode, dark background. +05 (C): This is 132 column mode, dark background. +06 (C): This is 132 column mode, dark background. +07 (C): This is 132 column mode, dark background. +08 (C): This is 132 column mode, dark background. +09 (C): This is 132 column mode, dark background. +10 (C): This is 132 column mode, dark background. +11 (C): This is 132 column mode, dark background. +12 (C): This is 132 column mode, dark background. +13 (C): This is 132 column mode, dark background. +14 (C): This is 132 column mode, dark background. +15 (C): This is 132 column mode, dark background. +16 (C): This is 132 column mode, dark background. +17 (C): This is 132 column mode, dark background. +18 (C): This is 132 column mode, dark background. +19 (C): This is 132 column mode, dark background.Push <RETURN> +20 (C): +21 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_5.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_5.snap new file mode 100644 index 00000000..2bcc2870 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_5.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): 1234567890123456789012345678901234567890123456789012345678901234567890123456789 +01 (C): +02 (C): This is 80 column mode, dark background. +03 (C): This is 80 column mode, dark background. +04 (C): This is 80 column mode, dark background. +05 (C): This is 80 column mode, dark background. +06 (C): This is 80 column mode, dark background. +07 (C): This is 80 column mode, dark background. +08 (C): This is 80 column mode, dark background. +09 (C): This is 80 column mode, dark background. +10 (C): This is 80 column mode, dark background. +11 (C): This is 80 column mode, dark background. +12 (C): This is 80 column mode, dark background. +13 (C): This is 80 column mode, dark background. +14 (C): This is 80 column mode, dark background. +15 (C): This is 80 column mode, dark background. +16 (C): This is 80 column mode, dark background. +17 (C): This is 80 column mode, dark background. +18 (C): This is 80 column mode, dark background. +19 (C): This is 80 column mode, dark background.Push <RETURN> +20 (C): +21 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_6.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_6.snap new file mode 100644 index 00000000..360dc423 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_6.snap @@ -0,0 +1,28 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): +01 (C): +02 (C): +03 (C): +04 (C): +05 (C): +06 (C): +07 (C): +08 (C): +09 (C): +10 (C): +11 (W): Push <RETURN> +12 (W): Soft scroll down region [12..13] size 2 Line 29 +13 (C): +14 (C): +15 (C): +16 (C): +17 (C): +18 (C): +19 (C): +20 (C): +21 (C): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_7.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_7.snap new file mode 100644 index 00000000..467ae258 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_7.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): Push <RETURN> +01 (W): Soft scroll down region [1..24] size 24 Line 29 +02 (W): Soft scroll down region [1..24] size 24 Line 28 +03 (W): Soft scroll down region [1..24] size 24 Line 27 +04 (W): Soft scroll down region [1..24] size 24 Line 26 +05 (W): Soft scroll down region [1..24] size 24 Line 25 +06 (W): Soft scroll down region [1..24] size 24 Line 24 +07 (W): Soft scroll down region [1..24] size 24 Line 23 +08 (W): Soft scroll down region [1..24] size 24 Line 22 +09 (W): Soft scroll down region [1..24] size 24 Line 21 +10 (W): Soft scroll down region [1..24] size 24 Line 20 +11 (W): Soft scroll down region [1..24] size 24 Line 19 +12 (W): Soft scroll down region [1..24] size 24 Line 18 +13 (W): Soft scroll down region [1..24] size 24 Line 17 +14 (W): Soft scroll down region [1..24] size 24 Line 16 +15 (W): Soft scroll down region [1..24] size 24 Line 15 +16 (W): Soft scroll down region [1..24] size 24 Line 14 +17 (W): Soft scroll down region [1..24] size 24 Line 13 +18 (W): Soft scroll down region [1..24] size 24 Line 12 +19 (W): Soft scroll down region [1..24] size 24 Line 11 +20 (W): Soft scroll down region [1..24] size 24 Line 10 +21 (W): Soft scroll down region [1..24] size 24 Line 9 +22 (W): Soft scroll down region [1..24] size 24 Line 8 +23 (W): Soft scroll down region [1..24] size 24 Line 7 + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_8.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_8.snap new file mode 100644 index 00000000..f892edd2 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_8.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): +01 (W): +02 (W): +03 (W): +04 (W): +05 (W): +06 (W): +07 (W): +08 (W): +09 (W): +10 (W): +11 (W): Push <RETURN> +12 (W): Jump scroll down region [12..13] size 2 Line 29 +13 (W): +14 (W): +15 (W): +16 (W): +17 (W): +18 (W): +19 (W): +20 (W): +21 (W): +22 (W): +23 (W): + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_9.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_9.snap new file mode 100644 index 00000000..63e46c04 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest2_9.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (W): Push <RETURN> +01 (W): Jump scroll down region [1..24] size 24 Line 29 +02 (W): Jump scroll down region [1..24] size 24 Line 28 +03 (W): Jump scroll down region [1..24] size 24 Line 27 +04 (W): Jump scroll down region [1..24] size 24 Line 26 +05 (W): Jump scroll down region [1..24] size 24 Line 25 +06 (W): Jump scroll down region [1..24] size 24 Line 24 +07 (W): Jump scroll down region [1..24] size 24 Line 23 +08 (W): Jump scroll down region [1..24] size 24 Line 22 +09 (W): Jump scroll down region [1..24] size 24 Line 21 +10 (W): Jump scroll down region [1..24] size 24 Line 20 +11 (W): Jump scroll down region [1..24] size 24 Line 19 +12 (W): Jump scroll down region [1..24] size 24 Line 18 +13 (W): Jump scroll down region [1..24] size 24 Line 17 +14 (W): Jump scroll down region [1..24] size 24 Line 16 +15 (W): Jump scroll down region [1..24] size 24 Line 15 +16 (W): Jump scroll down region [1..24] size 24 Line 14 +17 (W): Jump scroll down region [1..24] size 24 Line 13 +18 (W): Jump scroll down region [1..24] size 24 Line 12 +19 (W): Jump scroll down region [1..24] size 24 Line 11 +20 (W): Jump scroll down region [1..24] size 24 Line 10 +21 (W): Jump scroll down region [1..24] size 24 Line 9 +22 (W): Jump scroll down region [1..24] size 24 Line 8 +23 (W): Jump scroll down region [1..24] size 24 Line 7 + diff --git a/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest3_0.snap b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest3_0.snap new file mode 100644 index 00000000..42c6f634 --- /dev/null +++ b/src/client/panes/unit/snapshots/zellij__client__panes__grid__grid_tests__vttest3_0.snap @@ -0,0 +1,30 @@ +--- +source: src/client/panes/./unit/grid_tests.rs +expression: "format!(\"{:?}\", grid)" + +--- +00 (C): Selected as G0 (with SI) Selected as G1 (with SO) +01 (C): +02 (C): Character set B (US ASCII) +03 (C): !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>? +04 (C): @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +05 (C): `abcdefghijklmnopqrstuvwxyz{|}~ `abcdefghijklmnopqrstuvwxyz{|}~ +06 (C): Character set A (British) +07 (C): !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>? +08 (C): @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +09 (C): `abcdefghijklmnopqrstuvwxyz{|}~ `abcdefghijklmnopqrstuvwxyz{|}~ +10 (C): Character set 0 (DEC Special graphics and line drawing) +11 (C): !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>? +12 (C): @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +13 (C): ◆▒␉␌␍␊°±␋┘┐┌└┼⎺⎻─⎼⎽├┤┴┬│≤≥π≠£· ◆▒␉␌␍␊°±␋┘┐┌└┼⎺⎻─⎼⎽├┤┴┬│≤≥π≠£· +14 (C): Character set 1 (DEC Alternate character ROM standard characters) +15 (C): !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>? +16 (C): @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +17 (C): `abcdefghijklmnopqrstuvwxyz{|}~ `abcdefghijklmnopqrstuvwxyz{|}~ +18 (C): Character set 2 (DEC Alternate character ROM special graphics) +19 (C): !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>? +20 (C): @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +21 (C): `abcdefghijklmnopqrstuvwxyz{|}~ `abcdefghijklmnopqrstuvwxyz{|}~ +22 (C): +23 (C): These are the installed character sets. Push <RETURN> + diff --git a/src/tests/fixtures/vttest2-0 b/src/tests/fixtures/vttest2-0 new file mode 100644 index 00000000..01fe8328 --- /dev/null +++ b/src/tests/fixtures/vttest2-0 @@ -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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:24:04(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:24:04(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:24:04(B[m
[96C
[34C[62C[38;2;85;85;85m17:24:04(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-1 b/src/tests/fixtures/vttest2-1 new file mode 100644 index 00000000..eda5a6ae --- /dev/null +++ b/src/tests/fixtures/vttest2-1 @@ -0,0 +1,24 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:26:27(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:26:27(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:26:27(B[m
[96C
[34C[62C[38;2;85;85;85m17:26:27(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-10 b/src/tests/fixtures/vttest2-10 new file mode 100644 index 00000000..3635a608 --- /dev/null +++ b/src/tests/fixtures/vttest2-10 @@ -0,0 +1,257 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:36:06(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:36:06(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:36:06(B[m
[96C
[34C[62C[38;2;85;85;85m17:36:06(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[2J[23;24r
+Origin mode test. This line should be at the bottom of the screen.[1;1HThis line should be the one above the bottom of the screen. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-11 b/src/tests/fixtures/vttest2-11 new file mode 100644 index 00000000..16e9b56f --- /dev/null +++ b/src/tests/fixtures/vttest2-11 @@ -0,0 +1,257 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:37:22(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:37:22(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:37:22(B[m
[96C
[34C[62C[38;2;85;85;85m17:37:22(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[2J[23;24r
+Origin mode test. This line should be at the bottom of the screen.[1;1HThis line should be the one above the bottom of the screen. Push <RETURN>[2J[?6l[24;1HOrigin mode test. This line should be at the bottom of the screen.[1;1HThis line should be at the top of the screen. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-12 b/src/tests/fixtures/vttest2-12 new file mode 100644 index 00000000..f350da31 --- /dev/null +++ b/src/tests/fixtures/vttest2-12 @@ -0,0 +1,257 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:39:32(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:39:32(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:39:32(B[m
[96C
[34C[62C[38;2;85;85;85m17:39:32(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[2J[23;24r
+Origin mode test. This line should be at the bottom of the screen.[1;1HThis line should be the one above the bottom of the screen. Push <RETURN>[2J[?6l[24;1HOrigin mode test. This line should be at the bottom of the screen.[1;1HThis line should be at the top of the screen. Push <RETURN>[1;24r[2J[1;20HGraphic rendition test pattern:[4;1H[0mvanilla[4;40H[0;1mbold[6;6H[;4munderline[6;45H[;1m[4mbold underline[8;1H[0;5mblink[8;40H[0;5;1mbold blink[10;6H[0;4;5munderline blink[10;45H[0;1;4;5mbold underline blink[12;1H[1;4;5;0;7mnegative[12;40H[0;1;7mbold negative[14;6H[0;4;7munderline negative[14;45H[0;1;4;7mbold underline negative[16;1H[1;4;;5;7mblink negative[16;40H[0;1;5;7mbold blink negative[18;6H[0;4;5;7munderline blink negative[18;45H[0;1;4;5;7mbold underline blink negative[m[?5l[23;1H[0KDark background. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-13 b/src/tests/fixtures/vttest2-13 new file mode 100644 index 00000000..be807d9a --- /dev/null +++ b/src/tests/fixtures/vttest2-13 @@ -0,0 +1,257 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:40:27(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:40:27(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:40:27(B[m
[96C
[34C[62C[38;2;85;85;85m17:40:27(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[2J[23;24r
+Origin mode test. This line should be at the bottom of the screen.[1;1HThis line should be the one above the bottom of the screen. Push <RETURN>[2J[?6l[24;1HOrigin mode test. This line should be at the bottom of the screen.[1;1HThis line should be at the top of the screen. Push <RETURN>[1;24r[2J[1;20HGraphic rendition test pattern:[4;1H[0mvanilla[4;40H[0;1mbold[6;6H[;4munderline[6;45H[;1m[4mbold underline[8;1H[0;5mblink[8;40H[0;5;1mbold blink[10;6H[0;4;5munderline blink[10;45H[0;1;4;5mbold underline blink[12;1H[1;4;5;0;7mnegative[12;40H[0;1;7mbold negative[14;6H[0;4;7munderline negative[14;45H[0;1;4;7mbold underline negative[16;1H[1;4;;5;7mblink negative[16;40H[0;1;5;7mbold blink negative[18;6H[0;4;5;7munderline blink negative[18;45H[0;1;4;5;7mbold underline blink negative[m[?5l[23;1H[0KDark background. Push <RETURN>[?5h[23;1H[0KLight background. Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-14 b/src/tests/fixtures/vttest2-14 new file mode 100644 index 00000000..f0af7cf7 --- /dev/null +++ b/src/tests/fixtures/vttest2-14 @@ -0,0 +1,260 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:41:03(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:41:03(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:41:03(B[m
[96C
[34C[62C[38;2;85;85;85m17:41:03(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[2J[23;24r
+Origin mode test. This line should be at the bottom of the screen.[1;1HThis line should be the one above the bottom of the screen. Push <RETURN>[2J[?6l[24;1HOrigin mode test. This line should be at the bottom of the screen.[1;1HThis line should be at the top of the screen. Push <RETURN>[1;24r[2J[1;20HGraphic rendition test pattern:[4;1H[0mvanilla[4;40H[0;1mbold[6;6H[;4munderline[6;45H[;1m[4mbold underline[8;1H[0;5mblink[8;40H[0;5;1mbold blink[10;6H[0;4;5munderline blink[10;45H[0;1;4;5mbold underline blink[12;1H[1;4;5;0;7mnegative[12;40H[0;1;7mbold negative[14;6H[0;4;7munderline negative[14;45H[0;1;4;7mbold underline negative[16;1H[1;4;;5;7mblink negative[16;40H[0;1;5;7mbold blink negative[18;6H[0;4;5;7munderline blink negative[18;45H[0;1;4;5;7mbold underline blink negative[m[?5l[23;1H[0KDark background. Push <RETURN>[?5h[23;1H[0KLight background. Push <RETURN>[?5l[2J[8;12Hnormal[8;24Hbold[8;36Hunderscored[8;48Hblinking[8;60Hreversed[10;1Hstars:[12;1Hline:[14;1Hx'es:[16;1Hdiamonds:[10;12H[;0m(B)B*****7[1;1H[m(B)BA8*****[10;24H[;1m(B)B*****7[1;2H[m(B)BA8*****[10;36H[;4m(B)B*****7[1;3H[m(B)BA8*****[10;48H[;5m(B)B*****7[1;4H[m(B)BA8*****[10;60H[;7m(B)B*****7[1;5H[m(B)BA8*****[12;12H[;0m(0)Bqqqqq7[2;1H[m(B)BA8qqqqq[12;24H[;1m(0)Bqqqqq7[2;2H[m(B)BA8qqqqq[12;36H[;4m(0)Bqqqqq7[2;3H[m(B)BA8qqqqq[12;48H[;5m(0)Bqqqqq7[2;4H[m(B)BA8qqqqq[12;60H[;7m(0)Bqqqqq7[2;5H[m(B)BA8qqqqq[14;12H[;0m(B)Bxxxxx7[3;1H[m(B)BA8xxxxx[14;24H[;1m(B)Bxxxxx7[3;2H[m(B)BA8xxxxx[14;36H[;4m(B)Bxxxxx7[3;3H[m(B)BA8xxxxx[14;48H[;5m(B)Bxxxxx7[3;4H[m(B)BA8xxxxx[14;60H[;7m(B)Bxxxxx7[3;5H[m(B)BA8xxxxx[16;12H[;0m(0)B`````7[4;1H[m(B)BA8`````[16;24H[;1m(0)B`````7[4;2H[m(B)BA8`````[16;36H[;4m(0)B`````7[4;3H[m(B)BA8`````[16;48H[;5m(0)B`````7[4;4H[m(B)BA8`````[16;60H[;7m(0)B`````7[4;5H[m(B)BA8`````[0m(B)B[21;1HTest of the SAVE/RESTORE CURSOR feature. There should
+be ten characters of each flavour, and a rectangle
+of 5 x 4 A's filling the top left of the screen.
+Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-2 b/src/tests/fixtures/vttest2-2 new file mode 100644 index 00000000..7231223c --- /dev/null +++ b/src/tests/fixtures/vttest2-2 @@ -0,0 +1,24 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:27:00(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:27:00(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:27:00(B[m
[96C
[34C[62C[38;2;85;85;85m17:27:00(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-3 b/src/tests/fixtures/vttest2-3 new file mode 100644 index 00000000..91e4cd88 --- /dev/null +++ b/src/tests/fixtures/vttest2-3 @@ -0,0 +1,24 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:27:39(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:27:39(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:27:39(B[m
[96C
[34C[62C[38;2;85;85;85m17:27:39(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-4 b/src/tests/fixtures/vttest2-4 new file mode 100644 index 00000000..ade6e870 --- /dev/null +++ b/src/tests/fixtures/vttest2-4 @@ -0,0 +1,24 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:28:52(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:28:52(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:28:52(B[m
[96C
[34C[62C[38;2;85;85;85m17:28:52(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-5 b/src/tests/fixtures/vttest2-5 new file mode 100644 index 00000000..2cf0a382 --- /dev/null +++ b/src/tests/fixtures/vttest2-5 @@ -0,0 +1,24 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:29:31(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:29:31(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:29:31(B[m
[96C
[34C[62C[38;2;85;85;85m17:29:31(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-6 b/src/tests/fixtures/vttest2-6 new file mode 100644 index 00000000..52f282e3 --- /dev/null +++ b/src/tests/fixtures/vttest2-6 @@ -0,0 +1,82 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:31:01(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:31:01(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:31:01(B[m
[96C
[34C[62C[38;2;85;85;85m17:31:01(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-7 b/src/tests/fixtures/vttest2-7 new file mode 100644 index 00000000..2ddf5a9a --- /dev/null +++ b/src/tests/fixtures/vttest2-7 @@ -0,0 +1,140 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:32:27(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:32:27(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:32:27(B[m
[96C
[34C[62C[38;2;85;85;85m17:32:27(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-8 b/src/tests/fixtures/vttest2-8 new file mode 100644 index 00000000..2c9d7f00 --- /dev/null +++ b/src/tests/fixtures/vttest2-8 @@ -0,0 +1,198 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:34:10(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:34:10(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:34:10(B[m
[96C
[34C[62C[38;2;85;85;85m17:34:10(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest2-9 b/src/tests/fixtures/vttest2-9 new file mode 100644 index 00000000..0ecea59f --- /dev/null +++ b/src/tests/fixtures/vttest2-9 @@ -0,0 +1,256 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:34:51(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:34:51(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:34:51(B[m
[96C
[34C[62C[38;2;85;85;85m17:34:51(B[m
[96C
[34C
+[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): 2
+[2J[1;1H[?7h****************************************************************************************************************************************************************[?7l[3;1H****************************************************************************************************************************************************************[?7h[5;1HThis should be three identical lines of *'s completely filling
+the top of the screen without any empty lines between.
+(Test of WRAP AROUND mode setting.)
+Push <RETURN>[2J[3g[1;1H[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[3CH[1;4H[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[0g[6C[1;7H[1g[2g[1;1H * * * * * * * * * * * * *[2;2H * * * * * * * * * * * * *[4;1HTest of TAB setting/resetting. These two lines
+should look the same. Push <RETURN>[?5h[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, light background.[4;4HThis is 132 column mode, light background.[5;5HThis is 132 column mode, light background.[6;6HThis is 132 column mode, light background.[7;7HThis is 132 column mode, light background.[8;8HThis is 132 column mode, light background.[9;9HThis is 132 column mode, light background.[10;10HThis is 132 column mode, light background.[11;11HThis is 132 column mode, light background.[12;12HThis is 132 column mode, light background.[13;13HThis is 132 column mode, light background.[14;14HThis is 132 column mode, light background.[15;15HThis is 132 column mode, light background.[16;16HThis is 132 column mode, light background.[17;17HThis is 132 column mode, light background.[18;18HThis is 132 column mode, light background.[19;19HThis is 132 column mode, light background.[20;20HThis is 132 column mode, light background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, light background.[4;4HThis is 80 column mode, light background.[5;5HThis is 80 column mode, light background.[6;6HThis is 80 column mode, light background.[7;7HThis is 80 column mode, light background.[8;8HThis is 80 column mode, light background.[9;9HThis is 80 column mode, light background.[10;10HThis is 80 column mode, light background.[11;11HThis is 80 column mode, light background.[12;12HThis is 80 column mode, light background.[13;13HThis is 80 column mode, light background.[14;14HThis is 80 column mode, light background.[15;15HThis is 80 column mode, light background.[16;16HThis is 80 column mode, light background.[17;17HThis is 80 column mode, light background.[18;18HThis is 80 column mode, light background.[19;19HThis is 80 column mode, light background.[20;20HThis is 80 column mode, light background.Push <RETURN>[?5l[?3h[2J[1;1H[3g[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[8CH[1;1H12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901[3;3HThis is 132 column mode, dark background.[4;4HThis is 132 column mode, dark background.[5;5HThis is 132 column mode, dark background.[6;6HThis is 132 column mode, dark background.[7;7HThis is 132 column mode, dark background.[8;8HThis is 132 column mode, dark background.[9;9HThis is 132 column mode, dark background.[10;10HThis is 132 column mode, dark background.[11;11HThis is 132 column mode, dark background.[12;12HThis is 132 column mode, dark background.[13;13HThis is 132 column mode, dark background.[14;14HThis is 132 column mode, dark background.[15;15HThis is 132 column mode, dark background.[16;16HThis is 132 column mode, dark background.[17;17HThis is 132 column mode, dark background.[18;18HThis is 132 column mode, dark background.[19;19HThis is 132 column mode, dark background.[20;20HThis is 132 column mode, dark background.Push <RETURN>[?3l[2J[1;1H1234567890123456789012345678901234567890123456789012345678901234567890123456789[3;3HThis is 80 column mode, dark background.[4;4HThis is 80 column mode, dark background.[5;5HThis is 80 column mode, dark background.[6;6HThis is 80 column mode, dark background.[7;7HThis is 80 column mode, dark background.[8;8HThis is 80 column mode, dark background.[9;9HThis is 80 column mode, dark background.[10;10HThis is 80 column mode, dark background.[11;11HThis is 80 column mode, dark background.[12;12HThis is 80 column mode, dark background.[13;13HThis is 80 column mode, dark background.[14;14HThis is 80 column mode, dark background.[15;15HThis is 80 column mode, dark background.[16;16HThis is 80 column mode, dark background.[17;17HThis is 80 column mode, dark background.[18;18HThis is 80 column mode, dark background.[19;19HThis is 80 column mode, dark background.[20;20HThis is 80 column mode, dark background.Push <RETURN>[2J[?6h[?4h[12;13r[2J[24BSoft scroll up region [12..13] size 2 Line 1
+Soft scroll up region [12..13] size 2 Line 2
+Soft scroll up region [12..13] size 2 Line 3
+Soft scroll up region [12..13] size 2 Line 4
+Soft scroll up region [12..13] size 2 Line 5
+Soft scroll up region [12..13] size 2 Line 6
+Soft scroll up region [12..13] size 2 Line 7
+Soft scroll up region [12..13] size 2 Line 8
+Soft scroll up region [12..13] size 2 Line 9
+Soft scroll up region [12..13] size 2 Line 10
+Soft scroll up region [12..13] size 2 Line 11
+Soft scroll up region [12..13] size 2 Line 12
+Soft scroll up region [12..13] size 2 Line 13
+Soft scroll up region [12..13] size 2 Line 14
+Soft scroll up region [12..13] size 2 Line 15
+Soft scroll up region [12..13] size 2 Line 16
+Soft scroll up region [12..13] size 2 Line 17
+Soft scroll up region [12..13] size 2 Line 18
+Soft scroll up region [12..13] size 2 Line 19
+Soft scroll up region [12..13] size 2 Line 20
+Soft scroll up region [12..13] size 2 Line 21
+Soft scroll up region [12..13] size 2 Line 22
+Soft scroll up region [12..13] size 2 Line 23
+Soft scroll up region [12..13] size 2 Line 24
+Soft scroll up region [12..13] size 2 Line 25
+Soft scroll up region [12..13] size 2 Line 26
+Soft scroll up region [12..13] size 2 Line 27
+Soft scroll up region [12..13] size 2 Line 28
+Soft scroll up region [12..13] size 2 Line 29
+[24ASoft scroll down region [12..13] size 2 Line 1
+MMSoft scroll down region [12..13] size 2 Line 2
+MMSoft scroll down region [12..13] size 2 Line 3
+MMSoft scroll down region [12..13] size 2 Line 4
+MMSoft scroll down region [12..13] size 2 Line 5
+MMSoft scroll down region [12..13] size 2 Line 6
+MMSoft scroll down region [12..13] size 2 Line 7
+MMSoft scroll down region [12..13] size 2 Line 8
+MMSoft scroll down region [12..13] size 2 Line 9
+MMSoft scroll down region [12..13] size 2 Line 10
+MMSoft scroll down region [12..13] size 2 Line 11
+MMSoft scroll down region [12..13] size 2 Line 12
+MMSoft scroll down region [12..13] size 2 Line 13
+MMSoft scroll down region [12..13] size 2 Line 14
+MMSoft scroll down region [12..13] size 2 Line 15
+MMSoft scroll down region [12..13] size 2 Line 16
+MMSoft scroll down region [12..13] size 2 Line 17
+MMSoft scroll down region [12..13] size 2 Line 18
+MMSoft scroll down region [12..13] size 2 Line 19
+MMSoft scroll down region [12..13] size 2 Line 20
+MMSoft scroll down region [12..13] size 2 Line 21
+MMSoft scroll down region [12..13] size 2 Line 22
+MMSoft scroll down region [12..13] size 2 Line 23
+MMSoft scroll down region [12..13] size 2 Line 24
+MMSoft scroll down region [12..13] size 2 Line 25
+MMSoft scroll down region [12..13] size 2 Line 26
+MMSoft scroll down region [12..13] size 2 Line 27
+MMSoft scroll down region [12..13] size 2 Line 28
+MMSoft scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BSoft scroll up region [1..24] size 24 Line 1
+Soft scroll up region [1..24] size 24 Line 2
+Soft scroll up region [1..24] size 24 Line 3
+Soft scroll up region [1..24] size 24 Line 4
+Soft scroll up region [1..24] size 24 Line 5
+Soft scroll up region [1..24] size 24 Line 6
+Soft scroll up region [1..24] size 24 Line 7
+Soft scroll up region [1..24] size 24 Line 8
+Soft scroll up region [1..24] size 24 Line 9
+Soft scroll up region [1..24] size 24 Line 10
+Soft scroll up region [1..24] size 24 Line 11
+Soft scroll up region [1..24] size 24 Line 12
+Soft scroll up region [1..24] size 24 Line 13
+Soft scroll up region [1..24] size 24 Line 14
+Soft scroll up region [1..24] size 24 Line 15
+Soft scroll up region [1..24] size 24 Line 16
+Soft scroll up region [1..24] size 24 Line 17
+Soft scroll up region [1..24] size 24 Line 18
+Soft scroll up region [1..24] size 24 Line 19
+Soft scroll up region [1..24] size 24 Line 20
+Soft scroll up region [1..24] size 24 Line 21
+Soft scroll up region [1..24] size 24 Line 22
+Soft scroll up region [1..24] size 24 Line 23
+Soft scroll up region [1..24] size 24 Line 24
+Soft scroll up region [1..24] size 24 Line 25
+Soft scroll up region [1..24] size 24 Line 26
+Soft scroll up region [1..24] size 24 Line 27
+Soft scroll up region [1..24] size 24 Line 28
+Soft scroll up region [1..24] size 24 Line 29
+[24ASoft scroll down region [1..24] size 24 Line 1
+MMSoft scroll down region [1..24] size 24 Line 2
+MMSoft scroll down region [1..24] size 24 Line 3
+MMSoft scroll down region [1..24] size 24 Line 4
+MMSoft scroll down region [1..24] size 24 Line 5
+MMSoft scroll down region [1..24] size 24 Line 6
+MMSoft scroll down region [1..24] size 24 Line 7
+MMSoft scroll down region [1..24] size 24 Line 8
+MMSoft scroll down region [1..24] size 24 Line 9
+MMSoft scroll down region [1..24] size 24 Line 10
+MMSoft scroll down region [1..24] size 24 Line 11
+MMSoft scroll down region [1..24] size 24 Line 12
+MMSoft scroll down region [1..24] size 24 Line 13
+MMSoft scroll down region [1..24] size 24 Line 14
+MMSoft scroll down region [1..24] size 24 Line 15
+MMSoft scroll down region [1..24] size 24 Line 16
+MMSoft scroll down region [1..24] size 24 Line 17
+MMSoft scroll down region [1..24] size 24 Line 18
+MMSoft scroll down region [1..24] size 24 Line 19
+MMSoft scroll down region [1..24] size 24 Line 20
+MMSoft scroll down region [1..24] size 24 Line 21
+MMSoft scroll down region [1..24] size 24 Line 22
+MMSoft scroll down region [1..24] size 24 Line 23
+MMSoft scroll down region [1..24] size 24 Line 24
+MMSoft scroll down region [1..24] size 24 Line 25
+MMSoft scroll down region [1..24] size 24 Line 26
+MMSoft scroll down region [1..24] size 24 Line 27
+MMSoft scroll down region [1..24] size 24 Line 28
+MMSoft scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>[?4l[12;13r[2J[24BJump scroll up region [12..13] size 2 Line 1
+Jump scroll up region [12..13] size 2 Line 2
+Jump scroll up region [12..13] size 2 Line 3
+Jump scroll up region [12..13] size 2 Line 4
+Jump scroll up region [12..13] size 2 Line 5
+Jump scroll up region [12..13] size 2 Line 6
+Jump scroll up region [12..13] size 2 Line 7
+Jump scroll up region [12..13] size 2 Line 8
+Jump scroll up region [12..13] size 2 Line 9
+Jump scroll up region [12..13] size 2 Line 10
+Jump scroll up region [12..13] size 2 Line 11
+Jump scroll up region [12..13] size 2 Line 12
+Jump scroll up region [12..13] size 2 Line 13
+Jump scroll up region [12..13] size 2 Line 14
+Jump scroll up region [12..13] size 2 Line 15
+Jump scroll up region [12..13] size 2 Line 16
+Jump scroll up region [12..13] size 2 Line 17
+Jump scroll up region [12..13] size 2 Line 18
+Jump scroll up region [12..13] size 2 Line 19
+Jump scroll up region [12..13] size 2 Line 20
+Jump scroll up region [12..13] size 2 Line 21
+Jump scroll up region [12..13] size 2 Line 22
+Jump scroll up region [12..13] size 2 Line 23
+Jump scroll up region [12..13] size 2 Line 24
+Jump scroll up region [12..13] size 2 Line 25
+Jump scroll up region [12..13] size 2 Line 26
+Jump scroll up region [12..13] size 2 Line 27
+Jump scroll up region [12..13] size 2 Line 28
+Jump scroll up region [12..13] size 2 Line 29
+[24AJump scroll down region [12..13] size 2 Line 1
+MMJump scroll down region [12..13] size 2 Line 2
+MMJump scroll down region [12..13] size 2 Line 3
+MMJump scroll down region [12..13] size 2 Line 4
+MMJump scroll down region [12..13] size 2 Line 5
+MMJump scroll down region [12..13] size 2 Line 6
+MMJump scroll down region [12..13] size 2 Line 7
+MMJump scroll down region [12..13] size 2 Line 8
+MMJump scroll down region [12..13] size 2 Line 9
+MMJump scroll down region [12..13] size 2 Line 10
+MMJump scroll down region [12..13] size 2 Line 11
+MMJump scroll down region [12..13] size 2 Line 12
+MMJump scroll down region [12..13] size 2 Line 13
+MMJump scroll down region [12..13] size 2 Line 14
+MMJump scroll down region [12..13] size 2 Line 15
+MMJump scroll down region [12..13] size 2 Line 16
+MMJump scroll down region [12..13] size 2 Line 17
+MMJump scroll down region [12..13] size 2 Line 18
+MMJump scroll down region [12..13] size 2 Line 19
+MMJump scroll down region [12..13] size 2 Line 20
+MMJump scroll down region [12..13] size 2 Line 21
+MMJump scroll down region [12..13] size 2 Line 22
+MMJump scroll down region [12..13] size 2 Line 23
+MMJump scroll down region [12..13] size 2 Line 24
+MMJump scroll down region [12..13] size 2 Line 25
+MMJump scroll down region [12..13] size 2 Line 26
+MMJump scroll down region [12..13] size 2 Line 27
+MMJump scroll down region [12..13] size 2 Line 28
+MMJump scroll down region [12..13] size 2 Line 29
+MMPush <RETURN>[1;24r[2J[24BJump scroll up region [1..24] size 24 Line 1
+Jump scroll up region [1..24] size 24 Line 2
+Jump scroll up region [1..24] size 24 Line 3
+Jump scroll up region [1..24] size 24 Line 4
+Jump scroll up region [1..24] size 24 Line 5
+Jump scroll up region [1..24] size 24 Line 6
+Jump scroll up region [1..24] size 24 Line 7
+Jump scroll up region [1..24] size 24 Line 8
+Jump scroll up region [1..24] size 24 Line 9
+Jump scroll up region [1..24] size 24 Line 10
+Jump scroll up region [1..24] size 24 Line 11
+Jump scroll up region [1..24] size 24 Line 12
+Jump scroll up region [1..24] size 24 Line 13
+Jump scroll up region [1..24] size 24 Line 14
+Jump scroll up region [1..24] size 24 Line 15
+Jump scroll up region [1..24] size 24 Line 16
+Jump scroll up region [1..24] size 24 Line 17
+Jump scroll up region [1..24] size 24 Line 18
+Jump scroll up region [1..24] size 24 Line 19
+Jump scroll up region [1..24] size 24 Line 20
+Jump scroll up region [1..24] size 24 Line 21
+Jump scroll up region [1..24] size 24 Line 22
+Jump scroll up region [1..24] size 24 Line 23
+Jump scroll up region [1..24] size 24 Line 24
+Jump scroll up region [1..24] size 24 Line 25
+Jump scroll up region [1..24] size 24 Line 26
+Jump scroll up region [1..24] size 24 Line 27
+Jump scroll up region [1..24] size 24 Line 28
+Jump scroll up region [1..24] size 24 Line 29
+[24AJump scroll down region [1..24] size 24 Line 1
+MMJump scroll down region [1..24] size 24 Line 2
+MMJump scroll down region [1..24] size 24 Line 3
+MMJump scroll down region [1..24] size 24 Line 4
+MMJump scroll down region [1..24] size 24 Line 5
+MMJump scroll down region [1..24] size 24 Line 6
+MMJump scroll down region [1..24] size 24 Line 7
+MMJump scroll down region [1..24] size 24 Line 8
+MMJump scroll down region [1..24] size 24 Line 9
+MMJump scroll down region [1..24] size 24 Line 10
+MMJump scroll down region [1..24] size 24 Line 11
+MMJump scroll down region [1..24] size 24 Line 12
+MMJump scroll down region [1..24] size 24 Line 13
+MMJump scroll down region [1..24] size 24 Line 14
+MMJump scroll down region [1..24] size 24 Line 15
+MMJump scroll down region [1..24] size 24 Line 16
+MMJump scroll down region [1..24] size 24 Line 17
+MMJump scroll down region [1..24] size 24 Line 18
+MMJump scroll down region [1..24] size 24 Line 19
+MMJump scroll down region [1..24] size 24 Line 20
+MMJump scroll down region [1..24] size 24 Line 21
+MMJump scroll down region [1..24] size 24 Line 22
+MMJump scroll down region [1..24] size 24 Line 23
+MMJump scroll down region [1..24] size 24 Line 24
+MMJump scroll down region [1..24] size 24 Line 25
+MMJump scroll down region [1..24] size 24 Line 26
+MMJump scroll down region [1..24] size 24 Line 27
+MMJump scroll down region [1..24] size 24 Line 28
+MMJump scroll down region [1..24] size 24 Line 29
+MMPush <RETURN>
\ No newline at end of file diff --git a/src/tests/fixtures/vttest3-0 b/src/tests/fixtures/vttest3-0 new file mode 100644 index 00000000..33f3324f --- /dev/null +++ b/src/tests/fixtures/vttest3-0 @@ -0,0 +1,20 @@ +[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 [32mvttest-2(B[m ⨯ [K[44C[38;2;85;85;85m17:45:13(B[m
[72C
[28C
[28Cv[J[67C[38;2;85;85;85m17:45:13(B[m
[96C
[29C[91mv[67C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[29C[38;2;85;85;85mttest[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[29C[91mt[38;2;85;85;85mtest[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[30C[91mt[38;2;85;85;85mest[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[31C[91me[38;2;85;85;85mst[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[32C[91ms[38;2;85;85;85mt[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[33C[91mt[62C[30m(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[34C[1mvttest[62C(B[m[38;2;85;85;85m17:45:13(B[m
[96C
[34C[62C[38;2;85;85;85m17:45:13(B[m
[96C
[34C
+[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): 3
+[2J[?42l(B)B*B+B[1;10HSelected as G0 (with SI)[1;48HSelected as G1 (with SO))B(B[3;1H[1mCharacter set B (US ASCII)[0m(B)B[4;10H !"#$%&'()*+,-./0123456789:;<=>?[5;10H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[6;10H`abcdefghijklmnopqrstuvwxyz{|}~)B(B[4;48H !"#$%&'()*+,-./0123456789:;<=>?[5;48H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[6;48H`abcdefghijklmnopqrstuvwxyz{|}~)B(B[7;1H[1mCharacter set A (British)[0m(A)B[8;10H !"#$%&'()*+,-./0123456789:;<=>?[9;10H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[10;10H`abcdefghijklmnopqrstuvwxyz{|}~)A(B[8;48H !"#$%&'()*+,-./0123456789:;<=>?[9;48H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[10;48H`abcdefghijklmnopqrstuvwxyz{|}~)B(B[11;1H[1mCharacter set 0 (DEC Special graphics and line drawing)[0m(0)B[12;10H !"#$%&'()*+,-./0123456789:;<=>?[13;10H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[14;10H`abcdefghijklmnopqrstuvwxyz{|}~)0(B[12;48H !"#$%&'()*+,-./0123456789:;<=>?[13;48H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[14;48H`abcdefghijklmnopqrstuvwxyz{|}~)B(B[15;1H[1mCharacter set 1 (DEC Alternate character ROM standard characters)[0m(1)B[16;10H !"#$%&'()*+,-./0123456789:;<=>?[17;10H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[18;10H`abcdefghijklmnopqrstuvwxyz{|}~)1(B[16;48H !"#$%&'()*+,-./0123456789:;<=>?[17;48H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[18;48H`abcdefghijklmnopqrstuvwxyz{|}~)B(B[19;1H[1mCharacter set 2 (DEC Alternate character ROM special graphics)[0m(2)B[20;10H !"#$%&'()*+,-./0123456789:;<=>?[21;10H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[22;10H`abcdefghijklmnopqrstuvwxyz{|}~)2(B[20;48H !"#$%&'()*+,-./0123456789:;<=>?[21;48H@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_[22;48H`abcdefghijklmnopqrstuvwxyz{|}~(B)B[24;1HThese are the installed character sets. Push <RETURN>
\ No newline at end of file |
