From b04c0e6e97765aeb888479c5e0bc27d54de60659 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 10 Nov 2019 04:51:22 -0500 Subject: optimize cursor movement a bit --- tests/window_contents.rs | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) (limited to 'tests/window_contents.rs') 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::>>(), + screen2.rows_formatted(0, 80).collect::>>(), 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::>>(), + screen2.rows_formatted(5, 15).collect::>>(), 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, -- cgit v1.2.3-54-g00ecf