aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mode.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-02 12:33:54 -0400
committerJesse Luehrs <doy@tozt.net>2019-11-02 12:35:52 -0400
commite50e3c4fe311d03d90c7bfb43b7612317fe183c0 (patch)
tree9b47b60dbd0e4d5c793a2f23c334c17f41cd81a8 /tests/mode.rs
parente688ce7f57f126c5fa183ec74cc09f37df0bae8b (diff)
downloadvt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.tar.gz
vt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.zip
improve mouse mode handling
Diffstat (limited to 'tests/mode.rs')
-rw-r--r--tests/mode.rs126
1 files changed, 106 insertions, 20 deletions
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());
}