From b24fe512e41296a7af0c6cff20b6a37fcf720e26 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 12 Nov 2019 06:21:51 -0500 Subject: make contents_diff include bell state i don't think it makes sense for contents_formatted to include this --- tests/escape.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/escape.rs') 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] -- cgit v1.2.3-54-g00ecf