use super::*;
#[test]
fn line_drawing_charset() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"\x1b(0lqqk");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "┌");
assert_eq!(screen.cell(0, 1).unwrap().contents(), "─");
assert_eq!(screen.cell(0, 2).unwrap().contents(), "─");
assert_eq!(screen.cell(0, 3).unwrap().contents(), "┐");
}
#[test]
fn si_so_switching() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"\x1b)0A\x0eq\x0fB");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "A");
assert_eq!(screen.cell(0, 1).unwrap().contents(), "─"); assert_eq!(screen.cell(0, 2).unwrap().contents(), "B"); }
#[test]
fn charset_reset_by_ris() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"\x1b(0\x1bcq");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "q");
}
#[test]
fn charset_saved_with_cursor() {
let mut parser = crate::Parser::new(TerminalSize { rows: 24, cols: 80 }, 0);
process(&mut parser, b"\x1b(0\x1b[6G\x1b7\x1b(B\x1b[1Gq\x1b8q");
let screen = parser.screen();
assert_eq!(screen.cell(0, 0).unwrap().contents(), "q");
assert_eq!(screen.cell(0, 5).unwrap().contents(), "\u{2500}");
}