diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-12 06:21:51 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-12 06:23:10 -0500 |
commit | b24fe512e41296a7af0c6cff20b6a37fcf720e26 (patch) | |
tree | 46cdfefbc6977356d73c13c000e01baa3187320a /tests | |
parent | 28eea9f6a837dad5febfe9b021b7070e96b286f9 (diff) | |
download | vt100-rust-b24fe512e41296a7af0c6cff20b6a37fcf720e26.tar.gz vt100-rust-b24fe512e41296a7af0c6cff20b6a37fcf720e26.zip |
make contents_diff include bell state
i don't think it makes sense for contents_formatted to include this
Diffstat (limited to 'tests')
-rw-r--r-- | tests/control.rs | 16 | ||||
-rw-r--r-- | tests/escape.rs | 19 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/control.rs b/tests/control.rs index aba6915..8372cea 100644 --- a/tests/control.rs +++ b/tests/control.rs @@ -5,15 +5,31 @@ fn bel() { let mut parser = vt100::Parser::default(); assert_eq!(parser.screen().audible_bell_count(), 0); + let screen = parser.screen().clone(); parser.process(b"\x07"); assert_eq!(parser.screen().audible_bell_count(), 1); assert_eq!(parser.screen().audible_bell_count(), 1); + assert_eq!(parser.screen().contents_diff(&screen), b"\x07"); + let screen = parser.screen().clone(); parser.process(b"\x07"); assert_eq!(parser.screen().audible_bell_count(), 2); + assert_eq!(parser.screen().contents_diff(&screen), b"\x07"); + let screen = parser.screen().clone(); parser.process(b"\x07\x07\x07"); assert_eq!(parser.screen().audible_bell_count(), 5); + assert_eq!(parser.screen().contents_diff(&screen), b"\x07"); + + let screen = parser.screen().clone(); + parser.process(b"foo"); + assert_eq!(parser.screen().audible_bell_count(), 5); + assert_eq!(parser.screen().contents_diff(&screen), b"foo"); + + let screen = parser.screen().clone(); + parser.process(b"ba\x07r"); + assert_eq!(parser.screen().audible_bell_count(), 6); + assert_eq!(parser.screen().contents_diff(&screen), b"bar\x07"); } #[test] 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] |