aboutsummaryrefslogtreecommitdiffstats
path: root/tests
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
parente688ce7f57f126c5fa183ec74cc09f37df0bae8b (diff)
downloadvt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.tar.gz
vt100-rust-e50e3c4fe311d03d90c7bfb43b7612317fe183c0.zip
improve mouse mode handling
Diffstat (limited to 'tests')
-rw-r--r--tests/escape.rs10
-rw-r--r--tests/mode.rs126
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());
}