aboutsummaryrefslogtreecommitdiffstats
path: root/tests/window_contents.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-10 04:51:22 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-10 08:07:38 -0500
commitb04c0e6e97765aeb888479c5e0bc27d54de60659 (patch)
treef8ebeae6cfaecd309152dd6cde5dd14cfdba3083 /tests/window_contents.rs
parent7cd6962a9ef544049bb637c17506f794f0a37f4d (diff)
downloadvt100-rust-b04c0e6e97765aeb888479c5e0bc27d54de60659.tar.gz
vt100-rust-b04c0e6e97765aeb888479c5e0bc27d54de60659.zip
optimize cursor movement a bit
Diffstat (limited to 'tests/window_contents.rs')
-rw-r--r--tests/window_contents.rs39
1 files changed, 13 insertions, 26 deletions
diff --git a/tests/window_contents.rs b/tests/window_contents.rs
index d7a3b13..0df62ef 100644
--- a/tests/window_contents.rs
+++ b/tests/window_contents.rs
@@ -71,7 +71,7 @@ fn empty_cells() {
assert_eq!(parser.screen().contents(), "foo bar");
assert_eq!(
parser.screen().contents_formatted(),
- &b"\x1b[?25h\x1b[m\x1b[H\x1b[J\x1b[31mfoo\x1b[m\x1b[C\x1b[C\x1b[32m bar\x1b[1;4H"[..]
+ &b"\x1b[?25h\x1b[m\x1b[H\x1b[J\x1b[31mfoo\x1b[2C\x1b[32m bar\x1b[1;4H"[..]
);
}
@@ -87,7 +87,7 @@ fn cursor_positioning() {
parser.screen().contents_formatted(),
b"\x1b[?25h\x1b[m\x1b[H\x1b[J:"
);
- assert_eq!(parser.screen().contents_diff(&screen1), b"\x1b[m\x1b[H:");
+ assert_eq!(parser.screen().contents_diff(&screen1), b"\x1b[m:");
parser.process(b"a");
let screen3 = parser.screen().clone();
@@ -96,10 +96,7 @@ fn cursor_positioning() {
parser.screen().contents_formatted(),
b"\x1b[?25h\x1b[m\x1b[H\x1b[J:a"
);
- assert_eq!(
- parser.screen().contents_diff(&screen2),
- b"\x1b[m\x1b[H\x1b[Ca"
- );
+ assert_eq!(parser.screen().contents_diff(&screen2), b"\x1b[ma");
parser.process(b"\x1b[1;2H\x1b[K");
assert_eq!(parser.screen().cursor_position(), (0, 1));
@@ -109,7 +106,7 @@ fn cursor_positioning() {
);
assert_eq!(
parser.screen().contents_diff(&screen3),
- b"\x1b[m\x1b[H\x1b[C\x1b[X\x1b[C\x1b[1;2H"
+ b"\x1b[m\x1b[1;2H\x1b[X"
);
}
@@ -267,9 +264,7 @@ fn rows() {
]
);
assert_eq!(
- screen2
- .rows_formatted(0, 80)
- .collect::<Vec<Vec<u8>>>(),
+ screen2.rows_formatted(0, 80).collect::<Vec<Vec<u8>>>(),
vec![
b"\x1b[31mfoo".to_vec(),
vec![],
@@ -280,7 +275,7 @@ fn rows() {
vec![],
vec![],
vec![],
- b"\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[32mbar".to_vec(),
+ b"\x1b[9C\x1b[32mbar".to_vec(),
vec![],
vec![],
vec![],
@@ -290,7 +285,7 @@ fn rows() {
vec![],
vec![],
vec![],
- b"\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[33mbaz".to_vec(),
+ b"\x1b[19C\x1b[33mbaz".to_vec(),
vec![],
vec![],
vec![],
@@ -327,9 +322,7 @@ fn rows() {
]
);
assert_eq!(
- screen2
- .rows_formatted(5, 15)
- .collect::<Vec<Vec<u8>>>(),
+ screen2.rows_formatted(5, 15).collect::<Vec<Vec<u8>>>(),
vec![
vec![],
vec![],
@@ -340,7 +333,7 @@ fn rows() {
vec![],
vec![],
vec![],
- b"\x1b[C\x1b[C\x1b[C\x1b[C\x1b[32mbar".to_vec(),
+ b"\x1b[4C\x1b[32mbar".to_vec(),
vec![],
vec![],
vec![],
@@ -350,7 +343,7 @@ fn rows() {
vec![],
vec![],
vec![],
- b"\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[33mb".to_vec(),
+ b"\x1b[14C\x1b[33mb".to_vec(),
vec![],
vec![],
vec![],
@@ -429,7 +422,7 @@ fn diff() {
let screen2 = parser.screen().clone();
assert_eq!(
screen2.contents_diff(&screen1),
- b"\x1b[m\x1b[H\x1b[5C\x1b[32m bar"
+ b"\x1b[m\x1b[5C\x1b[32m bar"
);
compare_diff(&screen1, &screen2, b"");
@@ -440,18 +433,12 @@ fn diff() {
parser.process(b"\x1b[1;7H\x1b[32mbaz");
let screen4 = parser.screen().clone();
- assert_eq!(
- screen4.contents_diff(&screen3),
- b"\x1b[m\x1b[H\x1b[8C\x1b[32mz"
- );
+ assert_eq!(screen4.contents_diff(&screen3), b"\x1b[m\x1b[5C\x1b[32mz");
compare_diff(&screen3, &screen4, b"\x1b[5C\x1b[32m bar\x1b[H\x1b[31mfoo");
parser.process(b"\x1b[1;8H\x1b[X");
let screen5 = parser.screen().clone();
- assert_eq!(
- screen5.contents_diff(&screen4),
- b"\x1b[m\x1b[H\x1b[7C\x1b[X\x1b[C\x1b[1;8H"
- );
+ assert_eq!(screen5.contents_diff(&screen4), b"\x1b[m\x1b[1;8H\x1b[X");
compare_diff(
&screen4,
&screen5,