diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-02 12:33:54 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-02 12:35:52 -0400 |
commit | e50e3c4fe311d03d90c7bfb43b7612317fe183c0 (patch) | |
tree | 9b47b60dbd0e4d5c793a2f23c334c17f41cd81a8 /tests | |
parent | e688ce7f57f126c5fa183ec74cc09f37df0bae8b (diff) | |
download | vt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.tar.gz vt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.zip |
improve mouse mode handling
Diffstat (limited to 'tests')
-rw-r--r-- | tests/escape.rs | 10 | ||||
-rw-r--r-- | tests/mode.rs | 126 |
2 files changed, 113 insertions, 23 deletions
diff --git a/tests/escape.rs b/tests/escape.rs index 1651ee5..cf46241 100644 --- a/tests/escape.rs +++ b/tests/escape.rs @@ -59,7 +59,7 @@ fn ris() { assert!(!screen.check_visual_bell()); assert!(!screen.check_audible_bell()); - screen.process(b"f\x1b[31m\x1b[47;1;3;4moo\x1b[7m\x1b[21;21H\x1b]2;window title\x07\x1b]1;window icon name\x07\x1b[?25l\x1b[?1h\x1b=\x1b[?9h\x1b[?1000h\x1b[?1002h\x1b[?1006h\x1b[?2004h\x07\x1bg"); + screen.process(b"f\x1b[31m\x1b[47;1;3;4moo\x1b[7m\x1b[21;21H\x1b]2;window title\x07\x1b]1;window icon name\x07\x1b[?25l\x1b[?1h\x1b=\x1b[?9h\x1b[?1000h\x1b[?1006h\x1b[?2004h\x07\x1bg"); assert_eq!(screen.cursor_position(), (20, 20)); @@ -86,10 +86,12 @@ fn ris() { assert!(screen.hide_cursor()); assert!(screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press()); assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); assert!(screen.mouse_reporting_sgr_mode()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.bracketed_paste()); assert!(screen.check_visual_bell()); assert!(screen.check_audible_bell()); @@ -127,6 +129,8 @@ fn ris() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); assert!(!screen.check_visual_bell()); diff --git a/tests/mode.rs b/tests/mode.rs index 9658ad3..fb97e43 100644 --- a/tests/mode.rs +++ b/tests/mode.rs @@ -9,6 +9,8 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -20,6 +22,8 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -31,6 +35,8 @@ fn modes() { assert!(screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -42,6 +48,8 @@ fn modes() { assert!(screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -50,9 +58,11 @@ fn modes() { assert!(screen.hide_cursor()); assert!(!screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press()); assert!(screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -61,9 +71,37 @@ fn modes() { assert!(screen.hide_cursor()); assert!(!screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); + assert!(!screen.mouse_reporting_sgr_mode()); + assert!(!screen.bracketed_paste()); + + screen.process(b"\x1b[?1003h"); + + assert!(screen.hide_cursor()); + assert!(!screen.application_keypad()); + assert!(screen.application_cursor()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); + assert!(!screen.mouse_reporting_sgr_mode()); + assert!(!screen.bracketed_paste()); + + screen.process(b"\x1b[?1005h"); + + assert!(screen.hide_cursor()); + assert!(!screen.application_keypad()); + assert!(screen.application_cursor()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -72,9 +110,11 @@ fn modes() { assert!(screen.hide_cursor()); assert!(!screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -83,9 +123,11 @@ fn modes() { assert!(screen.hide_cursor()); assert!(!screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -94,9 +136,11 @@ fn modes() { assert!(screen.hide_cursor()); assert!(screen.application_keypad()); assert!(screen.application_cursor()); - assert!(screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -105,9 +149,11 @@ fn modes() { assert!(screen.hide_cursor()); assert!(screen.application_keypad()); assert!(!screen.application_cursor()); - assert!(screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -117,8 +163,10 @@ fn modes() { assert!(screen.application_keypad()); assert!(!screen.application_cursor()); assert!(!screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -128,8 +176,10 @@ fn modes() { assert!(screen.application_keypad()); assert!(!screen.application_cursor()); assert!(!screen.mouse_reporting_press()); - assert!(screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -140,7 +190,9 @@ fn modes() { assert!(!screen.application_cursor()); assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); - assert!(screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -152,6 +204,34 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); + assert!(screen.mouse_reporting_sgr_mode()); + assert!(screen.bracketed_paste()); + + screen.process(b"\x1b[?1003l"); + + assert!(!screen.hide_cursor()); + assert!(screen.application_keypad()); + assert!(!screen.application_cursor()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); + assert!(screen.mouse_reporting_sgr_mode()); + assert!(screen.bracketed_paste()); + + screen.process(b"\x1b[?1005l"); + + assert!(!screen.hide_cursor()); + assert!(screen.application_keypad()); + assert!(!screen.application_cursor()); + assert!(!screen.mouse_reporting_press()); + assert!(!screen.mouse_reporting_press_release()); + assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -163,6 +243,8 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(screen.bracketed_paste()); @@ -174,6 +256,8 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); @@ -185,6 +269,8 @@ fn modes() { assert!(!screen.mouse_reporting_press()); assert!(!screen.mouse_reporting_press_release()); assert!(!screen.mouse_reporting_button_motion()); + assert!(!screen.mouse_reporting_any_motion()); + assert!(!screen.mouse_reporting_utf8_mode()); assert!(!screen.mouse_reporting_sgr_mode()); assert!(!screen.bracketed_paste()); } |