diff options
Diffstat (limited to 'tests/window_contents.rs')
-rw-r--r-- | tests/window_contents.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/window_contents.rs b/tests/window_contents.rs new file mode 100644 index 0000000..057cfb1 --- /dev/null +++ b/tests/window_contents.rs @@ -0,0 +1,26 @@ +#[test] +fn formatted() { + let mut screen = vt100::Screen::new(24, 80); + assert_eq!(screen.window_contents_formatted(0, 0 ,23, 79), "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); + + screen.process(b"foobar"); + assert!(!screen.cell(0, 2).unwrap().bold()); + assert!(!screen.cell(0, 3).unwrap().bold()); + assert!(!screen.cell(0, 4).unwrap().bold()); + assert!(!screen.cell(0, 5).unwrap().bold()); + assert_eq!(screen.window_contents_formatted(0, 0 ,23, 79), "foobar\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); + + screen.process(b"\x1b[1;4H\x1b[1;7m\x1b[33mb"); + assert!(!screen.cell(0, 2).unwrap().bold()); + assert!(screen.cell(0, 3).unwrap().bold()); + assert!(!screen.cell(0, 4).unwrap().bold()); + assert!(!screen.cell(0, 5).unwrap().bold()); + assert_eq!(screen.window_contents_formatted(0, 0 ,23, 79), "foo\x1b[33;1;7mb\x1b[mar\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); + + screen.process(b"\x1b[1;5H\x1b[22;42ma"); + assert!(!screen.cell(0, 2).unwrap().bold()); + assert!(screen.cell(0, 3).unwrap().bold()); + assert!(!screen.cell(0, 4).unwrap().bold()); + assert!(!screen.cell(0, 5).unwrap().bold()); + assert_eq!(screen.window_contents_formatted(0, 0 ,23, 79), "foo\x1b[33;1;7mb\x1b[42;22ma\x1b[mr\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); +} |