aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-05-07 19:47:55 -0400
committerJesse Luehrs <doy@tozt.net>2016-05-07 19:47:55 -0400
commit78815f01551fbea829047c54bb5196a01abdc64f (patch)
tree286f640a29e8bf677a79e18979214be83b89dcf5
parent478d24bdbcba13b43ca77c05c9fdf04f8adb9079 (diff)
downloadvt100-rust-78815f01551fbea829047c54bb5196a01abdc64f.tar.gz
vt100-rust-78815f01551fbea829047c54bb5196a01abdc64f.zip
add some more tests for a bug i fixed in libvt100
-rw-r--r--tests/text.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/text.rs b/tests/text.rs
index 73a0398..5e33e0d 100644
--- a/tests/text.rs
+++ b/tests/text.rs
@@ -91,4 +91,52 @@ fn wrap() {
screen.assert_process(b"\x1b[5H01234567890123456789012345678901234567890123456789012345678901234567890123456789");
screen.assert_process(b"\x1b[6H01234567890123456789012345678901234567890123456789012345678901234567890123456789");
assert_eq!(screen.window_contents(0, 0, 23, 79), "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\n\n01234567890123456789012345678901234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789012345678901234567890123456789\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+
+ screen.assert_process(b"\x1b[H\x1b[J");
+ screen.assert_process(b"0123456789012345678901234567890123456789012345678901234567890123456789012345678");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "0123456789012345678901234567890123456789012345678901234567890123456789012345678\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (0, 79));
+ screen.assert_process(b"9");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "01234567890123456789012345678901234567890123456789012345678901234567890123456789\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (0, 80));
+ screen.assert_process(b"a");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "01234567890123456789012345678901234567890123456789012345678901234567890123456789a\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (1, 1));
+ screen.assert_process(b"b");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "01234567890123456789012345678901234567890123456789012345678901234567890123456789ab\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (1, 2));
+
+ screen.assert_process(b"\x1b[H\x1b[J");
+ screen.assert_process(b"012345678901234567890123456789012345678901234567890123456789012345678901234567");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "012345678901234567890123456789012345678901234567890123456789012345678901234567\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (0, 78));
+ screen.assert_process("ネ".as_bytes());
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "012345678901234567890123456789012345678901234567890123456789012345678901234567ネ\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (0, 80));
+ screen.assert_process(b"a");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "012345678901234567890123456789012345678901234567890123456789012345678901234567ネa\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (1, 1));
+ assert_eq!(screen.cell(0, 77).unwrap().contents(), "7");
+ assert_eq!(screen.cell(0, 78).unwrap().contents(), "ネ");
+ assert_eq!(screen.cell(0, 79).unwrap().contents(), "");
+ assert_eq!(screen.cell(1, 0).unwrap().contents(), "a");
+ assert_eq!(screen.cell(1, 1).unwrap().contents(), "");
+
+ screen.assert_process(b"\x1b[H\x1b[J");
+ screen.assert_process(b"0123456789012345678901234567890123456789012345678901234567890123456789012345678");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "0123456789012345678901234567890123456789012345678901234567890123456789012345678\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (0, 79));
+ screen.assert_process("ネ".as_bytes());
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "0123456789012345678901234567890123456789012345678901234567890123456789012345678ネ\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (1, 2));
+ screen.assert_process(b"a");
+ assert_eq!(screen.window_contents(0, 0, 23, 79), "0123456789012345678901234567890123456789012345678901234567890123456789012345678ネa\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
+ assert_eq!(screen.cursor_position(), (1, 3));
+ assert_eq!(screen.cell(0, 77).unwrap().contents(), "7");
+ assert_eq!(screen.cell(0, 78).unwrap().contents(), "8");
+ assert_eq!(screen.cell(0, 79).unwrap().contents(), "");
+ assert_eq!(screen.cell(1, 0).unwrap().contents(), "ネ");
+ assert_eq!(screen.cell(1, 1).unwrap().contents(), "");
+ assert_eq!(screen.cell(1, 2).unwrap().contents(), "a");
+ assert_eq!(screen.cell(1, 3).unwrap().contents(), "");
}