use super::*;
#[test]
fn insert_mode_shifts_text() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"BC\x1b[1G\x1b[4hA");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "A");
assert_eq!(screen.cell(0, 1).unwrap().contents(), "B");
assert_eq!(screen.cell(0, 2).unwrap().contents(), "C");
}
#[test]
fn insert_mode_off_overwrites() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"BC\x1b[4h\x1b[4l\x1b[1GA");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "A");
assert_eq!(screen.cell(0, 1).unwrap().contents(), "C");
}
#[test]
fn insert_mode_reset_by_ris() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"\x1b[4h\x1bc");
process(&mut parser, b"BC\x1b[1GA");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "A");
assert_eq!(screen.cell(0, 1).unwrap().contents(), "C");
}