aboutsummaryrefslogtreecommitdiffstats
path: root/tests/escape.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/escape.rs')
-rw-r--r--tests/escape.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/escape.rs b/tests/escape.rs
index e08a402..96ee762 100644
--- a/tests/escape.rs
+++ b/tests/escape.rs
@@ -125,13 +125,32 @@ fn ris() {
fn vb() {
let mut parser = vt100::Parser::default();
assert_eq!(parser.screen().visual_bell_count(), 0);
+
+ let screen = parser.screen().clone();
parser.process(b"\x1bg");
assert_eq!(parser.screen().visual_bell_count(), 1);
assert_eq!(parser.screen().visual_bell_count(), 1);
+ assert_eq!(parser.screen().contents_diff(&screen), b"\x1bg");
+
+ let screen = parser.screen().clone();
parser.process(b"\x1bg");
assert_eq!(parser.screen().visual_bell_count(), 2);
+ assert_eq!(parser.screen().contents_diff(&screen), b"\x1bg");
+
+ let screen = parser.screen().clone();
parser.process(b"\x1bg\x1bg\x1bg");
assert_eq!(parser.screen().visual_bell_count(), 5);
+ assert_eq!(parser.screen().contents_diff(&screen), b"\x1bg");
+
+ let screen = parser.screen().clone();
+ parser.process(b"foo");
+ assert_eq!(parser.screen().visual_bell_count(), 5);
+ assert_eq!(parser.screen().contents_diff(&screen), b"foo");
+
+ let screen = parser.screen().clone();
+ parser.process(b"ba\x1bgr");
+ assert_eq!(parser.screen().visual_bell_count(), 6);
+ assert_eq!(parser.screen().contents_diff(&screen), b"bar\x1bg");
}
#[test]