diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-02 14:52:30 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-02 14:52:30 -0400 |
commit | bf8b298d125a29321947867a6f60ea133ebe3675 (patch) | |
tree | 87be517ccfe2d7db1b933fc676f145e768717f29 /tests/basic.rs | |
parent | 031e1936c74463f187d012238bcf6b187e3c1a1f (diff) | |
download | vt100-rust-bf8b298d125a29321947867a6f60ea133ebe3675.tar.gz vt100-rust-bf8b298d125a29321947867a6f60ea133ebe3675.zip |
fix screen resizing
Diffstat (limited to 'tests/basic.rs')
-rw-r--r-- | tests/basic.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/basic.rs b/tests/basic.rs index 46d9265..0d97bb5 100644 --- a/tests/basic.rs +++ b/tests/basic.rs @@ -18,10 +18,40 @@ fn set_window_size() { let mut screen = vt100::Screen::new(24, 80); assert_eq!(screen.rows(), 24); assert_eq!(screen.cols(), 80); + assert_eq!(screen.cursor_position(), (0, 0)); screen.set_window_size(34, 8); assert_eq!(screen.rows(), 34); assert_eq!(screen.cols(), 8); + assert_eq!(screen.cursor_position(), (0, 0)); + + screen.process(b"\x1b[30;5H"); + assert_eq!(screen.cursor_position(), (29, 4)); + + screen.set_window_size(24, 80); + assert_eq!(screen.rows(), 24); + assert_eq!(screen.cols(), 80); + assert_eq!(screen.cursor_position(), (23, 4)); + + screen.set_window_size(34, 8); + assert_eq!(screen.rows(), 34); + assert_eq!(screen.cols(), 8); + assert_eq!(screen.cursor_position(), (23, 4)); + + screen.process(b"\x1b[?1049h"); + assert_eq!(screen.rows(), 34); + assert_eq!(screen.cols(), 8); + assert_eq!(screen.cursor_position(), (0, 0)); + + screen.set_window_size(24, 80); + assert_eq!(screen.rows(), 24); + assert_eq!(screen.cols(), 80); + assert_eq!(screen.cursor_position(), (0, 0)); + + screen.process(b"\x1b[?1049l"); + assert_eq!(screen.rows(), 24); + assert_eq!(screen.cols(), 80); + assert_eq!(screen.cursor_position(), (23, 4)); } #[test] |