diff options
author | Jesse Luehrs <doy@tozt.net> | 2016-05-07 19:47:55 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2016-05-07 19:47:55 -0400 |
commit | 78815f01551fbea829047c54bb5196a01abdc64f (patch) | |
tree | 286f640a29e8bf677a79e18979214be83b89dcf5 | |
parent | 478d24bdbcba13b43ca77c05c9fdf04f8adb9079 (diff) | |
download | vt100-rust-78815f01551fbea829047c54bb5196a01abdc64f.tar.gz vt100-rust-78815f01551fbea829047c54bb5196a01abdc64f.zip |
add some more tests for a bug i fixed in libvt100
-rw-r--r-- | tests/text.rs | 48 |
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(), ""); } |